summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_realtek.c
AgeCommit message (Collapse)AuthorFilesLines
2014-01-16ALSA: hda - add headset mic detect quirks for some Dell machinesHui Wang1-1/+8
When we plug a 3-ring headset on some Dell machines, the headset mic can't be detected, after apply this patch, the headset mic can work well on all those machines. On the machine with the Subsytem ID 0x10280610, if we use ALC269_FIXUP_DELL1_MIC_NO_PRESENCE, the headset mic can be detected and work well, but the sound can't be outputed via headphone anymore, use ALC269_FIXUP_DELL3_MIC_NO_PRESENCE can fix this problem. BugLink: https://bugs.launchpad.net/bugs/1260303 Cc: David Henningsson <david.henningsson@canonical.com> Tested-by: David Chen <david.chen@canonical.com> Tested-by: Cyrus Lien <cyrus.lien@canonical.com> Tested-by: Shawn Wang <shawn.wang@canonical.com> Tested-by: Chih-Hsyuan Ho <chih.ho@canonical.com> Cc: stable@vger.kernel.org Signed-off-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-01-14ALSA: hda - automute via amp instead of pinctl on some AIO modelsHui Wang1-3/+19
On some AIO (All In One) models with the codec alc668 (Vendor ID: 0x10ec0668) on it, when we plug a headphone into the jack, the system will switch the output to headphone and set the speaker to automute as well as change the speaker Pin-ctls from 0x40 to 0x00, this will bring loud noise to the headphone. I tried to disable the corresponding EAPD, but it did not help to eliminate the noise. According to Takashi's suggestion, we use amp operation to replace the pinctl modification for the automute, this really eliminate the noise. BugLink: https://bugs.launchpad.net/bugs/1268468 Cc: David Henningsson <david.henningsson@canonical.com> Cc: stable@vger.kernel.org Signed-off-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-01-08ALSA: hda - Split Thinkpad ACPI-related codeTakashi Iwai1-90/+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>
2014-01-08ALSA: hda - Minor code optimization for patch_realtek.cTakashi Iwai1-12/+3
No functional change. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-01-05ALSA: hda - Disable Front HP jack detection on Gigabyte Z87X-UD3HDavid Henningsson1-1/+11
This motherboard seems to have a flaky jack detection - when the front HP is not present, the jack state quickly switches on and off. This has been reported by three people in the bug, so I doubt it's a user error this time. BugLink: https://bugs.launchpad.net/bugs/1248116 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-01-05Merge branch 'for-linus' into for-nextTakashi Iwai1-0/+1
2013-12-20ALSA: hda - Enable subwoofer on Dell Vostro 5460/5470David Henningsson1-6/+37
In this case, there are two DACs, and DAC 0x03 is mono. In order to make headphones and front speaker use DAC 0x02, and subwoofer use DAC 0x03, we artificially cut the connection from nodes 0x14 and 0x15 to node 0x03, so they can only use DAC 0x02. In addition, the 5460 and 5470 differs in the sense that 5470 also needs a headset mic patch, whereas 5460 has individual detection for headphone and headset mic. BugLink: https://bugs.launchpad.net/bugs/1211920 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-12-20ALSA: hda - Fix wrong <acpi/acpi.h> inclusion in Thinkpad ACPI users.Lv Zheng1-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>
2013-12-18ALSA: hda - Add Dell headset detection quirk for one more laptop modelHui Wang1-0/+1
On the Dell machines with codec whose Subsystem Id is 0x10280640, no external microphone can be detected when plugging a 3-ring headset. Using ALC255_FIXUP_DELL1_MIC_NO_PRESENCE can fix this problem. The codec (Vendor ID: 0x10ec0255) on the machine belongs to alc_269 family. BugLink: https://bugs.launchpad.net/bugs/1260303 Cc: David Henningsson <david.henningsson@canonical.com> Cc: stable@vger.kernel.org Signed-off-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-12-16Merge branch 'for-linus' into for-nextTakashi Iwai1-18/+75
2013-12-13ALSA: hda - Add Dell headset detection quirk for three laptop modelsHui Wang1-0/+3
On the Dell machines with codec whose Subsystem Id is 0x10280610, 0x10280629 or 0x1028063e, no external microphone can be detected when plugging a 3-ring headset. If we add "model=dell-headset-multi" for the snd-hda-intel.ko, the problem will disappear. The codecs on these machines belong to alc_269 family. BugLink: https://bugs.launchpad.net/bugs/1260303 Cc: David Henningsson <david.henningsson@canonical.com> Cc: stable@vger.kernel.org Signed-off-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-12-11ALSA: hda - One more Dell headset detection quirkHui Wang1-0/+1
On the Dell machines with codec whose Subsystem Id is 0x10280624, no external microphone can be detected when plugging a 3-ring headset. If we add "model=dell-headset-multi" for the snd-hda-intel.ko, the problem will disappear. BugLink: https://bugs.launchpad.net/bugs/1259790 Cc: David Henningsson <david.henningsson@canonical.com> Cc: stable@vger.kernel.org Signed-off-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-12-10ALSA: hda - Another Dell headset detection quirkHui Wang1-0/+1
On the Dell Inspiron 3045 machine (codec Subsystem Id: 0x10280628), no external microphone can be detected when plugging a 3-ring headset. If we add "model=dell-headset-multi" for the snd-hda-intel.ko, the problem will disappear. BugLink: https://bugs.launchpad.net/hwe-somerville/+bug/1259437 CC: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-12-10ALSA: hda - A Dell headset detection quirkHui Wang1-0/+1
On the Dell Optiplex 3030 machine (codec Subsystem Id: 0x10280623), no external microphone can be detected when plugging a 3-ring headset. If we add "model=dell-headset-multi" for the snd-hda-intel.ko, the problem will disappear. BugLink: https://bugs.launchpad.net/hwe-somerville/+bug/1259435 CC: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-12-05ALSA: hda - fix mic issues on Acer Aspire E-572Oleksij Rempel1-0/+8
This patch add quirk for Acer Aspire E-572: - fix external mic - limit mic boost for internal mic with maximal noise level of -24dB Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-12-04ALSA: hda - Fix silent output on MacBook Air 2,1Takashi Iwai1-8/+31
MacBook Air 2,1 has a fairly different pin assignment from its brother MBA 1,1, and yet another quirks are needed for pin 0x18 and 0x19, similarly like what iMac 9,1 requires, in order to make the sound working on it. Reported-and-tested-by: Bruno Prémont <bonbons@linux-vserver.org> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-12-04ALSA: hda/realtek - remove hp_automute_hook from alc283_fixup_chromebookKailang Yang1-1/+0
I forgot to remove the hp_automute_hook from alc283_fixup_chromebook. It doesn't need this for other chrome os machine. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-12-03ALSA: hda - fixup ALC262 to skip depop delay before D3 on Intel BayleyBayMengdong Lin1-1/+3
This patch sets a 0ms depop delay in fixup funtion 'alc_fixup_no_depop_delay'. And Realteck ALC262 applies this on Intel Baytrail BayleyBay platform to reduce codec suspend time. Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Reviewed-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-12-03ALSA: hda/realtek - Independent of model for HPKailang Yang1-10/+28
Create single model for HP. The headset jack module was difference between other chrome book. It need to manual control Mic jack detect. Chrome OS loaded driver by models. Remove old assigned fixup table from ALC269 fixup list entry. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-12-03ALSA: hda - Fix headset mic input after muted internal mic (Dell/Realtek)David Henningsson1-0/+2
By trial and error, I found this patch could work around an issue where the headset mic would stop working if you switch between the internal mic and the headset mic, and the internal mic was muted. It still takes a second or two before the headset mic actually starts working, but still better than nothing. Information update from Kailang: The verb was ADC digital mute(bit 6 default 1). Switch internal mic and headset mic will run alc_headset_mode_default. The coef index 0x11 will set to 0x0041. Because headset mode was fixed type. It doesn't need to run alc_determine_headset_type. So, the value still keep 0x0041. ADC was muted. BugLink: https://bugs.launchpad.net/bugs/1256840 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-12-02ALSA: hda - Another fixup for ASUS laptop with ALC660 codecTakashi Iwai1-0/+1
ASUS Z35HL laptop also needs the very same fix as the previous one that was applied to ASUS W7J. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=66231 Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-12-02Merge branch 'for-linus' into for-nextTakashi Iwai1-3/+35
2013-11-29ALSA: hda - Fix silent output on ASUS W7J laptopTakashi Iwai1-0/+12
The recent kernels got regressions on ASUS W7J with ALC660 codec where no sound comes out. After a long debugging session, we found out that setting the pin control on the unused NID 0x10 is mandatory for the outputs. And, it was found out that another magic of NID 0x0f that is required for other ASUS laptops isn't needed on this machine. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=66081 Reported-and-tested-by: Andrey Lipaev <lipaev@mail.ru> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-29ALSA: hda - fixup ALC262 to remove depop delay on Intel BayleyBay boardMengdong Lin1-0/+15
This patch defines a fixup 'alc_fixup_no_depop_delay', which sets alc_spec flag 'no_depop_delay' to indicate skipping delay in Realtek codec suspend/resume. And Intel Baytrail BayleyBay board applies this fixup to reduce driver suspend/resume time. Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-29ALSA: hda/realtek - Remove depop delay for suspend and resume if applicableKailang Yang1-4/+11
This patch defines a flag "no_depop_delay" in alc_spec. If this flag is set, delay in alc_eapd_shutup and alc_resume will be skipped. Machine-specific fixup can set this flag to reduce suspend/resume time, if the codec and hardware analog design can avoid pop noise without this delay. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Mengdong Lin <mengdong.lin@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-29ALSA: hda/realtek - Add more codecs alias name for DellKailang Yang1-1/+30
Dell assigned alias name for more codecs. ALC3220 ALC3221 ALC3223 ALC3226 ALC3234 ALC3661. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-29ALSA: hda - Add mono speaker quirk for Dell Inspiron 5439David Henningsson1-0/+1
This machine also has mono output if run through DAC node 0x03. Cc: stable@vger.kernel.org (v3.10+) BugLink: https://bugs.launchpad.net/bugs/1256212 Tested-by: David Chen <david.chen@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-28ALSA: hda - Add LFE chmap to ASUS ET2700Takashi Iwai1-3/+13
As the previous commit 1f0bbf03cb82 added the pin config for the bass speaker, this patch adds the corresponding LFE-only channel map on ASUS ET2700. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=65961 Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-28ALSA: hda - Initialize missing bass speaker pin for ASUS AIO ET2700Takashi Iwai1-0/+9
Add a fixup entry for the missing bass speaker pin 0x16 on ASUS ET2700 AiO desktop. The channel map will be added in the next patch, so that this can be backported easily to stable kernels. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=65961 Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-28ALSA: hda - limit mic boost on Asus UX31[A,E]Oleksij Rempel1-2/+9
This both devices need limit for internal dmic. [cosmetic change; renamed fixup name by tiwai] Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-26ALSA: hda/realtek - Set pcbeep amp for ALC668Kailang Yang1-0/+1
Set the missing pcbeep default amp for ALC668. Signed-off-by: Kailang Yang <kailang@realtek.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-26ALSA: hda/realtek - Add support of ALC231 codecKailang Yang1-0/+1
It's compatible with ALC269. Signed-off-by: Kailang Yang <kailang@realtek.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-22ALSA: hda - Set current_headset_type to ALC_HEADSET_TYPE_ENUM (janitorial)David Henningsson1-1/+1
current_headset_type should be of the HEADSET_TYPE enum, not the HEADSET_MODE enum. Since ALC_HEADSET_TYPE_UNKNOWN and ALC_HEADSET_MODE_UNKNOWN are both 0, this patch is just janitorial. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-22ALSA: hda - Provide missing pin configs for VAIO with ALC260Takashi Iwai1-0/+20
Some models (or maybe depending on BIOS version) of Sony VAIO with ALC260 give no proper pin configurations as default, resulting in the non-working speaker, etc. Just provide the whole pin configurations via a fixup. Reported-by: Matthew Markus <mmarkus@hearit.co> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-21ALSA: hda - Add headset quirk for Dell Inspiron 3135David Henningsson1-0/+1
Cc: stable@vger.kernel.org (3.10+) BugLink: https://bugs.launchpad.net/bugs/1253636 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-21ALSA: hda - Fix the headphone jack detection on Sony VAIO TXTakashi Iwai1-0/+1
BIOS sets MISC_NO_PRESENCE bit wrongly to the pin config on NID 0x0f. Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-21ALSA: hda - Fix missing bass speaker on ASUS N550Takashi Iwai1-0/+16
The laptop has a built-in speaker on NID 0x1a. It's an LFE only on the right channel, so we need to provide an explicit chmap, too. There might be other surround speakers, but they can fixed in addition at later point, so let's fix the easier bass speaker at first. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=65091 Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-20ALSA: hda - A casual Dell Headset quirkDavid Henningsson1-0/+1
You're looking at a casual headset patch, for a specific hardware it will match, and suddenly, the headset jack will work, so please apply this simple quirk! BugLink: https://bugs.launchpad.net/bugs/1253038 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-19ALSA: hda - Also enable mute/micmute LED control for "Lenovo dock" fixupDavid Henningsson1-0/+2
The docking station is a Thinkpad thing, so it makes sense to check for mute/micmute LEDs for that quirk type too. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-18ALSA: hda - Enable mute/mic-mute LEDs for more Thinkpads with Realtek codecDavid Henningsson1-3/+26
We're using the ACPI interface to detect whether we're dealing with a Thinkpad or not. This way we're not loading the thinkpad_acpi module when we're not on a Thinkpad, but at the same time, we give the opportunity to check for, and potentially enable, both present and future Thinkpad with mute/micmute LEDs. At least those running the ALC269 family (269 to 299) of Realtek codecs. Cc: Alex Hung <alex.hung@canonical.com> Tested-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-12ALSA: hda - Fix Line Out automute on Realtek multifunction jacksDavid Henningsson1-1/+3
In case there is both a multifunction headset jack and a Line Out jack, automuting was not working properly from the Line Out jack. This patch fixes that issue. Cc: stable@vger.kernel.org (3.10+) BugLink: https://bugs.launchpad.net/bugs/1250377 Tested-by: Cyrus Lien <cyrus.lien@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-08ALSA: hda/realtek - Add new codec ALC255/ALC3234 UAJ supportedKailang Yang1-7/+97
New codec ALC255/ALC3234 support multifunction jacks. It used for menual select the input device. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-08ALSA: hda/realtek - Make fixup regs persist after resumeKailang Yang1-0/+2
Upon suspend / resume, the fixup register settings are lost because sending HDA_FIXUP_ACT_PRE_PROBE is not part of the resume path. Instead, write our registers in response to the HDA_FIXUP_ACT_INIT, which happens after initial probe and upon resume. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-07ALSA: hda - Another Dell headset quirkDavid Henningsson1-0/+1
This machine has a multi-function headset jack. BugLink: https://bugs.launchpad.net/bugs/1248856 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-07ALSA: hda - Add pincfg fixup for ASUS W5ATakashi Iwai1-0/+22
BIOS on ASUS W5A laptop with ALC880 codec doesn't provide any pin configurations, so we have to set up all pins manually. Reported-and-tested-by: nb <nb@dagami.org> Cc: <stable@vger.kernel.org> [v3.4+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-06ALSA: HDA - Limit mic boost and add mute LED for an HP machineDavid Henningsson1-0/+8
This machine has a mute LED as well as a noisy internal mic. Hence it needs quirks for both limiting the mic boost as well as enabling the LED. BugLink: https://bugs.launchpad.net/bugs/1248476 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-06ALSA: hda - Make sure mute LEDs stay on during runtime suspend (Realtek)David Henningsson1-0/+20
Some HP machines with Realtek codecs have mute LEDs connected to VREF pins. However when these go into runtime suspend, the pin powers down and its pin control is disabled, thus disabling the LED too. This patch fixes that issue by making sure that the pin stays in D0 with correct pin control. Cc: stable@kernel.org BugLink: https://bugs.launchpad.net/bugs/1248465 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>
2013-11-05ALSA: hda - Enable Thinkpad mute/micmute LEDs for RealtekDavid Henningsson1-2/+81
Same as we already have for Conexant. Right now it's only enabled for one machine. Tested-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-11-04ALSA: hda - Enable SPDIF for Acer TravelMate 6293Takashi Iwai1-0/+9
BIOS on Acer TravelMate 6293 doesn't set up the SPDIF output pin correctly as default, so enable it via a fixup entry. Reported-and-tested-by: Hagen Heiduck <heiduck.suse@fmail.postpro.net> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2013-10-30ALSA: hda - Add extra chmap for 2.1 outputs on ASUS laptopsTakashi Iwai1-2/+28
ASUS N56VZ and N76VZ laptops have a bass speaker but its output comes only from the right channel. This patch adds the extra chmap specific to these models. Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=846531 Signed-off-by: Takashi Iwai <tiwai@suse.de>