summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: Introduce common helper functions for jack-detection controlTakashi Iwai2011-11-167-49/+76
| | | | | | | | 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>
* ALSA: hda - Manage unsol tags in hda_jack.cTakashi Iwai2011-11-168-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>
* ALSA: hda - Create jack-detection kcontrolsTakashi Iwai2011-11-168-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>
* ALSA: hda - Cache the jack-detection valueTakashi Iwai2011-11-1613-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>
* ALSA: hda - Introduce snd_hda_get_pin_label()Takashi Iwai2011-11-165-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>
* Merge branch 'fix/hda' into topic/hdaTakashi Iwai2011-11-1610-74/+107
|\
| * ALSA: hda - Update URLs in documentTakashi Iwai2011-11-161-4/+4
| | | | | | | | | | | | Some stuff was moved from kernel.org to other places. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - move eld->spk_alloc fixup to hdmi_update_eld()Wu Fengguang2011-11-162-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>
| * ALSA: hda - delayed ELD repollWu Fengguang2011-11-161-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>
| * ALSA: hda - fix ELD memory leakWu Fengguang2011-11-163-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>
| * ALSA: hda/realtek: remove redundant semicolonJesper Juhl2011-11-141-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>
| * ALSA: hda - pwr_nids cleanup for IDT codecsCharles Chin2011-11-111-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>
| * Merge branch 'fix/misc' into for-linusTakashi Iwai2011-11-109-47/+123
| |\
| | * ALSA: usb-audio: Use kmemdup rather than duplicating its implementationThomas Meyer2011-11-101-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>
| * | Merge branch 'fix/asoc' into for-linusTakashi Iwai2011-11-093-15/+45
| |\ \
| | * \ Merge branch 'for-3.2' of ↵Mark Brown2011-11-083-15/+45
| | |\ \ | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-3.2
| | | * | ASoC: Ensure we get an impedence reported for WM8958 jack detectMark Brown2011-11-042-11/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Occasionally we may see an accessory reported before we have a stable impedance for the accessory. If this happens then reread the status in order to ensure that the handler can take the appropriate action for the status change. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | | * | ASoC: Don't use wm8994->control_data when requesting IRQsMark Brown2011-11-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The field is no longer initialised so this will crash if running on wm8958. Reported-by: Thomas Abraham <thomas.abraham@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | | * | ASoC: Don't use wm8994->control_data in wm8994_readable_register()Mark Brown2011-11-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The field is no longer initialised so this will crash if running on wm8958. Reported-by: Thomas Abraham <thomas.abraham@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
| | | * | ASoC: Update git repository URLMark Brown2011-11-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the -2.6 from the name. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | | | ALSA: hda/realtek - Move ALC880 model=lg-lw to auto-parserTakashi Iwai2011-11-151-103/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ALC880 model=lg-lw works fine with the auto-parser as is. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | ALSA: hda/realtek - Move ALC880 model=medion-rim to auto-parserTakashi Iwai2011-11-152-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>
* | | | | ALSA: hda/realtek - Move ALC885 macpro and imac24 models to auto-parserTakashi Iwai2011-11-142-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>
* | | | | ALSA: hda/realtek - Re-add the model string selection for ALC88xTakashi Iwai2011-11-141-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>
* | | | | ALSA: hda/realtek - Remove left-over chunks in alc882_quirks.cTakashi Iwai2011-11-141-102/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove unused variables. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | ALSA: hda/realtek - Create mono volume controls for mono-outputsTakashi Iwai2011-11-141-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>
* | | | | ALSA: hda/realtek - Rewrite ALC882 acer-aspire-* models with the auto-parserTakashi Iwai2011-11-102-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>
* | | | | ALSA: hda/realtek - Create multi-io jacks more aggresivelyTakashi Iwai2011-11-101-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>
* | | | | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2011-11-106-43/+108
|\ \ \ \ \ | | |_|_|/ | |/| | |
| * | | | ALSA: hda - Re-enable the check NO_PRESENCE misc bitTakashi Iwai2011-11-103-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>
| * | | | ALSA: vmaster - Free slave-links when freeing the master elementTakashi Iwai2011-11-101-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>
| * | | | ALSA: hda - Don't add elements of other codecs to vmaster slaveTakashi Iwai2011-11-101-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>
| * | | | ALSA: intel8x0: improve virtual environment detectionKonstantin Ozerkov2011-11-091-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>
| * | | | ALSA: intel8x0: move virtual environment detection code into one placeKonstantin Ozerkov2011-11-091-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>
| * | | | ALSA: snd_usb_audio: add Logitech HD Webcam c510 to quirk-384Alexey Fisher2011-11-091-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>
* | | | | ALSA: hda/realtek - Drop ALC882 desktop model quirksTakashi Iwai2011-11-092-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>
* | | | | ALSA: hda/realtek - Remove ALC882 targa-* modelsTakashi Iwai2011-11-092-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>
* | | | | ALSA: hda/realtek - Reorder alc882_fixup_tbl[]Takashi Iwai2011-11-091-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No, I'm not Mr. Monk, but can't resist... Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | ALSA: hda/realtek - Move ALC882 model=acer-aspire to auto-parserTakashi Iwai2011-11-092-62/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ALC882 model=acer-aspire requires the additional COEF setup. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | ALSA: hda/realtek - Drop ALC882 model=acer quirkTakashi Iwai2011-11-091-20/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This quirk is anyway not used any more, so no problem to remove. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | ALSA: hda/realtek - Drop ALC882 model=clevo-m720 quirkTakashi Iwai2011-11-091-74/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This works well without any special handling with the auto-parser. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | ALSA: hda/realtek - Drop ALC882 3stack-hp, 6stack-dell and clevo-m540r modelsTakashi Iwai2011-11-091-150/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These static configs are no longer needed by replacement with the auto-parser. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | ALSA: hda/realtek - Replace ALC882 arima, medion and laptop-eapd quirksTakashi Iwai2011-11-092-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>
* | | | | ALSA: hda/realtek - Drop ALC882 mitac and fujitsu-xa3530 static configsTakashi Iwai2011-11-091-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>
* | | | | ALSA: hda/realtek - Drop ALC882 lenovo and haier-w66 static configsTakashi Iwai2011-11-091-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>
* | | | | ALSA: hda/realtek - Drop lenovo-sky, asus-m90v, fujitsu-pi2515 quirksTakashi Iwai2011-11-091-181/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These machines are working well with the auto-parser without static configurations. More diet. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | ALSA: hda/realtek - Drop ALC882 asus-a7j and asus-a7m modelsTakashi Iwai2011-11-092-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>
* | | | | ALSA: hda/realtek - Look through codec SSID for fix-up listsTakashi Iwai2011-11-091-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>
* | | | | ALSA: hda/realtek - Move ALC888 ASUS EEE1601 config to auto-parserTakashi Iwai2011-11-092-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>
* | | | | ALSA: hda/realtek - Drop ALC882 model=asus-p5q static configTakashi Iwai2011-11-091-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It works well with the auto-parser and the default BIOS setup. Signed-off-by: Takashi Iwai <tiwai@suse.de>
OpenPOWER on IntegriCloud