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

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


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? 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