aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda
Commit message (Collapse)AuthorAge
* ALSA: hda - Fix a copmile warningTakashi Iwai2011-07-09
| | | | | | | | It's harmless but annyoing. sound/pci/hda/patch_realtek.c: In function ‘alc_cap_getput_caller’: sound/pci/hda/patch_realtek.c:2722:9: warning: ‘err’ may be used uninitialized in this function Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Change all ADCs for dual-adc switching mode for RealtekTakashi Iwai2011-07-07
| | | | | | | | | When the dual-adc switching mode is active in Realtek auto-parser, we need to couple all ADCs as a single capture-volume. Currently, the volume control changes only the first ADC, thus others may remain silent. This patch fixes the problem. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: HDMI - fix ELD monitor name lengthWu Fengguang2011-06-29
| | | | | | | | | | | | | | | I noticed that the last character of the ELD monitor name is lost, this fixes the issue. This fix should be confirming to the HDA spec, and works together with the DRM part of the ELD patch. The HDA spec does not mention that Monitor_Name_String is an '\0' ending string, and it allows NML to be 1, which is only valid when MNL does not count the possible ending '\0'. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: HDA: Add model=auto quirk for Acer Aspire 3830TGDavid Henningsson2011-06-28
| | | | | | | | Since we're not using the new auto parser as a fallback yet, add it manually as a quirk. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: HDA: Add a new Conexant codec ID (506c)David Henningsson2011-06-28
| | | | | | | | | | | Conexant ID 506c was found on Acer Aspire 3830TG. As users report no playback, sending to stable should be safe. Cc: stable@kernel.org BugLink: https://bugs.launchpad.net/bugs/783582 Reported-by: andROOM Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: HDA: Pinfix quirk for HP Z200 WorkstationDavid Henningsson2011-06-23
| | | | | | | | | | BIOS lists the internal speaker as an internal line-out. Change to internal speaker + model=auto for better auto-mute capabilities. BugLink: http://bugs.launchpad.net/bugs/754964 Reported-by: Marc Legris <marc.legris@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: VIA HDA: Create a master amplifier control for VT1718S.Lydia Wang2011-06-21
| | | | | | | Create a master volume and mute control of playback for VT1718S. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: VIA HDA: Mute/unmute mixer conncted to Headphone for VT1718S.Lydia Wang2011-06-21
| | | | | | | | When switch HP independent mode, mute/unmute connctions of mixer which is connected to headphone for VT1718S. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: VIA HDA: Modify initial verbs list for VT1718S.Lydia Wang2011-06-21
| | | | | | | | Remove some invalid initial verbs and correct some wrong initial verbs for VT1718S codec. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Remove ALC268 model override for CPR2000Tony Vroon2011-06-21
| | | | | | | | | | | | The "diverse" Quanta ID 0x0763 is overridden to ALC268_ACER. This keeps headphone automute and microphone input from operating on at least one laptop from Opti Systems. Without the override, the BIOS parser does a fine job setting the card up and everything works. Tested-By: Peter Schneider <e.at.chi.kaen@googlemail.com> Signed-off-by: Tony Vroon <tony@linx.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: HDA: Remove quirk for an HP deviceDavid Henningsson2011-06-20
| | | | | | | | | | | | The reporter, who is running kernel 2.6.38, reports that he needs to set model=auto for the headphone output to work correctly. BugLink: http://bugs.launchpad.net/bugs/761022 Cc: stable@kernel.org (v2.6.38+) Reported-by: Jo Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix no NID error with VIA codecsTakashi Iwai2011-06-17
| | | | | | | | | | The via driver spews warnigs like hda-codec: no NID for mapping control Independent HP:0:0 with some codecs because snd_hda_add_nid() is called with nid=0. This patch fixes it by skipping the call when no corresponding widget is found. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix missing static inline to beep dummy functionTakashi Iwai2011-06-14
| | | | | | | The commit 2308f4add3de9f6c9c9f02e49461e94d84bb200a missed static inline thus it resulted in multiple-definitions error at linking. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix beep_device compilation warningsJoe Perches2011-06-13
| | | | | | | | | | | Using static inline functions can reduce compilation messages and macro misuse. sound/pci/hda/patch_conexant.c: In function ‘patch_cxt5045’: sound/pci/hda/patch_conexant.c:1232:3: warning: statement with no effect Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix wrong auto-mute type for Acer Aspire-oneTakashi Iwai2011-06-13
| | | | | | | | The auto-mute setup for Acer Aspire-one with ALC268 was set wrongly during the clean-up of auto-mute function. Fixed now. Tested-by: Borislav Petkov <bp@alien8.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda: Fix inaudible internal speakers on CyberpowerPC Gamer Xplorer ↵Daniel T Chen2011-06-10
| | | | | | | | | | | | | | | | | | | N57001 laptop BugLink: https://launchpad.net/bugs/761171 The original reporter needs the model=auto quirk for his internal speakers to be audible in the latest daily snapshot, so add an entry in the quirk table for his PCI SSID. A trivially different version of this patch using the model=asus quirk should be applied to the 2.6.38 and 2.6.39 stable kernels. We don't use the asus quirk in 3.0-rc2, because 3.0-rc2's autoparser is much improved. Reported-and-tested-by: tomdeering7 Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix initialization of hp pins with master_mute in RealtekTakashi Iwai2011-06-10
| | | | | | | | | | | | | | Some Reatlek model quirks use master_mute bool switch for controlling the master-mute of outputs. For these cases, the initialization of HP pins/amps were forgotten during the transition to the common automute helper function in 3.0 development time, and resulted in the muted HP output as default. This patch fixes the issue by adjusting the HP output explicitly with master_mute switch. Tested-by: Michal Hocko <mhocko@suse.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix invalid unsol tag for some alc262 model quirksTakashi Iwai2011-06-10
| | | | | | | | The tag number was forgotten to be fixed after cleaning up the model quirks for ALC262 fujitsu and lenovo-3000 models. Tested-by: Michal Hocko <mhocko@suse.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda: Fix quirk for Dell Inspiron 910Daniel T Chen2011-06-07
| | | | | | | | | | | | | | | BugLink: https://launchpad.net/bugs/792712 The original reporter states that sound from the internal speakers is inaudible until using the model=auto quirk. This symptom is due to an existing quirk mask for 0x102802b* that uses the model=dell quirk. To limit the possible regressions, leave the existing quirk mask but add a higher priority specific mask for the reporter's PCI SSID. Reported-and-tested-by: rodni hipp Cc: <stable@kernel.org> [2.6.38+] Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Check pin support EAPD in ad198x_power_eapd_writeRaymond Yau2011-06-03
| | | | | | | Check whether the pin supports EAPD in ad198x_power_eapd_write. Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix HP and Front pins of ad1988/ad1989 in ad198x_power_eapd()Takashi Iwai2011-06-03
| | | | | | | | | In ad198x_power_eapd(), wrong pin NIDs are used for controlling EAPD for HP and Front outputs of AD1988/AD1989. These are actually same with the ones for AD1984 & co, port-A is 0x11 and port-D 0x12. Reported-by: Raymond Yau <superquad.vortex2@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: fix hda AZX_DCAPS_NO_TCSEL quirk check in driver_capsLinus Torvalds2011-05-27
| | | | | | | | | | | | | | | | Commit 9477c58e3308 ("ALSA: hda - Reorganize controller quriks with bit flags") changed the driver type compares into various quirk bits. However, the check for AZX_DCAPS_NO_TCSEL got reverted: instead of clearing TCSEL for chipsets that have that standard capability, it cleared then when the NO_TCSEL bit was set. This can lead to noise and repeated sounds - a weird "echo" behavior. As the comment just above says: "Ensuring these bits are 0 clears playback static on some HD Audio codecs". Which is definitely true at least on my Core i5 Westmere system. Cc: Takashi Iwai <tiwai@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* ALSA: hda - Reorganize controller quriks with bit flagsTakashi Iwai2011-05-26
| | | | | | | | | | | | | Introduce bit-flags indicating the necessary controller quirks, and set them in pci driver_data field. This simplifies the checks in the driver code and avoids the pci-id lookup in different places. Also, this patch adds the PCI ID entry for AMD Hudson. AMD Hudson requires a similar workaround like ATI SB while other generic ATI and AMD controllers don't need but some ATI-HDMI quirks. So, we need a different entry for Hudson. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Use snd_printd() in snd_hda_parse_pin_def_config()Takashi Iwai2011-05-26
| | | | | | | Fixed the wrong usage of snd_printdd() for debug prints of input entries. It should be snd_printd() like others. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: HDA: Increase MAX_HDMI_PINSStephen Warren2011-05-26
| | | | | | | | | The recently introduced NVIDIA GeForce GT 520 has 4 pins within a single codec. Bump MAX_HDMI_PINS to accomodate this. Also bump MAX_HDMI_CVTS to match it; this might be needed later too. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Use model=auto for Lenovo G555Takashi Iwai2011-05-25
| | | | | | The new auto-parser fixes problems on Lenovo G555. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: HDA: Unify HDMI hotplug handling.Stephen Warren2011-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change unifies the initial handling of a pin's state with the code to update a pin's state after a hotplug (unsolicited response) event. The initial probing, and all updates, are now routed through hdmi_present_sense. The stored PD and ELDV status is now always derived from GetPinSense verb execution, and not from the data in the unsolicited response. This means: a) The WAR for NVIDIA codec's UR.PD values ("old_pin_detect") can be removed, since this only affected the no-longer-used unsolicited response payload. b) In turn, this means that most NVIDIA codecs can simply use patch_generic_hdmi instead of having a custom variant just to set old_pin_detect. c) When PD && ELDV becomes true, no extra verbs are executed, because the GetPinSense that was previously executed by snd_hdmi_get_eld (really, hdmi_eld_valid) has simply moved into hdmi_present_sense. d) When PD && ELDV becomes false, there is a single extra GetPinSense verb executed for codecs where old_pin_detect wasn't set, i.e. some NVIDIA, and all ATI/AMD and Intel codecs. I doubt this will be a performance issue. The new unified code in hdmi_present_sense also ensures that eld->eld_valid is not set unless eld->monitor_present is also set. This protects against potential invalid combinations of PD and ELDV received from HW, and transitively from a graphics driver. Also, print the derived PD/ELDV bits from hdmi_present_sense so the kernel log always displays the actual state stored, which will differ from the values in the unsolicited response for NVIDIA HW where old_pin_detect was previously set. Finally, a couple of small tweaks originally by Takashi: * Clear the ELD content to zero before reading it, so that if it's not read (i.e. when !(PD && ELDV)) it's in a known state. * Don't show ELD fields in /proc ELD files when the ELD isn't valid. The only possibility I can see for regression here is a codec where the GetPinSense verb returns incorrect data. However, we're already exposed to that, since that data is used (a) from hdmi_add_pin to set up the initial pin state, and (b) within snd_hda_input_jack_report to query a pin's presence value. As such, I don't believe any HW has bugs here. Includes-changes-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Force AD1988_6STACK_DIG for Asus M3N-HT DeluxeTony Vroon2011-05-25
| | | | | | | | | | | | | | The microphone input on the back panel (pink connector) stopped operating correctly after an upgrade from 2.6.35 to 2.6.38; the actual problem manifests itself as a lack of microphone bias voltage (VREF_HIZ) on node 0x17. With AD1988_6STACK_DIG the maximum bias voltage (VREF_80) is applied and the headset operates correctly. Signed-off-by: Tony Vroon <tony@linx.net> Tested-by: Doug Redlich <pbrigade@nxltech.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix speaker auto-mute in Cxt auto-parserTakashi Iwai2011-05-24
| | | | | | | Fix some logic failures in auto-mute handling in Conexant auto-parser. Also, modify codes to be a bit more understandable. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix initial capture-source with auto-mic for Cxt auto-parserTakashi Iwai2011-05-23
| | | | | | | Fix the initialization of capture-source route when auto-mic is enabled for Conexant auto-parser. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix auto-mic detection in Conexant codec-parserTakashi Iwai2011-05-23
| | | | | | | Fix the auto-mic detection for Cxt auto-parser due to off-by-one missing initialization. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: HDA: Add quirk for Lenovo U350David Henningsson2011-05-23
| | | | | | | | | | | Add model=asus quirk for Lenovo Ideapad U350 to make internal mic work correctly. Cc: stable@kernel.org (2.6.38+) BugLink: http://bugs.launchpad.net/bugs/751681 Reported-by: Kent Baxley <kent.baxley@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Use LPIB for ATI/AMD chipsets as defaultTakashi Iwai2011-05-20
| | | | | | | | | | ATI and AMD chipsets seem not providing the proper position-buffer information, and it also doesn't provide FIFO register required by VIACOMBO fix. It's better to use LPIB for these. Reported-by: David Henningsson <david.henningsson@canonical.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Revert "ALSA: hda - Use position_fix=3 as default for AMD chipsets"Takashi Iwai2011-05-20
| | | | | | | | | | This reverts commit 447ee6a7cbbfb5ae7ab8f9b8b058b4a04fe398bf. The workaround introduced by this commit seems bogus. The AMD chipsets don't provide proper position-buffer nor FIFO value required by VIACOMBO fix. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - add Intel Panther Point HDMI codec idWu Fengguang2011-05-20
| | | | | Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Remove PCM mixer elements from Virtual Master of realtekRaymond Yau2011-05-20
| | | | | | | | | | | | Afer commit aa202455eec51699e44f658530728162cefa1307 , none of realtek codec has hardware volume control "PCM Playback Volume" and "PCM Playback Switch". As Virtual Master require all slave controls must have same number of step and dB range. Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix input-src parse in patch_analog.cAdrian Wilkins2011-05-20
| | | | | | | | | Compare pin type enum to the pin type and not the array index. Fixes bug#0005368. Signed-off-by: Adrian Wilkins <adrian.wilkins@nhs.net> Cc: <stable@kernel.org> (2.6.37 and later) Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Enable Realtek ALC269 codec input layer beepMadis Janson2011-05-19
| | | | | | | | | This fixes the input layer beep not working on some EeePC 1000 models by adding the subsystem id into whitelist. Otherwise the corresponding ALSA mixer is not enabled and stays muted, resulting in no console beep. Signed-off-by: Madis Janson <madis@cyber.ee> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: HDA: Add jack detection for HDMIDavid Henningsson2011-05-19
| | | | | | | | Just as for headphones and microphone jacks, this patch adds reporting of HDMI jack status through the input layer. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix no sound after Windows boot with ALC269Kailang Yang2011-05-18
| | | | | | | Change power control register to default. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add support of ALC221 / ALC276 codecsKailang Yang2011-05-18
| | | | | | | Compatible with ALC269. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add support of ALC898/899 codecKailang Yang2011-05-18
| | | | | | | These are compatible with ALC882 codec. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Enable snoop bit for AMD controllersTakashi Iwai2011-05-17
| | | | | | | | | | | AMD Hudson controllers give noisy outputs when the buffer data is rewritten on the fly as PulseAudio does. This seems fixed by the snoop bit enabled just like ATI chipset. Also, disable 64bit DMA as now, to be sure. We can revisit this later. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Handle dock line-in as auto-detecable for Cxt auto-parserTakashi Iwai2011-05-17
| | | | | | Similar process like in patch_realtek.c and patch_sigmatel.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Handle dock line-in as auto-detectable for IDT codecsTakashi Iwai2011-05-17
| | | | | | | | When a docking-station has a line-in jack, we can handle it also as a detectable jack just like mic-in. This will improve the usability of HP laptops with a docking-station. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add dock-mic detection support to Realtek auto-parserTakashi Iwai2011-05-17
| | | | | | | In addition to the normal mic jack, the mic (or line-in) jack on the docking-station is checked also as a candidate for auto-selection. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Check unsol-cap in is_jack_detectalbe()Takashi Iwai2011-05-17
| | | | | | Also replace more open-codes with this function. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add support of dock-mic detection to Conexant auto-parserTakashi Iwai2011-05-17
| | | | | | | | | In addition to the normal external mic jack, check also the mic jack on a docking-station as well, and select the input source appropriately. The similar functionality was already implemented in patch_sigmatel.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix initialization of spec->automute_lines in patch_realtek.cTakashi Iwai2011-05-17
| | | | | | | spec->automute_lines shouldn't be set unless the line-detection is available. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Use get_wcaps_type()Takashi Iwai2011-05-17
| | | | | | Replace the open-code with get_wcaps_type() macro. Signed-off-by: Takashi Iwai <tiwai@suse.de>