summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: hda - Merge ALC260 auto-parser codeTakashi Iwai2011-07-081-142/+11
| | | | | | Finally the last one. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Merge ALC269 parser codeTakashi Iwai2011-07-081-114/+10
| | | | | | | | | One more code reduction. This codec has less DACs, thus the wiring to DAC can't be filled uniquely for all output pins, i.e. some outputs share the same volume control. Except for that, all seems working fine. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Merge ALC268/269 auto-parser codesTakashi Iwai2011-07-081-239/+26
| | | | | | Now coming to ALC268/269 parser codes. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Merge ALC861 auto-parser codeTakashi Iwai2011-07-081-187/+8
| | | | | | | | Merge more auto-parser code in patch_realtek.c, now for ALC861. The topology of this codec is pretty simple, and can be parsed well by the current starndard parser. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix amp-cap checks in patch_realtek.cTakashi Iwai2011-07-081-12/+22
| | | | | | | | query_amp_caps() may return non-zero if the amp cap isn't supported by the codec. Thus one needs to check widget-caps first, then check the corresponding amp-caps. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Merge ALC861-VD auto-parse to the standard parserTakashi Iwai2011-07-081-138/+3
| | | | | | | The existing standard auto-parser can work well with this codec, too. Let's merge. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix auto-mic detection in Realtek codec-parserTakashi Iwai2011-07-081-1/+1
| | | | | | | | | A regression fix from commit 21268961d3d1bbdd22a19b68adb80119e8c72dcd ALSA: hda - More flexible dynamic-ADC switching for Realtek codecs The auto-mic wasn't detected properly when no ADC-switch is needed. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix output-path of VT1812 codecLydia Wang2011-07-081-0/+1
| | | | | | | For VT1812, add dac_mixer_idx for initialization. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix Oops in smart51 parsing in VIA codecTakashi Iwai2011-07-081-1/+1
| | | | | | Typical off-by-one thinko. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Provide the standard auto_init for Realtek codecsTakashi Iwai2011-07-081-84/+21
| | | | | | | Remove redundant definitions. Ideally, all init functions should be identical in future. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Merge ALC680 auto-parser to the standard parserTakashi Iwai2011-07-081-141/+90
| | | | | | | Improved the standard Realtek auto-parser to support the codec topology like ALC680. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add a fix-up for HP RP5800Takashi Iwai2011-07-081-0/+11
| | | | | | The BIOS provides bogus pin configs, and also invalid SSID. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix Independent-HP detection on VT2002P/1802/1812 codecsLydia Wang2011-07-081-0/+6
| | | | | | | | For VT2002P, VT1802 and VT1812 codecs, to create Independent HP control. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix DAC checks for VT2002P/1802/1812 codecsLydia Wang2011-07-081-3/+11
| | | | | | | | For VT2002P, VT1802 and VT1812 codecs, there're only two DACs. So smart51 control shouldn't be created. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix VIA output-path init for VT2002P/1802/1812Lydia Wang2011-07-081-37/+67
| | | | | | | | | | For VT2002P, VT1802 and VT1812 codecs, the original activate_output_path() function can't initialize output and hp path correctly, since mixers connected to output pin widgets are not considered. So modify the activate_output_path() function to satisify this kind of codec. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Split quirk codes from patch_realtek.cTakashi Iwai2011-07-0713-13921/+14124
| | | | | | | | | | | | | Put the all static quirk codes out of patch_realtek.c, split into the file for each codec model. For controlling the build of quirk codes, a new Kconfig, CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS is introduced. By setting this off, all quirk codes won't be built, thus you can save lots of memory. The codes in patch_realtek.c are also shuffled and more comments are given, but the contents aren't changed. This is just a refactoring. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Use common paser for digital I/O for ALC260Takashi Iwai2011-07-071-2/+2
| | | | | | Avoid open-codes. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - More flexible dynamic-ADC switching for Realtek codecsTakashi Iwai2011-07-071-486/+429
| | | | | | | | | | | | | | | | | | This patch changes the auto-parser and the auto-mic handling codes to allow more flexible dynamic ADC-switching with Realtek codecs. In the new code, the following strategy is taken: - When a cap-src can't handle all input-sources, either skip it, or switch to the ADC-switching mode. In ADC-switching mode, like the former dual-ADC mode for ALC275, it changes ADC on the fly according to the current input source. - When auto-mic is possible, always assign imux. If the mic pins are set statically via a quirk, rebuild imux according to the pins. In the auto-mic mode, the driver always changes the imux (although the imux isn't exposed as a mixer element). Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix warning with ALC882 digital-out detectionTakashi Iwai2011-07-071-1/+3
| | | | | | The digital out pin on ALC882 may have multiple connections. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Clean-up PCM assignments in patch_realtek.cTakashi Iwai2011-07-071-171/+58
| | | | | | | Instead of assigning each default hda_pcm_stream pointers, do NULL-checks and assign default values in alc_build_pcms(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Unify alc*_auto_init_input_src() in patch_realtek.cTakashi Iwai2011-07-071-45/+17
| | | | | | | | The only different implmentation was alc880_auto_init_input_src(), and now it covers this variant, and we can use the single function for all codecs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Parse ADCs and CAPSRCs dynamically for Realtek auto-parserTakashi Iwai2011-07-071-192/+131
| | | | | | | Now with the new code for looking for ADCs and MUXs, we can replace the whole ADC assignment with the parsed results. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Unify alc_auto_init_analog_input() callsTakashi Iwai2011-07-071-23/+11
| | | | | | | All alc*_auto_init_analog_input() calls are identical, so let's use the same function more clearly without aliases. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Parse ADCs in alc_auto_create_input_ctls()Takashi Iwai2011-07-071-74/+67
| | | | | | | | Parse ADCs and cap-srcs in alc_auto_create_input_ctls() by itself instead of passing explicitly from the caller. By this change, all alc*_auto_create_input_ctls() can be unified to the same calls. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Code consolidation for ALC88x and ALC662 auto-parsersTakashi Iwai2011-07-071-353/+75
| | | | | | | | Use the same common code for auto-parsing the output paths and their initializations, based on the existing ALC662 code, which is smarter than the old ALC880/2 code. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Create bind-mutes appropriately for ALC662 auto-parserTakashi Iwai2011-07-071-24/+34
| | | | | | | | When multiple inputs are present on the mixer widget (typically a DAC and a loopback), mute/unmute both inputs with the corresponding mixer element. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Initialize DACs in ALC662 auto-parser modeTakashi Iwai2011-07-071-12/+24
| | | | | | The initialization of DACs was missing in ALC662 parser code. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Parse HP and speaker DACs even for multi connections for ALC662Takashi Iwai2011-07-071-0/+7
| | | | | | | | In alc662_auto_fill_dac_nids(), the HP and speaker DACs aren't parsed when the corresponding pins aren't fixed with single DACs. Now check these DACs even for non-fixed pins. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'fix/hda' into topic/hdaTakashi Iwai2011-07-072-11/+24
|\
| * ALSA: hda - Change all ADCs for dual-adc switching mode for RealtekTakashi Iwai2011-07-071-10/+23
| | | | | | | | | | | | | | | | | | 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-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Realtek ALC269VC codec supportKailang Yang2011-07-061-14/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the support of ALC269VC codec. Also delete the unnecessary codec_variant type enum list: now only three variants (ALC269VA ALC269VB ALC269VC) are needed. In addition, added some aliases: - Add ALC269VB alias name ALC277 - Add ALC269VC alias name ALC259 ALC281X - Add ALC269VC for Lenovo device 0x21f3 name ALC3202 Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Don't add aa-mix for VIA surroundsTakashi Iwai2011-07-041-7/+16
| | | | | | | | | | | | | | | | | | Since we now route the front DAC via aa-mix widget, adding the aa-mix to surrounds will result in a mix-up of both front and surround PCM signals. For avoiding this, the aa-mix routes have to be disabled for surround paths. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Create HP-vol control properly for VIA codecsTakashi Iwai2011-07-041-3/+7
| | | | | | | | | | | | | | When the individual DAC is available for the headphone output, the driver should create the DAC for its volume control. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Define some constants in patch_via.cTakashi Iwai2011-07-041-4/+6
| | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix invalid multi-channel amplifiers for VT1718SLydia Wang2011-07-041-5/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For VT1718S, the multi-channel path should be like following: DAC 0-->Mixer 9(index 5)-->Mixer 0(index 1)-->Front Pin; DAC 1-->Mixer 1(index 0)-->Surround Pin; DAC 2-->C/LFE Pin; DAC 3-->Mixer 2(index 0)-->Side Pin; But current code built Surround and Side path through index 1 of Mixer 1 and 2. So Adjusting Surround and Side channel amplifier is invalid. This patch fixes the issue. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix issue that front can't output sound for VT1718SLydia Wang2011-07-041-0/+4
| | | | | | | | | | | | | | | | | | | | | | For VT1718S, Mixer 9 doesn't expose the connection to DAC 0. So when building up a 'PCM Playback' amplifier control, it will fail since getting DAC 0 index of Mixer 9 returned -1. So I added a dac_mixer_idx to indicated the actual index of DAC 0 to Mixer 9. Following is the patch and next mail is another. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix the silent front with independent-HP for VIA codecsLydia Wang2011-07-011-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unmute DAC on front speaker path when Independent HP is enabled. When to enable Independent HP, the front speaker won't output any sound for VT1708, VT1708B, VT1708S and VT1702. I find the via_independent_hp_put() routine will mute DAC 0 path in Mixer 0. For these codecs, when using Independent HP, there could have two independent streams, one is from DAC0-->Mixer0-->Front Pin, the other is from DAC3-->GainSW3-->Side Pin. So I added a check for DAC-->Mixer path in activate_output_path(). If current path is DAC-->Mixer, no need to mute DAC index in Mixer. In fact, to change connection of Headphone pin or Mux connected with HP is enough. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix missing initialization in alc662 auto-parserTakashi Iwai2011-06-301-1/+1
| | | | | | | | | | | | | | A missing initialization resulted in wrong DAC assignments in ALC662 (and other) auto-parsers. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Re-implementation of VIA Independent-HP sharing with side streamTakashi Iwai2011-06-301-6/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the re-implementation of Independent-HP mode in the case where the DAC is shared between HP and side-channel streams. Now the driver tries to parse the output-path using the pre-parsed side-channel DAC for the independent HP output, too. When a playback PCM stream is opened with this shared mode, the Independent-HP mixer switch can't be changed for avoiding the conflict, thus it returns -EBUSY error. One remaining unintuitive issue is that the DAC volume is still controlled as "Side" volume although it's shared by both independent-HP and side streams. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix jack-detection on non-VT1708 VIA codecsLydia Wang2011-06-291-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move codec init verb which is only applicatable for VT1708. I've found the root cause that jack plugged in can't be detected. The verb in vt1708_init_verbs is used to power down jack detect circuit. This verb is only applicable to VT1708. vt1708 didn't implement jack detect function in hardware, so we should shut down this function to avoid noise. But for other codecs, hardware implement jack detect function. If sending this verb during initialization, jack detect will be invalid. So I move this verb from via_parse_auto_config() to patch_vt1708(). Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix unused variable warningTakashi Iwai2011-06-291-1/+1
| | | | | | | | | | | | | | sound/pci/hda/patch_cmedia.c: In function ‘cmi9880_fill_multi_init’: sound/pci/hda/patch_cmedia.c:401:15: warning: unused variable ‘len’ Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Enable auto-parser as default for Conexant codecsTakashi Iwai2011-06-291-12/+4
| | | | | | | | | | | | Let's use auto-parser as default now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2011-06-291-0/+4
|\ \ | |/
| * ALSA: HDA: Add model=auto quirk for Acer Aspire 3830TGDavid Henningsson2011-06-281-0/+1
| | | | | | | | | | | | | | | | 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-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | 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 - Create snd_hda_get_conn_index() helper functionTakashi Iwai2011-06-298-108/+59
| | | | | | | | | | | | | | | | Create snd_hda_get_conn_index() helper function for obtaining the connection index of the widget. Replaced the similar codes used in several codec-drivers with this common helper. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix unsol event initializations for VIA codecsLydia Wang2011-06-291-1/+1
| | | | | | | | | | | | | | Fix a issue to enable unsolicited response to line-out pins. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix warnings with CONFIG_SND_POWER_SAVE=nTakashi Iwai2011-06-281-4/+2
| | | | | | | | | | | | | | | | | | | | Use static inline for dummy function to fix the warnings like below sound/pci/hda/patch_sigmatel.c: In function ‘stac92xx_init’: sound/pci/hda/patch_sigmatel.c:4387:3: warning: statement with no effect sound/pci/hda/patch_sigmatel.c: In function ‘stac92xx_resume’: sound/pci/hda/patch_sigmatel.c:4927:3: warning: statement with no effect Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - remove SND_HDA_POWER_SAVE protection of struct hda_loopback_checkStephen Rothwell2011-06-281-2/+0
| | | | | | | | | | | | | | to fix build problems when it is disabled. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Takashi Iwai <tiwai@suse.de>
OpenPOWER on IntegriCloud