summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_conexant.c
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: hda - Split Thinkpad ACPI-related codeTakashi Iwai2014-01-081-97/+3
| | | | | | | | | | | | Both patch_realtek.c and patch_conexant.c contain the fairy same code snippet for supporting Thinkpad ACPI LED controls. Split them into thinkpad_helper.c and include it from both places. Although this isn't the best approach from the code size POV, the probability for coexistence of both Realtek and Conexant codecs on a single machine is pretty low, thus it'll end up with less memory footprint than splitting to yet another module. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix wrong <acpi/acpi.h> inclusion in Thinkpad ACPI users.Lv Zheng2013-12-201-1/+1
| | | | | | | | | CONFIG_ACPI dependent code should include <linux/acpi.h> instead of directly including <acpi/acpi.h>. This patch cleans up such wrong inclusions for Thinkpad ACPI users. Signed-off-by: Lv Zheng <lv.zheng@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Remove quirk for Dell Vostro 131David Henningsson2013-12-061-1/+0
| | | | | | | | | I've tested the old Dell Vostro 131 with the latest generic parser and it works just fine, and as a bonus we get better jack detection features in userspace. Therefore this quirk can be removed. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Enable mute/mic-mute LEDs for more Thinkpads with Conexant codecHui Wang2013-11-271-0/+23
| | | | | | | | | | | | | | | Most Thinkpad Edge series laptops use conexant codec, so far although the codecs have different minor Vendor Id and minor Subsystem Id, they all belong to the cxt5066 family, this change can make the mute/mic-mute LEDs support more generic among cxt_5066 family. This design refers to the similar solution for the realtek codec ALC269 family in the patch_realtek.c. Cc: Alex Hung <alex.hung@canonical.com> Signed-off-by: Hui Wang <hui.wang@canonical.com> Acked-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add support for CX20952Takashi Iwai2013-11-071-0/+3
| | | | | | | | It's a superset of the existing CX2075x codecs, so we can reuse the existing parser code. Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - add connection to thinkpad_acpi to control mute/micmute LEDsDavid Henningsson2013-10-171-2/+90
| | | | | Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix GPIO for Acer Aspire 3830TGTakashi Iwai2013-09-301-0/+11
| | | | | | | | | | | | Acer Aspire 3830TG seems requiring GPIO bit 0 as the primary mute control. When a machine is booted after Windows 8, the GPIO pin is turned off and it results in the silent output. This patch adds the manual fixup of GPIO bit 0 for this model. Reported-by: Christopher <DIDI2002@web.de> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Headphone mic support for an Asus/Conexant deviceDavid Henningsson2013-07-161-1/+78
| | | | | | | | | | | | | | This Conexant codec has a single jack that can be used as either headphone or mic (but not headset). The existing hp_mic functionality does not apply here, because the mic and the HP are on separate pins. Hence make a lighter version of what has been earlier done for Realtek codecs. BugLink: https://bugs.launchpad.net/bugs/1198030 Tested-by: Franz Hsieh <franz.hsieh@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Make Thinkpad X220-tablet use generic parserDavid Henningsson2013-06-201-1/+1
| | | | | | | | | | | | Like the X220, this quirk was added to support docking station, so enable the fixup instead. According to Jan, the generic parser works equal or better than the current parser. This was tested under a 3.9 kernel. Reported-by: Jan Alexander Steffens <jan.steffens@gmail.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix 3.9 regression of EAPD init on Conexant codecsTakashi Iwai2013-05-041-3/+14
| | | | | | | | | | | | | | The older Conexant codecs have up to two EAPDs and these are supposed to be rather statically turned on. The new generic parser code assumes the dynamic on/off per path usage, thus it resulted in the silent output on some machines. This patch fixes the problem by simply assuming the static EAPD on for such old Conexant codecs as we did until 3.8 kernel. Reported-and-tested-by: Christopher K. <c.krooss@gmail.com> Cc: <stable@vger.kernel.org> [v3.9] Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Move Thinkpad X220 to use auto parserDavid Henningsson2013-04-291-1/+1
| | | | | | | | | | This enables better volume controls than the current model parser. Also, because the original quirk for X220 was added to fix docking station support, add the TP410 fixup instead. Reported-by: Willian Jon McCann <william.jon.mccann@gmail.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Move beep attach/detach calls in hda_generic.cTakashi Iwai2013-03-181-11/+7
| | | | | | | | | Instead of calling snd_hda_attach_beep_device() and snd_hda_detach_beep_device() in each codec driver, move them to the generic parser. The codec driver just needs to set spec->beep_nid for activating the digital beep. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'for-linus' into for-nextTakashi Iwai2013-03-181-5/+11
|\ | | | | | | Back-merged for refactoring beep stuff.
| * ALSA: hda/cirrus - Fix the digital beep registrationTakashi Iwai2013-03-181-4/+4
| | | | | | | | | | | | | | | | The argument passed to snd_hda_attach_beep_device() is a widget NID while spec->beep_amp holds the composed value for amp controls. Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Fix missing beep detach in patch_conexant.cTakashi Iwai2013-03-181-1/+7
| | | | | | | | | | | | | | | | This leaks the beep input device after module unload, which leads to Oops. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=55321 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Don't apply EAPD power filter as defaultTakashi Iwai2013-03-131-1/+0
|/ | | | | | | | | | | | | | | | | | | | | So far, the driver doesn't power down the widget at going down to D3 when the widget node has an EAPD capability and EAPD is actually set on all codecs unless codec->power_filter is set explicitly. This caused a problem on some Conexant codecs, leading to click noises, and we set it as NULL there. But it is very unlikely that the problem hits only these codecs. Looking back at the development history, this workaround for EAPD was introduced just for some laptops with STAC9200 codec, then we applied it blindly for all. Now, since it's revealed to have an ill effect, we should disable this workaround per default and apply only for the known requiring systems. The EAPD workaround is implemented now as snd_hda_codec_eapd_power_filter(), and this has to be set explicitly by the codec driver when needed. As of now, only patch_stac9200() sets this one. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Remove speaker clicks on CX20549David Henningsson2013-02-141-0/+1
| | | | | | | | | | | | | | | This chip needs the speaker pin to go to D3 to avoid clicks, so default_power_filter does not work here. This was found on Thinkpad R61i/T61i but I guess it applies to the entire chip. If not, quirks should be set for at least PCI SSID 17aa:20ac. Thanks to c4pp4 for testing. BugLink: https://bugs.launchpad.net/bugs/886975 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add power state filteringTakashi Iwai2013-01-241-1/+1
| | | | | | | | | | | | Add a hook to struct hda_codec for filtering the target power state of each widget when powering up/down. The current hackish EAPD check is implemented as the default hook pointer, too. This allows codec drivers to implement own power filter. In the upcoming changes, the generic parser will have the better power filter based on the active paths. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'topic/hda-gen-parser' into for-nextTakashi Iwai2013-01-231-1275/+100
|\ | | | | | | | | | | | | | | | | | | This is a merge of really big changes: the generic parser is heavily enhanced for handling all cases, based on the former Realtek codec driver code. And all codec drivers except for a few ones (CA0132, HDMI and modem) have been converted to use the new generic driver. Conflicts: sound/pci/hda/patch_realtek.c
| * ALSA: hda/conexant - Set mixer NID 0x19 for CX20551 codecTakashi Iwai2013-01-181-0/+7
| | | | | | | | | | | | | | Conexant CX20551 codec has a mixer in NID 0x19 and a few outputs have to take the input through this widget. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Rearrange for dropping static quirk codes in Coexant driverTakashi Iwai2013-01-121-43/+57
| | | | | | | | | | | | | | | | | | | | Just shuffle the codes and add ifdefs for testing to drop the static quirk codes from patch_conexant.c. By commenting out ENABLE_CXT_STATIC_QUIRKS define at the beginning of the file, you can disable the whole static codes. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Use generic parser in Conexant codec driverTakashi Iwai2013-01-121-1253/+61
| | | | | | | | | | | | | | | | ... and drop most of own parser code. It doesn't replace any present static quirks, though. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Move fixup code into struct hda_codecTakashi Iwai2013-01-121-5/+1
| | | | | | | | | | | | | | Since the fixup code is used commonly, it's worth to move it to the common place, struct hda_codec, instead of keeping in hda_gen_spec. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add Conexant CX20755/20756/20757 codec IDsTakashi Iwai2013-01-211-0/+9
|/ | | | | | | These are just compatible with other CX2075x codecs. Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Revert "ALSA: hda - Shut up pins at power-saving mode with Conexnat codecs"David Henningsson2013-01-091-16/+0
| | | | | | | | | | | | | | This reverts commit 697c373e34613609cb5450f98b91fefb6e910588. The original patch was meant to remove clicking, but in fact caused even more clicking instead. Thanks to c4pp4 for doing most of the work with this bug. BugLink: https://bugs.launchpad.net/bugs/886975 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add stereo-dmic fixup for Acer Aspire One 522Takashi Iwai2012-12-121-0/+1
| | | | | | | | | | Acer Aspire One 522 has the infamous digital mic unit that needs the phase inversion fixup for stereo. Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=715737 Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add a helper function for simple enum kcontrolsTakashi Iwai2012-11-301-18/+3
| | | | | | | The same type of code is being used in multiple places in various codec drivers, so put it as a core library. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Apply a proper chmap for built-in 2.1 speakersTakashi Iwai2012-11-081-0/+5
| | | | | | | When 2.1 speakers are detected, use the corresponding channel map instead of the standard map with front+rear surrounds. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Give standard "Bass Speaker" mixer for 2.1 speakersTakashi Iwai2012-11-081-3/+25
| | | | | | | | When two built-in speakers are found on the machine, we can suppose it's rather a 2.1 speaker system with a bass output instead of front/surround channels. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: HDA: Make hda sound card usable for LoongsonHuacai Chen2012-10-151-0/+44
| | | | | | | | | | | | | | Lemote A1004(Laptop) and A1205(All-In-One) use Conexant's hda codec, this patch modify patch_conexant.c to add Lemote specific code. Both A1004 and A1205 use the same pin configurations, but A1004 need to increase the default boost of internal mic. Signed-off-by: Jie Chen <chenj@lemote.com> Signed-off-by: Huacai Chen <chenhc@lemote.com> Signed-off-by: Hongliang Tao <taohl@lemote.com> Signed-off-by: Hua Yan <yanh@lemote.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - fix indices on boost volume on ConexantDavid Henningsson2012-10-061-1/+1
| | | | | | | | | | | | After the recent patch "ALSA: hda - use both input paths on Conexant auto parser" suddenly we can have more than one "Mic Boost", this happened on Acer Aspire One 722. Therefore we must add the possibility to put an index on this "Mic Boost" just as we do for the other "Mic Boost" earlier in the same function. BugLink: https://bugs.launchpad.net/bugs/1059523 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add inverted internal mic quirk for Lenovo IdeaPad U310Felix Kaechele2012-10-061-0/+1
| | | | | | | | | The Lenovo IdeaPad U310 has an internal mic where the right channel is phase inverted. Signed-off-by: Felix Kaechele <felix@fetzig.org> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - make Realtek/Sigmatel/Conexant use the generic unsol eventDavid Henningsson2012-10-061-29/+15
| | | | | | | | For less duplication of code between codecs, and to make it easier in the future to improve code for all codecs simultaneously. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - use both input paths on Conexant auto parserDavid Henningsson2012-09-201-4/+16
| | | | | | | | | | | | | | | | | On the Thinkpad W520 - and probably several other machines with Conexant 506x chips - the Dock Mic and Mic are connected to the same two selector nodes. This patch will make Dock Mic take one selector node and Mic take the other, when possible. Without the patch, both paths would take the first selector, leading to the normal Mic's volume being controlled by "Dock Mic Boost". (On other machines, this could instead fixup similar problems between Mic and Line In, for example.) BugLink: https://bugs.launchpad.net/bugs/1037642 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - avoid non-standard "Docking" name in mixersDavid Henningsson2012-09-191-2/+2
| | | | | | | | The standard name (and what PulseAudio picks up) is "Dock Mic", not "Docking Mic" or "Docking-Station". Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Clean up CONFIG_SND_HDA_POWER_SAVETakashi Iwai2012-08-301-3/+3
| | | | | | | | CONFIG_SND_HDA_POWER_SAVE is no longer an experimental feature and its behavior can be well controlled via the default value and module parameter. Let's just replace it with the standard CONFIG_PM. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Call snd_hda_jack_report_sync() generically in hda_codec.cTakashi Iwai2012-08-221-1/+0
| | | | | | | | | Instead of calling the jack sync in the init callback of each codec, call it generically at initialization and resume. By calling it at the last of resume sequence, a possible race between the jack sync and the unsol event enablement in the current code will be closed, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - remove redundant auto quirks for conexant 506xDavid Henningsson2012-08-071-5/+0
| | | | | | | | Now that the auto model is the default, these quirks are redundant and can be removed. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - remove quirk for Dell Vostro 1015David Henningsson2012-08-071-1/+0
| | | | | | | | | This computer is confirmed working with model=auto on kernel 3.2. Also, parsing fails with hda-emu with the current model. Cc: stable@kernel.org (3.2+) Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: Convert to new pm_ops for PCI driversTakashi Iwai2012-07-031-1/+1
| | | | | | | | | | Straightforward conversion to the new pm_ops from the legacy suspend/resume ops. Since we change vx222, vx_core and vxpocket have to be converted, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix memory leaks in Realtek & Conexant codec parsersTakashi Iwai2012-06-261-1/+4
| | | | | | When moved to the helper code, forgot to release the verb arrays. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: HDA: Add inverted internal mic quirk for Lenovo S205David Henningsson2012-06-211-0/+1
| | | | | | | | | The Lenovo Ideapad S205 has an internal mic where the right channel is phase inverted. BugLink: https://bugs.launchpad.net/bugs/884652 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Don't forget to call init verbs added by fixup listTakashi Iwai2012-06-131-1/+1
| | | | | | | | | During the split to the auto-parser helper functions, the actual call of init verbs was lost. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=43366 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/conexant - Correct vendor IDs for new codecsTakashi Iwai2012-05-121-6/+9
| | | | | | Never trust datasheet... Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add Conexant CX20751/2/3/4 codec supportTakashi Iwai2012-05-101-0/+6
| | | | | | These are almost compatible with the older Conexant codecs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Move up the fixup helper functions to the library moduleTakashi Iwai2012-05-081-37/+25
| | | | | | | Move the fixup helper functions in patch_realtek.c to hda_auto_parser.c so that they can be used in other codec drivers like patch_conexant.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add snd_hda_get_default_vref() helper functionTakashi Iwai2012-04-201-5/+4
| | | | | | | | Add a new helper function to guess the default VREF pin control bits for mic in. This can be used to set the pin control value safely matching with the actual pin capabilities. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Introduce snd_hda_set_pin_ctl*() helper functionsTakashi Iwai2012-04-201-29/+15
| | | | | | | | | | | | | | | For setting the pin-control values more safely to match with the actual pin capability bits, a copule of new helper functions, snd_hda_set_pin_ctl() and snd_hda_set_pin_ctl_cache(), are introduced. These are simple replacement of the codec verb write with AC_VERB_SET_PIN_WIDGET but do more sanity checks and filter out superfluous pin-control bits if they don't fit with the corresponding pin capabilities. Some codecs are screwed up or ignore the command when such a wrong bit is set. These helpers will avoid such secret errors. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'fix/hda' into topic/hdaTakashi Iwai2012-04-191-5/+30
|\ | | | | | | | | | | | | Conflicts: sound/pci/hda/patch_conexant.c Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * Merge branch 'fix/cxt-stable' into fix/hdaTakashi Iwai2012-04-191-5/+30
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Merge fixes for Thinkpad docking-station regressions for 3.3 kernels back to 3.4. These were committed in that branch to make the stable merging easier. Conflicts: sound/pci/hda/patch_conexant.c
OpenPOWER on IntegriCloud