1. 24 Nov, 2010 12 commits
  2. 23 Nov, 2010 10 commits
  3. 22 Nov, 2010 18 commits
    • Jeremy Fitzhardinge's avatar
      Merge branches 'upstream/core', 'upstream/xenfs' and 'upstream/evtchn' into upstream/for-linus · 9b832153
      Jeremy Fitzhardinge authored
      * upstream/core:
        xen/events: Use PIRQ instead of GSI value when unmapping MSI/MSI-X irqs.
        xen: set IO permission early (before early_cpu_init())
        xen: re-enable boot-time ballooning
        xen/balloon: make sure we only include remaining extra ram
        xen/balloon: the balloon_lock is useless
        xen: add extra pages to balloon
        xen/events: use locked set|clear_bit() for cpu_evtchn_mask
        xen/evtchn: clear secondary CPUs' cpu_evtchn_mask[] after restore
        xen: implement XENMEM_machphys_mapping
      
      * upstream/xenfs:
        Revert "xen/privcmd: create address space to allow writable mmaps"
        xen/xenfs: update xenfs_mount for new prototype
        xen: fix header export to userspace
        xen: set vma flag VM_PFNMAP in the privcmd mmap file_op
        xen: xenfs: privcmd: check put_user() return code
      
      * upstream/evtchn:
        xen: make evtchn's name less generic
        xen/evtchn: the evtchn device is non-seekable
        xen/evtchn: add missing static
        xen/evtchn: Fix name of Xen event-channel device
        xen/evtchn: don't do unbind_from_irqhandler under spinlock
        xen/evtchn: remove spurious barrier
        xen/evtchn: ports start enabled
        xen/evtchn: dynamically allocate port_user array
        xen/evtchn: track enabled state for each port
      9b832153
    • Konrad Rzeszutek Wilk's avatar
      xen/events: Use PIRQ instead of GSI value when unmapping MSI/MSI-X irqs. · 12334715
      Konrad Rzeszutek Wilk authored
      When we allocate a vector for MSI/MSI-X we save away the PIRQ, and the
      vector value. When we unmap (de-allocate) the MSI/MSI-X vector(s) we
      need to provide the PIRQ and the vector value. What we did instead
      was to provide the GSI (which was zero) and the vector value, and we
      got these unhappy error messages:
      
      (XEN) irq.c:1575: dom0: pirq 0 not mapped
      [    7.733415] unmap irq failed -22
      
      This patches fixes this and we use the PIRQ value instead of the GSI
      value.
      
      CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      12334715
    • Konrad Rzeszutek Wilk's avatar
      xen: set IO permission early (before early_cpu_init()) · ec35a69c
      Konrad Rzeszutek Wilk authored
      This patch is based off "xen dom0: Set up basic IO permissions for dom0."
      by Juan Quintela <quintela@redhat.com>.
      
      On AMD machines when we boot the kernel as Domain 0 we get this nasty:
      
      mapping kernel into physical memory
      Xen: setup ISA identity maps
      about to get started...
      (XEN) traps.c:475:d0 Unhandled general protection fault fault/trap [#13] on VCPU 0 [ec=0000]
      (XEN) domain_crash_sync called from entry.S
      (XEN) Domain 0 (vcpu#0) crashed on cpu#0:
      (XEN) ----[ Xen-4.1-101116  x86_64  debug=y  Not tainted ]----
      (XEN) CPU:    0
      (XEN) RIP:    e033:[<ffffffff8130271b>]
      (XEN) RFLAGS: 0000000000000282   EM: 1   CONTEXT: pv guest
      (XEN) rax: 000000008000c068   rbx: ffffffff8186c680   rcx: 0000000000000068
      (XEN) rdx: 0000000000000cf8   rsi: 000000000000c000   rdi: 0000000000000000
      (XEN) rbp: ffffffff81801e98   rsp: ffffffff81801e50   r8:  ffffffff81801eac
      (XEN) r9:  ffffffff81801ea8   r10: ffffffff81801eb4   r11: 00000000ffffffff
      (XEN) r12: ffffffff8186c694   r13: ffffffff81801f90   r14: ffffffffffffffff
      (XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 00000000000006f0
      (XEN) cr3: 0000000221803000   cr2: 0000000000000000
      (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e02b   cs: e033
      (XEN) Guest stack trace from rsp=ffffffff81801e50:
      
      RIP points to read_pci_config() function.
      
      The issue is that we don't set IO permissions for the Linux kernel early enough.
      
      The call sequence used to be:
      
          xen_start_kernel()
      	x86_init.oem.arch_setup = xen_setup_arch;
              setup_arch:
                 - early_cpu_init
                     - early_init_amd
                        - read_pci_config
                 - x86_init.oem.arch_setup [ xen_arch_setup ]
                     - set IO permissions.
      
      We need to set the IO permissions earlier on, which this patch does.
      Acked-by: default avatarJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      ec35a69c
    • David Daney's avatar
      of/phylib: Use device tree properties to initialize Marvell PHYs. · cf41a51d
      David Daney authored
      Some aspects of PHY initialization are board dependent, things like
      indicator LED connections and some clocking modes cannot be determined
      by probing.  The dev_flags element of struct phy_device can be used to
      control these things if an appropriate value can be passed from the
      Ethernet driver.  We run into problems however if the PHY connections
      are specified by the device tree.  There is no way for the Ethernet
      driver to know what flags it should pass.
      
      If we are using the device tree, the struct phy_device will be
      populated with the device tree node corresponding to the PHY, and we
      can extract extra configuration information from there.
      
      The next question is what should the format of that information be?
      It is highly device specific, and the device tree representation
      should not be tied to any arbitrary kernel defined constants.  A
      straight forward representation is just to specify the exact bits that
      should be set using the "marvell,reg-init" property:
      
            phy5: ethernet-phy@5 {
              reg = <5>;
              compatible = "marvell,88e1149r";
              marvell,reg-init =
                      /* led[0]:1000, led[1]:100, led[2]:10, led[3]:tx */
                      <3 0x10 0 0x5777>, /* Reg 3,16 <- 0x5777 */
                      /* mix %:0, led[0123]:drive low off hiZ */
                      <3 0x11 0 0x00aa>, /* Reg 3,17 <- 0x00aa */
                      /* default blink periods. */
                      <3 0x12 0 0x4105>, /* Reg 3,18 <- 0x4105 */
                      /* led[4]:rx, led[5]:dplx, led[45]:drive low off hiZ */
                      <3 0x13 0 0x0a60>; /* Reg 3,19 <- 0x0a60 */
            };
      
            phy6: ethernet-phy@6 {
              reg = <6>;
              compatible = "marvell,88e1118";
              marvell,reg-init =
                      /* Fix rx and tx clock transition timing */
                      <2 0x15 0xffcf 0>, /* Reg 2,21 Clear bits 4, 5 */
                      /* Adjust LED drive. */
                      <3 0x11 0 0x442a>, /* Reg 3,17 <- 0442a */
                      /* irq, blink-activity, blink-link */
                      <3 0x10 0 0x0242>; /* Reg 3,16 <- 0x0242 */
            };
      
      The Marvell PHYs have a page select register at register 22 (0x16), we
      can specify any register by its page and register number.  These are
      the first and second word.  The third word contains a mask to be ANDed
      with the existing register value, and the fourth word is ORed with the
      result to yield the new register value.  The new marvell_of_reg_init
      function leaves the page select register unchanged, so a call to it
      can be dropped into the .config_init functions without unduly
      affecting the state of the PHY.
      
      If CONFIG_OF_MDIO is not set, there is no of_node, or no
      "marvell,reg-init" property, the PHY initialization is unchanged.
      Signed-off-by: default avatarDavid Daney <ddaney@caviumnetworks.com>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Cyril Chemparathy <cyril@ti.com>
      Cc: David Daney <ddaney@caviumnetworks.com>
      Cc: Arnaud Patard <arnaud.patard@rtp-net.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Reviewed-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cf41a51d
    • David Daney's avatar
      phylib: Add support for Marvell 88E1149R devices. · 90600732
      David Daney authored
      The 88E1149R is 10/100/1000 quad-gigabit Ethernet PHY.  The
      .config_aneg function can be shared with 88E1118, but it needs its own
      .config_init.
      Signed-off-by: default avatarDavid Daney <ddaney@caviumnetworks.com>
      Cc: Cyril Chemparathy <cyril@ti.com>
      Cc: Arnaud Patard <arnaud.patard@rtp-net.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Wolfram Sang <w.sang@pengutronix.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      90600732
    • David Daney's avatar
      phylib: Use common page register definition for Marvell PHYs. · 27d916d6
      David Daney authored
      The definition of the Marvell PHY page register is not specific to
      88E1121, so rename the macro to MII_MARVELL_PHY_PAGE, and use it
      throughout.
      Suggested-by: default avatarCyril Chemparathy <cyril@ti.com>
      Signed-off-by: default avatarDavid Daney <ddaney@caviumnetworks.com>
      Cc: Cyril Chemparathy <cyril@ti.com>
      Cc: Arnaud Patard <arnaud.patard@rtp-net.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      27d916d6
    • Sonny Rao's avatar
      qlge: Fix incorrect usage of module parameters and netdev msg level · 84cf7029
      Sonny Rao authored
      Driver appears to be mistaking the permission field with default value
      in the case of debug and qlge_irq_type.
      
      Driver is also passing debug as a bitmask into netif_msg_init()
      which wants a number of bits.  Ron Mercer suggests we should
      change this to pass in -1 so the defaults get used instead,
      which makes the default much less verbose.
      Signed-off-by: default avatarMilton Miller <miltonm@bga.com>
      Signed-off-by: default avatarSonny Rao <sonnyrao@linux.vnet.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      84cf7029
    • John Fastabend's avatar
      ipv6: fix missing in6_ifa_put in addrconf · 88b2a9a3
      John Fastabend authored
      Fix ref count bug introduced by
      
      commit 2de79570
      Author: Lorenzo Colitti <lorenzo@google.com>
      Date:   Wed Oct 27 18:16:49 2010 +0000
      
      ipv6: addrconf: don't remove address state on ifdown if the address
      is being kept
      
      Fix logic so that addrconf_ifdown() decrements the inet6_ifaddr
      refcnt correctly with in6_ifa_put().
      Reported-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarJohn Fastabend <john.r.fastabend@intel.com>
      Acked-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      88b2a9a3
    • Kailang Yang's avatar
      ALSA: hda - Fixed ALC887-VD initial error · 01e0f137
      Kailang Yang authored
      ALC887-VD is like ALC888-VD. It can not be initialized as ALC882.
      Signed-off-by: default avatarKailang Yang <kailang@realtek.com>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      01e0f137
    • Takashi Iwai's avatar
      ALSA: atmel - Fix the return value in error path · 1beded5d
      Takashi Iwai authored
      In the commit c0763e68
          ALSA: snd-atmel-abdac: test wrong variable
      the return value via PTR_ERR() had to be fixed as well.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      1beded5d
    • Daniel T Chen's avatar
      ALSA: hda: Use hp-laptop quirk to enable headphones automute for Asus A52J · 673f7a89
      Daniel T Chen authored
      BugLink: https://launchpad.net/bugs/677652
      
      The original reporter states that, in 2.6.35, headphones do not appear
      to work, nor does inserting them mute the A52J's onboard speakers.  Upon
      inspecting the codec dump, it appears that the newly committed hp-laptop
      quirk will suffice to enable this basic functionality.  Testing was done
      with an alsa-driver build from 2010-11-21.
      
      Reported-and-tested-by: Joan Creus
      Cc: <stable@kernel.org> [2.6.35+]
      Signed-off-by: default avatarDaniel T Chen <crimsun@ubuntu.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      673f7a89
    • Vasiliy Kulikov's avatar
      ALSA: snd-atmel-abdac: test wrong variable · c0763e68
      Vasiliy Kulikov authored
      After clk_get() pclk is checked second time instead of sample_clk check.
      Signed-off-by: default avatarVasiliy Kulikov <segoon@openwall.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      c0763e68
    • Andreas Mohr's avatar
      ALSA: azt3328: period bug fix (for PA), add missing ACK on stop timer · 78ac07b0
      Andreas Mohr authored
      . Fix PulseAudio "ALSA driver bug" issue
        (if we have two alternated areas within a 64k DMA buffer, then max
        period size should obviously be 32k only).
        Back references:
         http://pulseaudio.org/wiki/AlsaIssues
         http://fedoraproject.org/wiki/Features/GlitchFreeAudio
      . In stop timer function, need to supply ACK in the timer control byte.
      . Minor log output correction
      
      When I did my first PA testing recently, the period size bug resulted
      in quite precisely observeable half-period-based playback distortion.
      
      PA-based operation is quite a bit more underrun-prone (despite its
      zero-copy optimizations etc.) than raw ALSA with this rather spartan
      sound hardware implementation on my puny Athlon.
      
      Note that even with this patch, azt3328 still doesn't work for both
      cases yet, PA tsched=0 and tsched
      (on tsched=0 it will playback tiny fragments of periods, leading to tiny
      stuttering sounds with some pauses in between, whereas with
      timer-scheduled operation playback works fine - minus some quite increased
      underrun trouble on PA vs. ALSA, that is).
      Signed-off-by: default avatarAndreas Mohr <andi@lisas.de>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      78ac07b0
    • Daniel T Chen's avatar
      ALSA: hda: Add Samsung R720 SSID for subwoofer pin fixup · a0e90acc
      Daniel T Chen authored
      BugLink: https://launchpad.net/bugs/677830
      
      The original reporter states that the subwoofer does not mute when
      inserting headphones.  We need an entry for his machine's SSID in the
      subwoofer pin fixup list, so add it there (verified using hda_analyzer).
      
      Reported-and-tested-by: i-NoD
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarDaniel T Chen <crimsun@ubuntu.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      a0e90acc
    • Joe Perches's avatar
    • Joe Perches's avatar
      c80c1d54
    • Joe Perches's avatar
      ALSA: sound/ppc: Use printf extension %pR for struct resource · 2fb50f13
      Joe Perches authored
      Using %pR standardizes the struct resource output.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      2fb50f13
    • Daniel T Chen's avatar
      ALSA: ac97: Apply quirk for Dell Latitude D610 binding Master and Headphone controls · 0613a594
      Daniel T Chen authored
      BugLink: https://launchpad.net/bugs/669279
      
      The original reporter states: "The Master mixer does not change the
      volume from the headphone output (which is affected by the headphone
      mixer). Instead it only seems to control the on-board speaker volume.
      This confuses PulseAudio greatly as the Master channel is merged into
      the volume mix."
      
      Fix this symptom by applying the hp_only quirk for the reporter's SSID.
      The fix is applicable to all stable kernels.
      Reported-and-tested-by: default avatarBen Gamari <bgamari@gmail.com>
      Cc: <stable@kernel.org> [2.6.32+]
      Signed-off-by: default avatarDaniel T Chen <crimsun@ubuntu.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      0613a594