mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
ALSA: hda/realtek: Enable headset mic on HONOR MagicBook Pro 16 2024
The HONOR MagicBook Pro 16 2024 (DRA-XX, board M1020, ALC256, SSID
1ee7:204e) has a combined 3.5 mm headphone/microphone jack. The BIOS
leaves the headset mic pin 0x19 at 0x411111f0, so the codec parser
builds no capture path for it, and it leaves the jack switch
(coefficient 0x45) in the TRS state, which cuts the microphone contact
off from the codec. A wired headset microphone therefore records
nothing.
Configure 0x19 as a headset microphone (0x03a1113c, "headset mic
without its own jack detect"), the same value already used for the
sibling M1020 board (HONOR MRB-XXX) and by the VAIO quirks, and chain
to the generic headset mode handler, which detects the CTIA/OMTP
headset type on every jack event and programs the jack switch
accordingly. Pin 0x1a is left untouched: there is no evidence that it
is wired on this board.
Fixes: 1e3e378d63 ("ALSA: hda/realtek: Enable bass speakers on HONOR MagicBook Pro 16 2024")
Assisted-by: LLM
Signed-off-by: Denis Yakovlev <mfthesun@vivaldi.net>
Link: https://patch.msgid.link/20261003133325.97507-1-mfthesun@vivaldi.net
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
89bc6a3549
commit
af53cdc10c
|
|
@ -4477,6 +4477,7 @@ enum {
|
|||
ALC256_FIXUP_HONOR_MRB_XXX_M1020_AUDIO,
|
||||
ALC256_FIXUP_HONOR_DRA_XX_SPEAKERS,
|
||||
ALC256_FIXUP_HONOR_DRA_XX_SHARE_DAC,
|
||||
ALC256_FIXUP_HONOR_DRA_XX_HEADSET_MODE,
|
||||
ALC245_FIXUP_HP_ENVY_X360_15_FH0XXX,
|
||||
ALC287_FIXUP_ACER_MICMUTE_LED,
|
||||
ALC236_FIXUP_DELL_HP_POP_NOISE,
|
||||
|
|
@ -7215,6 +7216,7 @@ static const struct hda_fixup alc269_fixups[] = {
|
|||
.type = HDA_FIXUP_PINS,
|
||||
.v.pins = (const struct hda_pintbl[]) {
|
||||
{ 0x14, 0x90170111 }, /* bass speakers */
|
||||
{ 0x19, 0x03a1113c }, /* headset mic, without its own jack detect */
|
||||
{ }
|
||||
},
|
||||
.chained = true,
|
||||
|
|
@ -7223,6 +7225,12 @@ static const struct hda_fixup alc269_fixups[] = {
|
|||
[ALC256_FIXUP_HONOR_DRA_XX_SHARE_DAC] = {
|
||||
.type = HDA_FIXUP_FUNC,
|
||||
.v.func = alc256_fixup_honor_dra_xx_share_dac,
|
||||
.chained = true,
|
||||
.chain_id = ALC256_FIXUP_HONOR_DRA_XX_HEADSET_MODE
|
||||
},
|
||||
[ALC256_FIXUP_HONOR_DRA_XX_HEADSET_MODE] = {
|
||||
.type = HDA_FIXUP_FUNC,
|
||||
.v.func = alc_fixup_headset_mode,
|
||||
},
|
||||
[ALC245_FIXUP_HP_ENVY_X360_15_FH0XXX] = {
|
||||
.type = HDA_FIXUP_FUNC,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user