Skip to content

Commit dcfed70

Browse files
hamfirsttiwai
authored andcommitted
ALSA: hda/realtek: Implement sound init sequence for Samsung Galaxy Book3 Pro 360
Samsung Galaxy Book3 Pro 360 sends a large amount of data to the codec through hda processing coefficients. This data was captured using a modified version of QEMU, but the actual content of the data remains opaque to me. Elliding any part of the data seems to cause sound to not work. Signed-off-by: Nick Weihs <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Takashi Iwai <[email protected]>
1 parent e6e1802 commit dcfed70

File tree

2 files changed

+319
-0
lines changed

2 files changed

+319
-0
lines changed

sound/pci/hda/patch_realtek.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4800,6 +4800,8 @@ static void alc298_fixup_samsung_amp(struct hda_codec *codec,
48004800
}
48014801
}
48024802

4803+
#include "samsung_helper.c"
4804+
48034805
#if IS_REACHABLE(CONFIG_INPUT)
48044806
static void gpio2_mic_hotkey_event(struct hda_codec *codec,
48054807
struct hda_jack_callback *event)
@@ -7429,6 +7431,7 @@ enum {
74297431
ALC236_FIXUP_HP_MUTE_LED,
74307432
ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF,
74317433
ALC298_FIXUP_SAMSUNG_AMP,
7434+
ALC298_FIXUP_SAMSUNG_AMP2,
74327435
ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET,
74337436
ALC256_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET,
74347437
ALC295_FIXUP_ASUS_MIC_NO_PRESENCE,
@@ -9055,6 +9058,10 @@ static const struct hda_fixup alc269_fixups[] = {
90559058
.chained = true,
90569059
.chain_id = ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET
90579060
},
9061+
[ALC298_FIXUP_SAMSUNG_AMP2] = {
9062+
.type = HDA_FIXUP_FUNC,
9063+
.v.func = alc298_fixup_samsung_amp2
9064+
},
90589065
[ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET] = {
90599066
.type = HDA_FIXUP_VERBS,
90609067
.v.verbs = (const struct hda_verb[]) {
@@ -10406,6 +10413,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
1040610413
SND_PCI_QUIRK(0x144d, 0xc832, "Samsung Galaxy Book Flex Alpha (NP730QCJ)", ALC256_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET),
1040710414
SND_PCI_QUIRK(0x144d, 0xca03, "Samsung Galaxy Book2 Pro 360 (NP930QED)", ALC298_FIXUP_SAMSUNG_AMP),
1040810415
SND_PCI_QUIRK(0x144d, 0xc868, "Samsung Galaxy Book2 Pro (NP930XED)", ALC298_FIXUP_SAMSUNG_AMP),
10416+
SND_PCI_QUIRK(0x144d, 0xc1ca, "Samsung Galaxy Book3 Pro 360 (NP960QFG-KB1US)", ALC298_FIXUP_SAMSUNG_AMP2),
1040910417
SND_PCI_QUIRK(0x1458, 0xfa53, "Gigabyte BXBT-2807", ALC283_FIXUP_HEADSET_MIC),
1041010418
SND_PCI_QUIRK(0x1462, 0xb120, "MSI Cubi MS-B120", ALC283_FIXUP_HEADSET_MIC),
1041110419
SND_PCI_QUIRK(0x1462, 0xb171, "Cubi N 8GL (MS-B171)", ALC283_FIXUP_HEADSET_MIC),
@@ -10843,6 +10851,7 @@ static const struct hda_model_fixup alc269_fixup_models[] = {
1084310851
{.id = ALC298_FIXUP_HUAWEI_MBX_STEREO, .name = "huawei-mbx-stereo"},
1084410852
{.id = ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE, .name = "alc256-medion-headset"},
1084510853
{.id = ALC298_FIXUP_SAMSUNG_AMP, .name = "alc298-samsung-amp"},
10854+
{.id = ALC298_FIXUP_SAMSUNG_AMP2, .name = "alc298-samsung-amp2"},
1084610855
{.id = ALC256_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET, .name = "alc256-samsung-headphone"},
1084710856
{.id = ALC255_FIXUP_XIAOMI_HEADSET_MIC, .name = "alc255-xiaomi-headset"},
1084810857
{.id = ALC274_FIXUP_HP_MIC, .name = "alc274-hp-mic-detect"},

0 commit comments

Comments
 (0)