ALSA: hda/realtek - Headphone Mic can't record after S3
authorKailang Yang <kailang@realtek.com>
Thu, 4 Jul 2019 08:02:10 +0000 (16:02 +0800)
committerTakashi Iwai <tiwai@suse.de>
Thu, 4 Jul 2019 13:09:06 +0000 (15:09 +0200)
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: Kailang Yang <kailang@realtek.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_realtek.c

index 48f3c5b8d6e92447e239dfbc3c6c000cf2924a38..0f776444ab869189e1bc262d457fa7f87416f4d6 100644 (file)
@@ -3268,6 +3268,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, 0x53, 0x02, 0x8000, 1 << 15); /* Clear bit */
        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)
@@ -7838,7 +7839,6 @@ static int patch_alc269(struct hda_codec *codec)
                spec->shutup = alc256_shutup;
                spec->init_hook = alc256_init;
                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;
        case 0x10ec0257:
                spec->codec_variant = ALC269_TYPE_ALC257;