Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ff75e5f4 authored by Kailang Yang's avatar Kailang Yang Committed by Greg Kroah-Hartman
Browse files

ALSA: hda/realtek - Headphone Mic can't record after S3



commit d07a9a4f66e944fcc900812cbc2f6817bde6a43d upstream.

Dell headset mode platform with ALC236.
It doesn't recording after system resume from S3.
S3 mode was deep. s2idle was not has this issue.
S3 deep will cut of codec power. So, the register will back to default
after resume back.
This patch will solve this issue.

Signed-off-by: default avatarKailang Yang <kailang@realtek.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 87c3262b
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -3236,6 +3236,7 @@ static void alc256_init(struct hda_codec *codec)
	alc_update_coefex_idx(codec, 0x57, 0x04, 0x0007, 0x4); /* Hight power */
	alc_update_coefex_idx(codec, 0x57, 0x04, 0x0007, 0x4); /* Hight power */
	alc_update_coefex_idx(codec, 0x53, 0x02, 0x8000, 1 << 15); /* Clear bit */
	alc_update_coefex_idx(codec, 0x53, 0x02, 0x8000, 1 << 15); /* Clear bit */
	alc_update_coefex_idx(codec, 0x53, 0x02, 0x8000, 0 << 15);
	alc_update_coefex_idx(codec, 0x53, 0x02, 0x8000, 0 << 15);
	alc_update_coef_idx(codec, 0x36, 1 << 13, 1 << 5); /* Switch pcbeep path to Line in path*/
}
}


static void alc256_shutup(struct hda_codec *codec)
static void alc256_shutup(struct hda_codec *codec)
@@ -7686,7 +7687,6 @@ static int patch_alc269(struct hda_codec *codec)
		spec->shutup = alc256_shutup;
		spec->shutup = alc256_shutup;
		spec->init_hook = alc256_init;
		spec->init_hook = alc256_init;
		spec->gen.mixer_nid = 0; /* ALC256 does not have any loopback mixer path */
		spec->gen.mixer_nid = 0; /* ALC256 does not have any loopback mixer path */
		alc_update_coef_idx(codec, 0x36, 1 << 13, 1 << 5); /* Switch pcbeep path to Line in path*/
		break;
		break;
	case 0x10ec0257:
	case 0x10ec0257:
		spec->codec_variant = ALC269_TYPE_ALC257;
		spec->codec_variant = ALC269_TYPE_ALC257;