* ALC256 headphone no sound
@ 2024-08-22 3:14 Kailang
2024-08-22 7:34 ` Takashi Iwai
0 siblings, 1 reply; 3+ messages in thread
From: Kailang @ 2024-08-22 3:14 UTC (permalink / raw)
To: Takashi Iwai (tiwai@suse.de); +Cc: (alsa-devel@alsa-project.org)
[-- Attachment #1: Type: text/plain, Size: 98 bytes --]
Hi Takashi,
Attach patch will solve headphone issue for alc256.
Many Thanks.
BR,
Kailang
[-- Attachment #2: 0001-alc256-dell-tower.patch --]
[-- Type: application/octet-stream, Size: 3555 bytes --]
From 697268baf923171d9d937a104ab02198fe8ada7f Mon Sep 17 00:00:00 2001
From: Kailang Yang <kailang@realtek.com>
Date: Thu, 22 Aug 2024 10:54:19 +0800
Subject: [PATCH] ALSA: hda/realtek - FIxed ALC256 headphone no sound
Dell platform, plug headphone or headset, it had a chance to get no sound from headphone.
Replace depop procedure will solve this issue.
Signed-off-by: Kailang Yang <kailang@realtek.com>
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index c573183c69a9..0e4df04082f6 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -4930,6 +4930,30 @@ static void alc269_fixup_hp_line1_mic1_led(struct hda_codec *codec,
}
}
+static void alc_hp_mute_disable(struct hda_codec *codec, unsigned int delay)
+{
+ if (delay <= 0)
+ delay = 75;
+ snd_hda_codec_write(codec, 0x21, 0,
+ AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE);
+ msleep(delay);
+ snd_hda_codec_write(codec, 0x21, 0,
+ AC_VERB_SET_PIN_WIDGET_CONTROL, 0x0);
+ msleep(delay);
+}
+
+static void alc_hp_enable_unmute(struct hda_codec *codec, unsigned int delay)
+{
+ if (delay <= 0)
+ delay = 75;
+ snd_hda_codec_write(codec, 0x21, 0,
+ AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT);
+ msleep(delay);
+ snd_hda_codec_write(codec, 0x21, 0,
+ AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE);
+ msleep(delay);
+}
+
static const struct coef_fw alc225_pre_hsmode[] = {
UPDATE_COEF(0x4a, 1<<8, 0),
UPDATE_COEFEX(0x57, 0x05, 1<<14, 0),
@@ -5031,6 +5055,7 @@ static void alc_headset_mode_unplugged(struct hda_codec *codec)
case 0x10ec0236:
case 0x10ec0256:
case 0x19e58326:
+ alc_hp_mute_disable(codec, 75);
alc_process_coef_fw(codec, coef0256);
break;
case 0x10ec0234:
@@ -5302,6 +5327,7 @@ static void alc_headset_mode_default(struct hda_codec *codec)
alc_write_coef_idx(codec, 0x45, 0xc089);
msleep(50);
alc_process_coef_fw(codec, coef0256);
+ alc_hp_enable_unmute(codec, 75);
break;
case 0x10ec0234:
case 0x10ec0274:
@@ -5399,6 +5425,7 @@ static void alc_headset_mode_ctia(struct hda_codec *codec)
case 0x10ec0256:
case 0x19e58326:
alc_process_coef_fw(codec, coef0256);
+ alc_hp_enable_unmute(codec, 75);
break;
case 0x10ec0234:
case 0x10ec0274:
@@ -5514,6 +5541,7 @@ static void alc_headset_mode_omtp(struct hda_codec *codec)
case 0x10ec0256:
case 0x19e58326:
alc_process_coef_fw(codec, coef0256);
+ alc_hp_enable_unmute(codec, 75);
break;
case 0x10ec0234:
case 0x10ec0274:
@@ -5619,25 +5647,21 @@ static void alc_determine_headset_type(struct hda_codec *codec)
alc_write_coef_idx(codec, 0x06, 0x6104);
alc_write_coefex_idx(codec, 0x57, 0x3, 0x09a3);
- snd_hda_codec_write(codec, 0x21, 0,
- AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE);
- msleep(80);
- snd_hda_codec_write(codec, 0x21, 0,
- AC_VERB_SET_PIN_WIDGET_CONTROL, 0x0);
-
alc_process_coef_fw(codec, coef0255);
msleep(300);
val = alc_read_coef_idx(codec, 0x46);
is_ctia = (val & 0x0070) == 0x0070;
-
+ if (!is_ctia) {
+ alc_write_coef_idx(codec, 0x45, 0xe089);
+ msleep(100);
+ val = alc_read_coef_idx(codec, 0x46);
+ if ((val & 0x0070) == 0x0070)
+ is_ctia = false;
+ else
+ is_ctia = true;
+ }
alc_write_coefex_idx(codec, 0x57, 0x3, 0x0da3);
alc_update_coefex_idx(codec, 0x57, 0x5, 1<<14, 0);
-
- snd_hda_codec_write(codec, 0x21, 0,
- AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT);
- msleep(80);
- snd_hda_codec_write(codec, 0x21, 0,
- AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE);
break;
case 0x10ec0234:
case 0x10ec0274:
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: ALC256 headphone no sound
2024-08-22 3:14 ALC256 headphone no sound Kailang
@ 2024-08-22 7:34 ` Takashi Iwai
2024-08-22 7:38 ` Kailang
0 siblings, 1 reply; 3+ messages in thread
From: Takashi Iwai @ 2024-08-22 7:34 UTC (permalink / raw)
To: Kailang; +Cc: (alsa-devel@alsa-project.org)
On Thu, 22 Aug 2024 05:14:06 +0200,
Kailang wrote:
>
> Hi Takashi,
>
> Attach patch will solve headphone issue for alc256.
> Many Thanks.
There was a minor coding-style issue, and I corrected locally and
applied.
thanks,
Takashi
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: ALC256 headphone no sound
2024-08-22 7:34 ` Takashi Iwai
@ 2024-08-22 7:38 ` Kailang
0 siblings, 0 replies; 3+ messages in thread
From: Kailang @ 2024-08-22 7:38 UTC (permalink / raw)
To: Takashi Iwai; +Cc: (alsa-devel@alsa-project.org)
> -----Original Message-----
> From: Takashi Iwai <tiwai@suse.de>
> Sent: Thursday, August 22, 2024 3:35 PM
> To: Kailang <kailang@realtek.com>
> Cc: (alsa-devel@alsa-project.org) <alsa-devel@alsa-project.org>
> Subject: Re: ALC256 headphone no sound
>
>
> External mail.
>
>
>
> On Thu, 22 Aug 2024 05:14:06 +0200,
> Kailang wrote:
> >
> > Hi Takashi,
> >
> > Attach patch will solve headphone issue for alc256.
> > Many Thanks.
>
> There was a minor coding-style issue, and I corrected locally and applied.
Thank you.
>
>
> thanks,
>
> Takashi
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-08-22 7:39 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-22 3:14 ALC256 headphone no sound Kailang
2024-08-22 7:34 ` Takashi Iwai
2024-08-22 7:38 ` Kailang
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.