[PATCH] ALSA: hda/realtek: Enable front panel headset LED on Lenovo ThinkStation P520

Hui Wang hui.wang at canonical.com
Mon Sep 14 10:21:44 CEST 2020


On 2020/9/14 下午4:07, Kai-Heng Feng wrote:
> Hi Hui,
>
>> On Sep 14, 2020, at 16:04, Hui Wang <hui.wang at canonical.com> wrote:
>>
>> Thanks Kaiheng, and we just had one P520 in the Beijing office and I also worked on this issue happenly. Does the led change according to jack plugging in or plugging out with your patch?
> No, the LED won't reflect the jack plugging status.
>
> The LED is always on under Windows, so we are doing the same here.

Weird, the bug's title is "The backlight for a headset connector didn't 
light up after connecting a headset" and the QA in Beijing office also 
requires the led could change according to plugging or no plugging.

>
> Kai-Heng
>
>> I also prepared a patchset but my patchset has more code than yours, please take a look. :-)
>>
>> Thanks.
>>
>> Hui.
>>
>> On 2020/9/14 下午3:02, Kai-Heng Feng wrote:
>>> On Lenovo P520, the front panel headset LED isn't lit up right now.
>>>
>>> Realtek states that the LED needs to be enabled by ALC233's GPIO2, so
>>> let's do it accordingly to light the LED up.
>>>
>>> Signed-off-by: Kai-Heng Feng <kai.heng.feng at canonical.com>
>>> ---
>>>   sound/pci/hda/patch_realtek.c | 7 +++++++
>>>   1 file changed, 7 insertions(+)
>>>
>>> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
>>> index c521a1f17096..ba941bd0b792 100644
>>> --- a/sound/pci/hda/patch_realtek.c
>>> +++ b/sound/pci/hda/patch_realtek.c
>>> @@ -6017,6 +6017,7 @@ static void alc_fixup_thinkpad_acpi(struct hda_codec *codec,
>>>   #include "hp_x360_helper.c"
>>>     enum {
>>> +	ALC269_FIXUP_GPIO2,
>>>   	ALC269_FIXUP_SONY_VAIO,
>>>   	ALC275_FIXUP_SONY_VAIO_GPIO2,
>>>   	ALC269_FIXUP_DELL_M101Z,
>>> @@ -6194,6 +6195,10 @@ enum {
>>>   };
>>>     static const struct hda_fixup alc269_fixups[] = {
>>> +	[ALC269_FIXUP_GPIO2] = {
>>> +		.type = HDA_FIXUP_FUNC,
>>> +		.v.func = alc_fixup_gpio2,
>>> +	},
>>>   	[ALC269_FIXUP_SONY_VAIO] = {
>>>   		.type = HDA_FIXUP_PINCTLS,
>>>   		.v.pins = (const struct hda_pintbl[]) {
>>> @@ -7013,6 +7018,8 @@ static const struct hda_fixup alc269_fixups[] = {
>>>   	[ALC233_FIXUP_LENOVO_MULTI_CODECS] = {
>>>   		.type = HDA_FIXUP_FUNC,
>>>   		.v.func = alc233_alc662_fixup_lenovo_dual_codecs,
>>> +		.chained = true,
>>> +		.chain_id = ALC269_FIXUP_GPIO2
>>>   	},
>>>   	[ALC233_FIXUP_ACER_HEADSET_MIC] = {
>>>   		.type = HDA_FIXUP_VERBS,


More information about the Alsa-devel mailing list