1. 29 May, 2010 8 commits
  2. 28 May, 2010 3 commits
  3. 27 May, 2010 14 commits
  4. 26 May, 2010 6 commits
  5. 25 May, 2010 9 commits
    • Clemens Ladisch's avatar
      ALSA: emu10k1: allow high-resolution mixer controls · 4daf7a0c
      Clemens Ladisch authored
      Add a module option to allow the GPR mixer controls to have the full
      resolution of the hardware, i.e., 0...2^31-1 instead of 0...100.
      
      Because of bugs in userspace tools like alsactl and alsamixer, this is
      not yet enabled by default.
      Signed-off-by: default avatarClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      4daf7a0c
    • Clemens Ladisch's avatar
      ALSA: pcm: fix delta calculation at boundary wraparound · b406e610
      Clemens Ladisch authored
      In the cleanup of the hw_ptr update functions in 2.6.33, the calculation
      of the delta value was changed to use the modulo operator to protect
      against a negative difference due to the pointer wrapping around at the
      boundary.
      
      However, the ptr variables are unsigned, so a negative difference would
      result in the two complement's value which has no relation to the actual
      difference relative to the boundary; the result is typically some value
      near LONG_MAX-boundary.  Furthermore, even if the modulo operation would
      be done with signed types, the result of a negative dividend could be
      negative.
      
      The invalid delta value is then caught by the following checks, but this
      means that the pointer update is ignored.
      
      To fix this, use a range check as in the other pointer calculations.
      Signed-off-by: default avatarClemens Ladisch <clemens@ladisch.de>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      b406e610
    • Clemens Ladisch's avatar
      ALSA: hda_intel: fix handling of non-completion stream interrupts · 9ef04066
      Clemens Ladisch authored
      Check that the interrupt raised for a stream is actually a buffer
      completion interrupt before handling it as one.  Otherwise, memory
      errors or FIFO xruns would be interpreted as a pointer update and could
      break the stream timing.
      Signed-off-by: default avatarClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      9ef04066
    • Daniel Mack's avatar
      57c7ffc9
    • Daniel T Chen's avatar
      ALSA: hda: Fix model quirk for Dell M1730 · 66668b6f
      Daniel T Chen authored
      BugLink: https://launchpad.net/bugs/576160
      
      Symptom: Currently (2.6.32.12) the Dell M1730 uses the 3stack model
      quirk. Unfortunately this means that capture is not functional out-
      of-the-box despite ensuring that capture settings are unmuted and
      raised fully.
      
      Test case: boot from Ubuntu 10.04 LTS live cd; capture does not
      work.
      
      Resolution: Correct the model quirk for Dell M1730 to rely on the
      BIOS configuration.
      
      This patch also trivially sorts the quirk into the correct section
      based on the comments.
      
      Reported-and-Tested-By: <picdragon99@msn.com>
      Tested-By: Daren Hayward
      Tested-By: Tobias Krais
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarDaniel T Chen <crimsun@ubuntu.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      66668b6f
    • Justin P. Mattock's avatar
      ALSA: hda - iMac9,1 sound fixes · b7cccc52
      Justin P. Mattock authored
      First issue:
      With the original patch, I've noticed by unmuting the mic
      (and even having it muted), there is a distorted("Noise")
      coming from the internal speakers, even when the headphones are plugged in.
      What my finding's revealed is:
      
      	/* Mic (rear) pin: input vref at 80% */
      	{0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80},
      	{0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE},
      
      From the original patch. Looking at codec#0 0x18/0x1a is listed as:
      
      Node 0x18 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
        Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
        Amp-In vals:  [0x00 0x00]
        Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
        Amp-Out vals:  [0x00 0x00]
        Pincap 0x0000373c: IN OUT HP Detect
          Vref caps: HIZ 50 GRD 80 100
        Pin Default 0x90100141: [Fixed] Speaker at Int N/A
          Conn = Unknown, Color = Unknown
          DefAssociation = 0x4, Sequence = 0x1
          Misc = NO_PRESENCE
        Pin-ctls: 0x41: OUT VREF_50
        Unsolicited: tag=00, enabled=0
        Connection: 5
           0x0c* 0x0d 0x0e 0x0f 0x26
      
      seems this Node is listed as: [Fixed] Speaker while 0x15
      
      Node 0x15 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out
        Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
        Amp-In vals:  [0x00 0x00]
        Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
        Amp-Out vals:  [0x80 0x80]
        Pincap 0x0000373c: IN OUT HP Detect
          Vref caps: HIZ 50 GRD 80 100
        Pin Default 0x018b3020: [Jack] Line In at Ext Rear
          Conn = Comb, Color = Blue
          DefAssociation = 0x2, Sequence = 0x0
        Pin-ctls: 0x01: VREF_50
        Unsolicited: tag=00, enabled=0
        Connection: 5
           0x0c 0x0d* 0x0e 0x0f 0x26
      
      is [Jack] Line In at Ext Rear.
      (looking at the other apple products as examples
      I came up with the fix below).
      
      Second issue:
      alc885_mbp_4ch_modes
      The original patch does a good job with the
      HP pin automute function, but from what I noticed is I would have to manually
      change the channel form 2 to 4 after plugging the headphones in.
      And not to mention having odd moments to where I was jamming out
      with the headphones on, then later realized I had sound blasting out
      of the speakers as well. My findings revealed that changing
      alc885_mbp_4ch_modes to alc885_mba21_ch_modes and setting
      -	spec->autocfg.speaker_pins[0] = 0x15;
      +	spec->autocfg.speaker_pins[0] = 0x18;
      gets the automute function when the headphones plugged in working
      flawlessly(and the no need to manually change the channel number
      afterwards).
      
      Third issue:
      alc885_imac91_mixer
      There probably doesnt need to be anything changed with this
      (esspecially if your one to like lots of sliders),but my findings
      revealed that mac osx only has a master on the top right,
      another switch on itunes, and then a slider for the mic.
      
      So the changes I did below try and mimic osx as much as possible
      (only thing I had an issue with is just having one mute switch
      on the master, instead of having two(still investigating)).
      
      fourth issue:
      alc882_capture_source
      I endeded up creating alc889A_imac91_capture_source()
      only  because looking at alc882_capture_source I see
      that the mic is set to 0x1 while this works, I also noticed
      that adding 0x1 and 0x01 and testing that 0x1 somehow
      stops working, and 0x01 works(so I figured 0x01 was more
      of the alpha of the numbers(still need to figure out
      where that valuse is)). In any case the microphone
      does work with the original, and with the below patch, but both
      still record not as clean(lots of "Noise", which I would like to
      look into too).
      Note: using alsamixer -Va reveals the capture switches.
      Signed-off-by: default avatarJustin P. Mattock <justinmattock@gmail.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      b7cccc52
    • Daniel T Chen's avatar
      ALSA: hda: Use LPIB for Toshiba A100-259 · 4e0938db
      Daniel T Chen authored
      BugLink: https://launchpad.net/bugs/549560
      
      Symptom: on a significant number of hardware, booting from a live cd
      results in capture working correctly, but once the distribution is
      installed, booting from the install results in capture not working.
      
      Test case: boot from Ubuntu 10.04 LTS live cd; capture works correctly.
      Install to HD and reboot; capture does not work. Reproduced with 2.6.32
      mainline build (vanilla kernel.org compile)
      
      Resolution: add SSID for Toshiba A100-259 to the position_fix quirk
      table, explicitly specifying the LPIB method.
      
      I'll be sending additional patches for these SSIDs as bug reports are
      confirmed.
      
      This patch also trivially sorts the quirk table in ascending order by
      subsystem vendor.
      
      Reported-and-Tested-by: <davide.molteni@gmail.com>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarDaniel T Chen <crimsun@ubuntu.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      4e0938db
    • Daniel T Chen's avatar
      ALSA: hda: Use LPIB for Acer Aspire 5110 · 7a68be94
      Daniel T Chen authored
      BugLink: https://launchpad.net/bugs/583983
      
      Symptom: on a significant number of hardware, booting from a live cd
      results in capture working correctly, but once the distribution is
      installed, booting from the install results in capture not working.
      
      Test case: boot from Ubuntu 10.04 LTS live cd; capture works correctly.
      Install to HD and reboot; capture does not work. Reproduced with 2.6.32
      mainline build (vanilla kernel.org compile).
      
      Resolution: add SSID for Acer Aspire 5110 to the position_fix quirk
      table, explicitly specifying the LPIB method.
      
      I'll be sending additional patches for these SSIDs as bug reports are
      confirmed.
      
      Reported-and-Tested-By: Leo
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarDaniel T Chen <crimsun@ubuntu.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      7a68be94
    • H Hartley Sweeten's avatar
      ALSA: aw2-alsa.c: use pci_ids.h defines and fix checkpatch.pl noise · 34329fae
      H Hartley Sweeten authored
      Use the VENDOR/DEVICE ids provided in pci_ids.h instead of creating
      local ids of the same values.
      
      Also, fix the following checkpatch.pl warnings:
      
      WARNING: Use #include <linux/io.h> instead of <asm/io.h>
      WARNING: unnecessary whitespace before a quoted newline
      Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      34329fae