summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2011-06-28ALSA: hda - Fix warnings with CONFIG_SND_POWER_SAVE=nTakashi Iwai
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>
2011-06-28ALSA: hda - remove SND_HDA_POWER_SAVE protection of struct hda_loopback_checkStephen Rothwell
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>
2011-06-27ALSA: hda - More volume-init fixes for ALC267 codecTakashi Iwai
More similar fixes like previous commits: handle the exceptional case like ALC267 where no volume amp is found in ADC widget but in the capsrc widget instead. Also minor checks for avoiding possible erros: no connection-select when the pin has a single selection, and add beep verbs only when the 0x1d is used for beep. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-27ALSA: hda - Fix volume-init for ALC259 with invalid widget capsTakashi Iwai
ALC259 seems to provide an invalid widget capability for the input-src selector widget. The widget shows the input-amp while it's a selector, and this confuses the current ALC882 initialization code that is used for ALC259, too. For fixing this, check the amp capability and handle the connection selection individually. Also, ALC259 has no mute bit in DAC volume, so we need to initialize it as ZERO instead of MUTE. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-27ALSA: hda - Fix volume-init of ALC299 & coTakashi Iwai
ALC269 and compatible codecs have the output volume in DACs, thus we can't use the ALC880's code as is. Fixed by checking the amp caps and picking up the right widget for initialization. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-27ALSA: hda - Simplify EAPD control in patch_realtek.cTakashi Iwai
Look through the known NIDs that may have EAPD capabilities and turn on/off them appropriately instead of checking the individual vendor ids. This will also avoid the forgotten entries of newly added codec ids in future. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-27ALSA: hda - Fix auto-init of output volumes of Realtek codecsTakashi Iwai
Fix the regression introduced by the commit 1f0f4b8036b1fe1347cb4f1f199601b87de9be46 ALSA: hda - Reduce static init verbs for Realtek auto-parsers The input amps of mixer widgets should be unmuted as default (as usually they have no assigned mixer switches). More fixes in this commit are, however, for ALC260: ALC260 codec can have multiple output mixers connnected to a single DAC althouh the driver didn't pick up them properly. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-27Merge branch 'topic/via-cleanup' into topic/hdaTakashi Iwai
2011-06-27ALSA: hda - Check hard-wired DACs at first for ALC662 & coTakashi Iwai
Some Realtek codecs have the output pins hardwired with certain DACs. These DACs have to be assigned at first and assign the rest for multi-DAC pins so that all DACs can be assigned properly. Without such an optimization, speaker outputs may be assigned to the same DAC as the headphone or others. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-27ALSA: hda - Call proper DAC-filler function for Realtek auto-parserTakashi Iwai
In alc_auto_add_multi_channel_mode(), when the primary HP workaround is enabled, it re-initializes the DAC list but calls alc662's function in a fixed way. This isn't pretty suitable for other codecs, of course. Now we call it with fill_dac function pointer so that the proper function can be called at that point. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-27ALSA: hda - Reduce static init verbs for Realtek auto-parsersTakashi Iwai
Instead of using fixed init verbs, initialize DACs, ADCs and mixers more dynamically for Realtek auto-parsers. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-25ALSA: hda - Add snd_hda_get_conn_list() helper functionTakashi Iwai
Add a new helper function snd_hda_get_conn_list(). Unlike snd_hda_get_connections(), this function doesn't copy the connection-list but gives the raw pointer for the cached list. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-24ALSA: hda - Use alc_get_pfx_name() for all Realtek codecsTakashi Iwai
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-24ALSA: hda - Clean up multi-channel mixer name assignment in patch_realtek.cTakashi Iwai
Change alc_get_line_out_pfx() in patch_realtek.c to provide the channel specific name and assign the index so that each caller doesn't have to set the channel name by itself. Also, check the multi-io case with the primary hp-out; for the multi-io channels, assign the channel name instead of "Headphone" with indices. This makes the mixer names more intuitive and reduces confusion. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-24ALSA: hda - Add a workaround for invalid line-out setupsTakashi Iwai
Some BIOS set up the pin config wrongly as line-out although it's supposed to be a speaker out. In most cases, though, we can judge the validity by checking the connection type -- when it's FIXED, mostly it's an invalid line-out but a speaker. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-24Merge branch 'fix/hda' into topic/hdaTakashi Iwai
2011-06-24ALSA: hda - Allow multi-io with HP output for ALC662 & coTakashi Iwai
Even if the machine has no line-out but only HP-out, try to detect the multi-io. It'll allow more possibilities for 5.1 outputs on laptops. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-23ALSA: HDA: Pinfix quirk for HP Z200 WorkstationDavid Henningsson
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>
2011-06-22ALSA: hda - Implement dynamic-ADC switching for VIA codecsTakashi Iwai
Some VIA codecs like VT1702 provide the input-route only to specific ADCs such as digital-mic inputs. These routes aren't covered by the normal primary ADC, and for now, user had to open the capture stream assigned to that special ADC manually for using such inputs. This patch implements a way to switch the current ADC dynamically per the input-source selection in such a case. When this workaround is activated, the driver provides only one capture stream and one input- source control but with the full possible inputs. The driver switches the ADC to be used (or being used) according to the input-source on the fly. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-21ALSA: hda - Auto-mute smart51 surround pins for VIA codecsTakashi Iwai
When smart51 mode is enabled, auto-mute these surround outputs as well as the primary line-out. Also this patch includes minor clean-ups. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-21ALSA: hda - Remove redundant VT1709 and VT1708B codesTakashi Iwai
Unify the VT1709 10ch and 6ch parsers, as well as VT1708B 8ch and 4ch parsers. They have no difference now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-21ALSA: hda - VT1708 independent HP routing fixTakashi Iwai
The codecs like VT1708 needs more complicated routing using the mixer widget rather than the simple selector widgets. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-21ALSA: hda - Fix surround-volume parsing for VT1708B codecsTakashi Iwai
The surround/CLFE/side DACs on VT1708B and co have no amp but the connected selector widgets have the amp instead. Fix the parser to check these selector widgets for the possible mixer controls as well. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-21ALSA: hda - Fix the check of loopback-mixer element index in patch_via.cTakashi Iwai
Fix the check of the multiple loopback-mixer, which gave sometimes a wrong index assigned to an element even for different names, e.g. Mic and Front Mic. Now check the label properly for avoid duplication. Reported-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-21ALSA: hda - Assign smart51 only in the same stack for VIA codecsTakashi Iwai
The input jacks assigned as the smart51 outputs must be in the same stack, either rear, front or other. Also, prefer line-in as the surround to mic-in. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-21ALSA: hda - Fix re-routing of HP-independent mode in patch_via.cTakashi Iwai
Re-route the whole output path when HP-independent mode is changed. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-21ALSA: hda - Fix creations of playback volume controls in patch_via.cLydia Wang
Fix a issue to create playback volume control if pin has amplifier capability but not DAC. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-21ALSA: hda - Revisit output_path parsing in patch_via.cTakashi Iwai
Change the order of the output-path list in a way from the DAC to the target pin. Also now the list include the target pin, too. Together with this format change, simplify the arguments of parse_output_path() function, and fix the initialization in via_auto_init_output(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-21ALSA: hda - Use xxx Boost Volume for VIATakashi Iwai
Drop "Capture" prefix from the mic-boost names. Otherwise some control names can overflow the max name length. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-21ALSA: hda - Fix a compile error in patch_ca0132.c for the recent SPDIF changeTakashi Iwai
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-21Merge branch 'fix/hda' into topic/via-cleanupTakashi Iwai
Conflicts: sound/pci/hda/patch_via.c
2011-06-21ALSA: hda - Add Creative CA0132 HDA codec supportIan Minett
Create patch_ca0132.c, to add support for devices featuring the Creative CA0132 HD-audio codec. This driver implements :- * 1 playback subdevice to headphone and speaker * 2 capture subdevices: i - Mic-in ii- Line-in * mixer device Advanced DSP features are not yet included. Developed and maintained by Creative Labs, Inc. Signed-off-by: Ian Minett <ian_minett@creativelabs.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-21ALSA: VIA HDA: Create a master amplifier control for VT1718S.Lydia Wang
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>
2011-06-21ALSA: VIA HDA: Mute/unmute mixer conncted to Headphone for VT1718S.Lydia Wang
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>
2011-06-21ALSA: VIA HDA: Modify initial verbs list for VT1718S.Lydia Wang
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>
2011-06-21ALSA: hda - Remove ALC268 model override for CPR2000Tony Vroon
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>
2011-06-20ALSA: HDA: Remove quirk for an HP deviceDavid Henningsson
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>
2011-06-20ALSA: hda - Simplify analog-low-current mode check for VIA codecsTakashi Iwai
Use the existing aa-loop list for simplifying the check for analog low-current mode. Also fix the stream count test for playback streams. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-20ALSA: hda - Remove NID_MAPPING hacks in patch_via.cTakashi Iwai
There is no longer virtual kmixer element for NID mapping. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-20ALSA: hda - Remove unused defines and struct fields in patch_via.cTakashi Iwai
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-20ALSA: hda - Name the primary out as Speaker when needed for VIA codecsTakashi Iwai
When the primary output is the speaker output, rather name it as "Speaker". This will be more intuitive. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-20ALSA: hda - Create loopback-list dynamically in patch_via.cTakashi Iwai
Create loopback list dynamically from the parsed input pins for VIA codecs instead of the fixed arrays. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-20ALSA: hda - Fix smart51 handling againTakashi Iwai
Fix the broken detection of smart51 and its handling. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-20ALSA: hda - Create virtual-master control for VIA codecsTakashi Iwai
Now let's add the missing Master control to VIA codecs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-20ALSA: hda - Initialize unsol events dynamically in patch_via.cTakashi Iwai
Issue the init verbs of unsolicited events dynamically from the parsed results for VIA codecs. Also, consolidate the unsol handlers for HP and line-out mutes. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-20ALSA: hda - Initialize input-path dynamically in patch_via.cTakashi Iwai
Similarly like the previous commit, initialize the input-paths dynamically from the parsed results instead of the fixed array for VIA codecs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-20ALSA: hda - Initialize output path dynamically in patch_via.cTakashi Iwai
Instead of fixed array for each codec type, initialize the output path dynamically from the parsed results. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-20ALSA: hda - Replace with standard consts in patch_via.cTakashi Iwai
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-20ALSA: hda - Fix independent-HP handling in patch_via.cTakashi Iwai
Fix races in handling of HP DAC and independent streams for VIA codecs. Also, allow the HP output path without front-DAC, and removed unnecessary activation of HP mixer elements. This also removes the handling of shared side/HP stream; it's anyway implemented in a broken way, so we need to re-implement the feature later... Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-06-20ALSA: hda - Unify auto-parser in patch_via.cTakashi Iwai
Now all codecs use the same parser-path, so we can reduce into a single auto-parser function. Signed-off-by: Takashi Iwai <tiwai@suse.de>