aboutsummaryrefslogtreecommitdiff
path: root/sound/pci/hda
AgeCommit message (Collapse)Author
2011-11-22ALSA: hda - repoll ELD content for multiple timesWu Fengguang
Improve the one-shot ELD repoll to up to 6 retries. Up to now the 300ms looks sufficient for the test boxes. However I'm a bit worried about how well it can fit the wider user base. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-21ALSA: hda - Don't add channel suffix for headphone pin labelsTakashi Iwai
The multiple headphone pins are usually handled as copied from the same source, not as individual channels like front and surround. Thus it'd be more correct to avoid the channel suffix for "Headphone" pin labels in snd_hda_get_pin_label() but give an index number instead. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-21ALSA: hda - Fix a typoTakashi Iwai
Reported-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-19ALSA: hda - Add pin fix for Alienware M17x R3Takashi Iwai
Reported-by: Albert Pool <albertpool@solcon.nl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-16ALSA: hda - Fix the connection selection of ADCs on Cirrus codecsTakashi Iwai
spec->cur_adc isn't set until cs_capture_pcm_prepare() is called although the driver tries to select the connection at init time and at auto-mic switch. This results in the access to the widget NID 0, which is obviously invalid, also a wrong capture source. This patch fixes the issue by issuing the connect-select verb conditionally at appropriate places. Reported-and-tested-by: Dylan Reid <dgreid@chromium.org> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-16ALSA: hda - Give more unique names by snd_hda_get_pin_label()Takashi Iwai
The function now gives more unique names for the output pins by adding some prefix and suffix for the location and the channels. Otherwise, it can pass the index number. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-16ALSA: hda - Add missing inclusion of linux/export.hTakashi Iwai
This is needed newly since 3.2... Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-16ALSA: hda - Add missing initialization of kctl jack statusTakashi Iwai
Otherwise the jack kctls will report invalid values until the jack is re-plugged. Reported-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-16ALSA: hda/jack - Fix the assignment of input jack-typeTakashi Iwai
The type field was lost during the transition. Restored. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-16ALSA: hda/jack - Fix NULL-dereference at probingTakashi Iwai
At probing time, the elements that aren't assigned to kctl or jack may be called. Need proper NULL-checks. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-16ALSA: HDA: Jack: Export required functions from hda_jack.cDavid Henningsson
These two functions are being used by the codec-idt and codec-hdmi modules, so they need to be exported properly. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-16ALSA: hda - Merge input-jack helpers to hda_jack.cTakashi Iwai
We can use the very same table in hda_jack.c for managing the list for input-jack elements, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-16ALSA: Introduce common helper functions for jack-detection controlTakashi Iwai
Now move the helper function for creating and reporting the jack-detection to the common place. The driver that needs this functionality should select CONFIG_SND_KCTL_JACK kconfig. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-16ALSA: hda - Manage unsol tags in hda_jack.cTakashi Iwai
Manage the tags assigned for unsolicited events dynamically together with the jack-detection routines. Basically this is almost same as what we've done in patch_sigmatel.c. Assign the new tag number for each new unsol event, associate with the given NID and the action type, etc. With this change, now all pins looked over in snd_hda_jack_add_kctls() are actually enabled for detection now even if the pins aren't used for jack-retasking by the driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-16ALSA: hda - Create jack-detection kcontrolsTakashi Iwai
Create kcontrols for pin jack-detections, which work similarly like jack-input layer. Each control will notify when the jack is plugged or unplugged, and also user can read the value at any time via the normal control API. The control elements are created with iface=CARD, so that they won't appear in the mixer apps. So far, only the pins that enabled the jack-detection are registered. For covering all pins, the transition of the common unsol-tag handling would be needed. Stay tuned. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-16ALSA: hda - Cache the jack-detection valueTakashi Iwai
Introduce a table containing the pins and their jack-detection states for avoiding the unnecessary verbs to check the pin status at each time. When the unsol event is enabled via snd_hda_jack_detect_enable(), it automatically adds the given NID to the table. Then the driver supposes that the codec driver will set the dirty flag appropariately when an unsolicited event is invoked for that pin. The behavior for reading other pins that aren't registered in the table doesn't change. Only the pins assigned to the table are cached, so far. In near futre, this table can be extended to use the central place for the unsolicited events of all pins, etc, and eventually include the jack-detect kcontrols that replace the current input-jack stuff. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-16ALSA: hda - Introduce snd_hda_get_pin_label()Takashi Iwai
Create a new helper function snd_hda_get_pin_label() for getting a label string for both input and output pins. hda_get_input_pin_label() is obsoleted by this function, and the callers are replaced appropriately now by this patch. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-16Merge branch 'fix/hda' into topic/hdaTakashi Iwai
2011-11-16ALSA: hda - move eld->spk_alloc fixup to hdmi_update_eld()Wu Fengguang
It looks more natural and saves two lines of code. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-16ALSA: hda - delayed ELD repollWu Fengguang
The Intel HDMI chips (ironlake at least) are found to have ~250ms delay between the ELD_Valid=1 hotplug event is send and the ELD buffer becomes actually readable. During the time the ELD buffer is mysteriously all 0. Fix it by scheduling a delayed work to re-read ELD buffer after 300ms. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-16ALSA: hda - fix ELD memory leakWu Fengguang
memset(eld) clears eld->proc_entry which will leak the struct snd_info_entry when unloading module. Fix it by - memset only the fields before eld->eld_buffer - set eld->eld_valid to true _after_ all eld fields have been filled Cc: <stable@kernel.org> Cc: Pierre-louis Bossart <pierre-louis.bossart@intel.com> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-15ALSA: hda/realtek - Move ALC880 model=lg-lw to auto-parserTakashi Iwai
ALC880 model=lg-lw works fine with the auto-parser as is. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-15ALSA: hda/realtek - Move ALC880 model=medion-rim to auto-parserTakashi Iwai
Translate ALC880 medion-rim static configs to the auto-parser with the additional GPIO2 verb and COEF setup. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-14ALSA: hda/realtek - Move ALC885 macpro and imac24 models to auto-parserTakashi Iwai
The ALC882 macpro and imac24 static configs can be transferred to the auto-parser with the additional GPIO setup. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-14ALSA: hda/realtek - Re-add the model string selection for ALC88xTakashi Iwai
In the commit [c3e837bb: ALSA: hda/realtek - Rewrite ALC882 acer-aspire-* models with the auto-parser], the check of the model option got removed mistakenly. Re-added the board_config check again. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-14ALSA: hda/realtek - Remove left-over chunks in alc882_quirks.cTakashi Iwai
Remove unused variables. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-14ALSA: hda/realtek - Create mono volume controls for mono-outputsTakashi Iwai
When the pin or the DAC doesn't support the stereo, create a mono control instead of creating a stereo control blindly. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-14ALSA: hda/realtek: remove redundant semicolonJesper Juhl
Having just one semicolon after a break statement is enough. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-11ALSA: hda - pwr_nids cleanup for IDT codecsCharles Chin
Clean up and fix pwr_nids for 92HD71 / 73 / 83 family codecs; remove pwr_mapping which was incorrect. The original pwr_nids support of 92HD83xxx was incorrect and never actually worked before. Now we should have things working correctly without having to hack by DID anymore. It is also not necessary to explicitly turn on all the pins near the beginning of patch_stac92hd83xxx() now, the pins will go though initialization properly. Tested on 92HD66 / 71 / 73 / 75 / 83 / 89 / 91 demo boards. Signed-off-by: Charles Chin <Charles.Chin@idt.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-10ALSA: hda/realtek - Rewrite ALC882 acer-aspire-* models with the auto-parserTakashi Iwai
Now we can move the big acer-aspire-* static quirks to the auto-paresr with some additional pin-configs and verbs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-10ALSA: hda/realtek - Create multi-io jacks more aggresivelyTakashi Iwai
So far the driver creates the multi-io jacks only when a single output jack, i.e. no multiple speakers are assigned. This patch adds the similar multi-io detection even with multiple speakers are assigned primarily, so that 5.1-speakers + HP/mic/LI combination can work. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-10Merge branch 'fix/hda' into topic/hdaTakashi Iwai
2011-11-10ALSA: hda - Re-enable the check NO_PRESENCE misc bitTakashi Iwai
We disabled the check of NO_PRESENCE bit of the default pin-config in commit f4419172 temporarily. One problem was that the first implementation was wrong -- the bit after the shift must be checked. However, this would still give many regressions on machines with broken BIOS. They set this bit wrongly even on active pins. A workaround is to check whether all pins contain this bit. As far as I've checked, broken BIOSen set this bit on all pins, no matter whether active or not. In such a case, the driver should ignore this bit check. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-10ALSA: hda - Don't add elements of other codecs to vmaster slaveTakashi Iwai
When a virtual mater control is created, the driver looks for slave elements from the assigned card instance. But this may include the elements of other codecs when multiple codecs are on the same HD-audio bus. This works at the first time, but it'll give Oops when it's once freed and re-created via reconfig sysfs. This patch changes the element-look-up strategy to limit only to the mixer elements of the same codec. Reported-by: David Henningsson <david.henningsson@canonical.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-09ALSA: hda/realtek - Drop ALC882 desktop model quirksTakashi Iwai
Now we're touching the desktop static configs for ALC88x codecs. These are mostly OK with the auto-parser, but some models need careful handling; ALC889 intel mobo requires the COEF setup, and W2JC needs GPIO1 and COEF. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-09ALSA: hda/realtek - Remove ALC882 targa-* modelsTakashi Iwai
All ALC882 targa-* models can be replaced with the auto-parser just with the additional GPIO3 setup. And it's generically applied to all MSI boards unless other quirks are present. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-09ALSA: hda/realtek - Reorder alc882_fixup_tbl[]Takashi Iwai
No, I'm not Mr. Monk, but can't resist... Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-09ALSA: hda/realtek - Move ALC882 model=acer-aspire to auto-parserTakashi Iwai
The ALC882 model=acer-aspire requires the additional COEF setup. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-09ALSA: hda/realtek - Drop ALC882 model=acer quirkTakashi Iwai
This quirk is anyway not used any more, so no problem to remove. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-09ALSA: hda/realtek - Drop ALC882 model=clevo-m720 quirkTakashi Iwai
This works well without any special handling with the auto-parser. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-09ALSA: hda/realtek - Drop ALC882 3stack-hp, 6stack-dell and clevo-m540r modelsTakashi Iwai
These static configs are no longer needed by replacement with the auto-parser. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-09ALSA: hda/realtek - Replace ALC882 arima, medion and laptop-eapd quirksTakashi Iwai
Move these quitks to the auto-parser. They just need some EAPD setups in addition. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-09ALSA: hda/realtek - Drop ALC882 mitac and fujitsu-xa3530 static configsTakashi Iwai
These are working well with the auto-parser although they have relatively complex setup. Let's go forward. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-09ALSA: hda/realtek - Drop ALC882 lenovo and haier-w66 static configsTakashi Iwai
Remove all ALC882 static configurations for all Lenovo and Haier-w66 quirks. They work fine with the auto-parser now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-09ALSA: hda/realtek - Drop lenovo-sky, asus-m90v, fujitsu-pi2515 quirksTakashi Iwai
These machines are working well with the auto-parser without static configurations. More diet. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-09ALSA: hda/realtek - Drop ALC882 asus-a7j and asus-a7m modelsTakashi Iwai
These models work fine with the auto-parser with the additional COEF setup. The iMac 7,1 (106b:3200) also uses the same quirk, so remove it too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-09ALSA: hda/realtek - Look through codec SSID for fix-up listsTakashi Iwai
Not only PCI SSIDs but also look through codec SSIDs for fix-up table entries. MacBook tend to give the same PCI SSID but unique codec SSIDs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-09ALSA: hda/realtek - Move ALC888 ASUS EEE1601 config to auto-parserTakashi Iwai
The ASUS EEE1601 works almost fine with the auto-parser but the static configuration has a certain specific COEF verb. Add this to the fix-up list so that we can drop the whole EEE1601 static config from alc882_quirks.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-09ALSA: hda/realtek - Drop ALC882 model=asus-p5q static configTakashi Iwai
It works well with the auto-parser and the default BIOS setup. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-09Merge branch 'fix/hda' into topic/hdaTakashi Iwai