summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-11-16ALSA: hda - Manage unsol tags in hda_jack.cTakashi Iwai8-126/+105
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 Iwai8-4/+232
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 Iwai13-117/+284
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 Iwai5-9/+66
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 Iwai10-74/+107
2011-11-16ALSA: hda - Update URLs in documentTakashi Iwai1-4/+4
Some stuff was moved from kernel.org to other places. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-16ALSA: hda - move eld->spk_alloc fixup to hdmi_update_eld()Wu Fengguang2-10/+8
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 Fengguang1-7/+29
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 Fengguang3-10/+9
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 Iwai1-103/+0
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 Iwai2-90/+38
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 Iwai2-175/+56
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 Iwai1-1/+4
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 Iwai1-102/+0
Remove unused variables. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-14ALSA: hda/realtek - Create mono volume controls for mono-outputsTakashi Iwai1-4/+17
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 Juhl1-1/+1
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 Chin1-24/+9
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-10Merge branch 'fix/misc' into for-linusTakashi Iwai9-47/+123
2011-11-10ALSA: usb-audio: Use kmemdup rather than duplicating its implementationThomas Meyer1-4/+3
Use kmemdup rather than duplicating its implementation The semantic patch that makes this change is available in scripts/coccinelle/api/memdup.cocci. Signed-off-by: Thomas Meyer <thomas@m3y3r.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-10ALSA: hda/realtek - Rewrite ALC882 acer-aspire-* models with the auto-parserTakashi Iwai2-430/+69
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 Iwai1-12/+51
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 Iwai6-43/+108
2011-11-10ALSA: hda - Re-enable the check NO_PRESENCE misc bitTakashi Iwai3-7/+14
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: vmaster - Free slave-links when freeing the master elementTakashi Iwai1-4/+14
When freeing the vmaster master element, we should release slave-links properly, not only assumig that slaves will be freed soon later. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-10ALSA: hda - Don't add elements of other codecs to vmaster slaveTakashi Iwai1-21/+39
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: intel8x0: improve virtual environment detectionKonstantin Ozerkov1-10/+31
Detection code improved by PCI SSID usage. VM optimization now enabled only for known devcices (skip host devices forwarded to VM by VT-d or same kind of technology). For debug/troubleshooting purposes optimization can be forced (on/off) by module parameter: "inside_vm" (boolean). Known devices (PCI SSID): 1af4:1100: Reserved for KVM devices. Note this is not yet implemented for KVM's ICH/AC'97 emulation. 1ab8:xxxx: Parallels ICH/AC'97 emulated sound. [ fixed a minor coding-style issue by tiwai] Signed-off-by: Konstantin Ozerkov <kozerkov@parallels.com> Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-09ALSA: intel8x0: move virtual environment detection code into one placeKonstantin Ozerkov1-11/+19
This is refactoring patch: preparation for add improved detection code. Now all detection code placed in one place. Signed-off-by: Konstantin Ozerkov <kozerkov@parallels.com> Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-09ALSA: hda/realtek - Drop ALC882 desktop model quirksTakashi Iwai2-788/+22
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 Iwai2-235/+6
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 Iwai1-3/+3
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 Iwai2-62/+16
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 Iwai1-20/+0
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 Iwai1-74/+0
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 Iwai1-150/+0
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 Iwai2-104/+13
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 Iwai1-131/+0
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 Iwai1-188/+0
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 Iwai1-181/+0
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 Iwai2-107/+13
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 Iwai1-4/+18
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 Iwai2-74/+10
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 Iwai1-15/+0
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 Iwai4-51/+71
2011-11-09ALSA: snd_usb_audio: add Logitech HD Webcam c510 to quirk-384Alexey Fisher1-0/+1
Logitech HD Webcam c510 provide wrong mixer resolution. Add it to "res = 384" quirk. Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-09ALSA: hda - fix internal mic on Dell Vostro 3500 laptopJulian Wollrath2-0/+12
Fix the not working internal mic on Dell Vostro 3500 laptop by introducing the new model dell-vostro-3500. Signed-off-by: Julian Wollrath <jwollrath@web.de> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-09Merge branch 'fix/asoc' into for-linusTakashi Iwai3-15/+45
2011-11-09ALSA: HDA: Remove quirk for Toshiba T110David Henningsson1-1/+0
According to the bug reporter, model=auto is needed to make the internal microphone work. BugLink: https://bugs.launchpad.net/bugs/819699 Reported-by: Andrej (agno01) Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-08ALSA: usb-audio - Fix the missing volume quirks at delayed initTakashi Iwai1-50/+59
In the recent usb-audio driver, the initialization of volume ranges may be delayed when the device doesn't respond well at the probing time. But the volume quirks for certain devices are applied only in mixer_ctl_feature_info() thus only at the very first probe and will be missing when the volume range is initialized later. This patch moves the volume quirk code to be always called from the volume-range extraction (get_min_max()), so that the quirks are properly applied in the later init time. Reported-and-tested-by: Alexey Fisher <bug-track@fisher-privat.net> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2011-11-08Merge branch 'for-3.2' of ↵Mark Brown3-15/+45
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-3.2
2011-11-08ALSA: hda/realtek - Rewrite ALC882 model=vaio-tt with auto-parserTakashi Iwai2-61/+24
Providing a pincfg fix for VAIO-TT with ALC889 codec to work with the auto-parser, and drop the static configuration. Signed-off-by: Takashi Iwai <tiwai@suse.de>