summaryrefslogtreecommitdiffstats
path: root/sound/pci
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'topic/hda' into for-linusTakashi Iwai2010-08-0512-147/+891
|\
| * ALSA: hda - Add pin-fix for HP dc5750Takashi Iwai2010-08-041-0/+29
| | | | | | | | | | | | | | | | | | | | | | The NID 0x11 on HP dc5750 with ALC260 should be a speaker although BIOS gives it as a line-out. This patch adds a quirk to fix the pin config so that the real line-out is used properly. Reference: bnc#624118 https://bugzilla.novell.com/show_bug.cgi?id=624118 Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Fix initial capsrc selection in patch_alc269()Takashi Iwai2010-08-041-11/+16
| | | | | | | | | | | | | | | | | | | | | | | | In patch_alc269(), we initialize the primary capsrc so that the device works from the beginning. It issues CONNECT_SEL verb no matter which widget is although some widget (e.g. 0x23) has no connection selection but a mixer, which requires unmuting instead. This patch fixes the initialization of capsrc by re-using the code as a helper function. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Add PC-beep whitelist for an Intel boardTakashi Iwai2010-08-031-0/+1
| | | | | | | | | | | | | | | | | | | | An Intel board needs a white-list entry to enable PC-beep. Otherwise the driver misdetects (due to bogus BIOS info) and ignores the PC-beep on 2.6.35. Reported-and-tested-by: Leandro Lucarella <luca@llucax.com.ar> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - More relax for pending period handlingTakashi Iwai2010-08-031-1/+1
| | | | | | | | | | | | | | | | | | Since the pending periods are often bogus and take long time until actually processed, it often results in a high CPU usage of the hd-audio workq. Overall it's better to have low CPU consumption by avoiding a too tight loop rather than the wake-up timing accuracy. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Define AC_FMT_* constantsTakashi Iwai2010-08-033-21/+50
| | | | | | | | | | | | | | Define constants for the HD-audio stream format bits, and replace the magic numbers in codes. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Fix beep frequency on IDT 92HD73xx and 92HD71Bxx codecsDaniel J Blueman2010-08-031-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | Fix HDA beep frequency on IDT 92HD73xx and 92HD71Bxx codecs. These codecs use the standard beep frequency calculation although the datasheet says it's linear frequency. Other IDT/STAC codecs might have the same problem. They should be fixed individually later. Signed-off-by: Daniel J Blueman <daniel.blueman@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Add support for HDMI HBR passthroughAnssi Hannula2010-08-034-5/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Passing IEC 61937 encapsulated compressed audio at bitrates over 6.144 Mbps (i.e. more than a single 2-channel 16-bit 192kHz IEC 60958 link) over HDMI requires the use of HBR Audio Stream Packets instead of Audio Sample Packets. Enable HBR mode when the stream has 8 channels and the Non-PCM bit is set. If the audio converter is not connected to any HBR-capable pins, return -EINVAL in prepare(). Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Set Stream Type in Stream Format according to AES0Anssi Hannula2010-08-033-3/+9
| | | | | | | | | | | | | | | | | | | | Set bit 15 (Stream Type) of HDA Stream Format to 1 (Non-PCM) when IEC958 channel status bit 1 (AES0 & 0x02) is set to 1 (non-audio). This is a prequisite for HDMI HBR passthrough. Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Fix Thinkpad X300 so SPDIF is not exposedJerone Young2010-08-031-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Just as with the X301. The X300 does not have a way to do SPDIF either. It does not have a dock connector, nor does it have the SPDIF through the headphone jack. This patch fixes it so X300 does not show SPDIF, since it cannot do it. To add all Lenovo Thinkpads had different codec subsytem IDs: X300: http://launchpadlibrarian.net/34862838/Card0.Codecs.codec.0.txt Signed-off-by: Jerone Young <jerone.young@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - FIX to not expose SPDIF on Thinkpad X301, since it does not have ↵Jerone Young2010-08-031-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the ability to use SPDIF The Lenovo X301 does not have the ability to connect to a docking station to use the SPDIF port. It also does not have the ability to do SPDIF though the headphone jack or Display Port jacks. This patch fixes it so this is not exposed for the X301 and users do think it has the ability to do SPDIF. I tested both headphone & display port jacks and it is not there. I have tested this patch and it works great. Also to add the other Thinkpads have different subsystem codec IDs. Here are examples: X301: http://launchpadlibrarian.net/31561902/Card0.Codecs.codec.0.txt X200: http://launchpadlibrarian.net/49055036/Card0.Codecs.codec.0.txt W500: http://launchpadlibrarian.net/36276057/Card0.Codecs.codec.0.txt Signed-off-by: Jerone Young <jerone.young@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Do not try to create speaker NIDs for ALC268 if there aren't anyDavid Henningsson2010-08-021-1/+1
| | | | | | | | | | Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Add a warning for ignored pins with ALC259/268/269Takashi Iwai2010-07-301-0/+2
| | | | | | | | | | | | | | | | The current ALC259/268/269 parser ignores some pins as unhandled, but user won't notice what goes wrong. So, added a warning message for the ignored pins as a hint. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Handle pin NID 0x1a on ALC259/269Takashi Iwai2010-07-301-1/+2
| | | | | | | | | | | | | | The pin NID 0x1a should be handled as well as NID 0x1b. Also added comments. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Shut up pins at power-saving mode with Conexnat codecsTakashi Iwai2010-07-301-0/+12
| | | | | | | | | | | | | | | | | | | | | | Call snd_hda_shutup_pins() for power-saving and reboot-notifier in patch_conexant.c as well as other codecs. This will reduce the pop noise in power-save mode. Reference: bnc#624896 https://bugzilla.novell.com/show_bug.cgi?id=624896 Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Prefer VREF50 if BIOS sets for Realtek codecsTakashi Iwai2010-07-301-2/+16
| | | | | | | | | | | | | | | | If BIOS sets up the input pin as VREF 50, use the value as is instead of overriding forcibly to VREF 80. This fixes the quality of inputs on some devices like Packard-Bell M5210. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Handle missing NID 0x1b on ALC259 codecTakashi Iwai2010-07-301-0/+1
| | | | | | | | | | | | | | | | Since ALC259/269 use the same parser of ALC268, the pin 0x1b was ignored as an invalid widget. Just add this NID to handle properly. This will add the missing mixer controls for some devices. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Share digital I/O parser in patch_realtek.cTakashi Iwai2010-07-301-62/+78
| | | | | | | | | | | | | | | | | | Make a helper function to parse the digital I/Os of all Realtek codecs to simplify the code and to ensure the setups. Also, initialize digital I/O pins properly in init callbacks. Some BIOS seem to leave pins uninitialized. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Increase the connection list size for ALC662Takashi Iwai2010-07-301-1/+1
| | | | | | | | | | | | | | | | Some ALC662-compatible codecs like ALC892 may have more than 4 connections for the input source. Use HDA_MAX_CONNECTIONS instead of the fixed magic number 4. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Make error messages more verboseTakashi Iwai2010-07-301-3/+6
| | | | | | | | | | | | | | Add a prefix and more information for error messages regarding the connection-list in hda_codec.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Rename iMic to Int Mic on Lenovo NB0763David Henningsson2010-07-291-3/+3
| | | | | | | | | | | | | | | | The non-standard name "iMic" makes PulseAudio ignore the microphone. BugLink: https://launchpad.net/bugs/605101 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * Merge branch 'fix/hda' into topic/hdaTakashi Iwai2010-07-291-20/+42
| |\
| * \ Merge branch 'fix/hda' into topic/hdaTakashi Iwai2010-07-282-0/+16
| |\ \
| * | | ALSA: hda - Fix max amp cap calculation for IDT/STAC codecsTakashi Iwai2010-07-261-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commit afbd9b8448f4b7d15673c6858012f384f18d28b8 ALSA: hda - Limit the amp value to write introduced a regression for codec setups with amp offsets like IDT/STAC codecs. The limit value should be a raw value without offset calculation. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: hda - Ensure codec patch files are checked for the correct codec IDDavid Henningsson2010-07-261-1/+3
| | | | | | | | | | | | | | | | | | | | Signed-off-by: David Henningsson <diwic@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: hda - Add conexant quirk for AMD based Lenovo G series machinesJerone Young2010-07-191-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a follow on patch adds support for AMD based Lenovo G series machines, such as the Lenovo G555. Signed-off-by: Jerone Young <jerone.young@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: hda - Add support of dual-ADCs for Realtek ALC275Takashi Iwai2010-07-131-24/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some VAIO models with ALC275 have dual ADCs for both internal and external mics, and the driver needs to switch one of them appropriately. This patch adds a basic support for this functionality, dynamic switching between two ADCs per jack plug state. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: HDA: VT1708S: fix Smart5.1 modeClemens Ladisch2010-07-121-7/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Correctly configure bidirectional pins when resuming; do not power down widgets when they are needed for Smart5.1 output; and on 3-jack boards, create the streams and controls needed for six channels. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Reported-and-tested-by: Viliam Kubis <viliam.kubis@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2010-07-093-3/+36
| |\ \ \
| * | | | ALSA: hda - Limit the amp value to writeTakashi Iwai2010-07-091-11/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check the amp max value at put callbacks and set the upper limit so that the driver won't write any invalid value over the defined range. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda - Add beep mixer support to Conexant codecsTakashi Iwai2010-07-091-4/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added the beep mixer controls to Conexant codecs. They simply control the digital beep generator widget. For cx5047, I couldn't find any beep generator, so it's not implemented there. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda - Add missing ALC680_* definitionsTakashi Iwai2010-06-231-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also update the documentation. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda - Support ALC680 codecKailang Yang2010-06-231-1/+330
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda - add ideapad model for Conexant 5051 codecHerton Ronaldo Krzesinski2010-06-171-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lenovo IdeaPad Y430 has an additional subwoofer connected at pin 0x1b, which isn't muted when headphone is plugged in. This adds additional support to the extra subwoofer via new ideapad model. Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | Merge branch 'fix/hda' of ↵Linus Torvalds2010-07-293-20/+58
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Add a PC-beep workaround for ASUS P5-V ALSA: hda - Assume PC-beep as default for Realtek ALSA: hda - Don't register beep input device when no beep is available ALSA: hda - Fix pin-detection of Nvidia HDMI
| * | | | ALSA: hda - Add a PC-beep workaround for ASUS P5-VTakashi Iwai2010-07-291-8/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ASUS P5-V provides a SSID that unexpectedly matches with the value compilant with Realtek's specification. Thus the driver interprets it badly, resulting in non-working PC beep. This patch adds a white-list for such a case; a white-list of known devices with working PC beep. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda - Assume PC-beep as default for RealtekTakashi Iwai2010-07-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable PC-beep as default for hardwares that aren't compliant with the SSID value Realtek requires. In such a case, better to enable the beep to avoid a regression. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda - Don't register beep input device when no beep is availableTakashi Iwai2010-07-281-13/+19
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | We check now the availability of PC beep and skip the build of beep mixers, but the driver still registers the input device. This should be checked as well. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: hda - Fix pin-detection of Nvidia HDMITakashi Iwai2010-07-282-0/+16
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The behavior of Nvidia HDMI codec regarding the pin-detection unsol events is based on the old HD-audio spec, i.e. PD bit indicates only the update and doesn't show the current state. Since the current code assumes the new behavior, the pin-detection doesn't work relialby with these h/w. This patch adds a flag for indicating the old spec, and fixes the issue by checking the pin-detection explicitly for such hardware. Tested-by: Wei Ni <wni@nvidia.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | Merge branch 'fix/hda' of ↵Linus Torvalds2010-07-122-1/+31
|\| | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Restore cleared pin controls on resume
| * | ALSA: hda - Restore cleared pin controls on resumeTakashi Iwai2010-07-092-1/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many codecs now clear the pin controls at suspend via snd_hda_shutup_pins() for reducing the click noise at power-off. But this leaves some pins uninitialized, and they'll be never recovered after resume. This patch adds the proper recovery of cleared pin controls on resume. Also it adds a check of bus->shutdown so that pins won't be cleared at module unloading. Reference: Kernel bug 16339 http://bugzilla.kernel.org/show_bug.cgi?id=16339 Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | Merge branch 'fix/hda' into for-linusTakashi Iwai2010-07-081-2/+5
|\| |
| * | ALSA: hda - Enable beep on Realtek codecs with PCI SSID overrideTakashi Iwai2010-07-051-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the PCI SSID gives an overriding SKU assno, PC-beep bit isn't detected (since it's located over 16bit), resulting in no PC beep. Also, many devices seem ignoring the requirement by Realtek's spec for SSID numbers, and it also confuses the PC beep detection. This patch assumes the PC beep is available on every machine with PCI SSID override. It's a regression fix from 2.6.34. Reference: Kernel bug 16251 http://bugzilla.kernel.org/show_bug.cgi?id=16251 Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add Macbook 5,2 quirkLuke Yelavich2010-06-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BugLink: https://bugs.launchpad.net/bugs/463178 Set Macbook 5,2 (106b:4a00) hardware to use ALC885_MB5 Cc: <stable@kernel.org> Signed-off-by: Luke Yelavich <luke.yelavich@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Fix uninitialized variableTakashi Iwai2010-06-221-1/+1
| |/ | | | | | | | | | | | | | | | | Fix the following compile warning. kctl should be NULL-initialized. sound/pci/hda/patch_realtek.c: In function ‘alc_build_controls’: sound/pci/hda/patch_realtek.c:2550:23: warning: ‘kctl’ may be used uninitialized in this function Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/misc' into for-linusTakashi Iwai2010-06-201-11/+11
|\ \ | |/ |/|
| * ALSA: asihpi - Get rid of incorrect "long" types and casts.Eliot Blennerhassett2010-06-171-11/+11
| | | | | | | | | | | | | | These give incorrect results for index wrap on 64 bit. Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix line-in for mb5 model MacBook (Pro) 5,1 / 5,2Alex Murray2010-06-141-7/+6
| | | | | | | | | | | | | | The line-in input is 0x7 not 0x2 for MacBook (Pro) 5,1 / 5,2 models Signed-off-by: Alex Murray <murray.alex@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Don't check capture source mixer if no ADC is availableTakashi Iwai2010-06-111-10/+12
| | | | | | | | | | | | | | | | | | | | | | With multiple codec configurations, some codec might have no ADC, thus it keeps spec->adc_nids = NULL. This causes an Oops in alc_build_controls(). Reference: kernel bug #16156 https://bugzilla.kernel.org/show_bug.cgi?id=16156 Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add SSID table for iMac7,1.Justin P. Mattock2010-06-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch add's the iMac7,1 SSID entry to patch_realtek.c which adds sound support. bug entry: https://bugs.launchpad.net/mactel-support/+bug/360866 Note:I do not have this machine on hand only codec#0 file for the machine so please test if you have the appropriate equipment. Signed-off-by: Justin P. Mattock <justinmattock@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>