]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ALSA: hda/senary: Add hardware init verbs and fixup framework
authorwangdicheng <wangdicheng@kylinos.cn>
Wed, 4 Mar 2026 07:02:19 +0000 (15:02 +0800)
committerTakashi Iwai <tiwai@suse.de>
Wed, 4 Mar 2026 11:06:37 +0000 (12:06 +0100)
commit27b9bcad2bf77e12c08e36d8d72bd6ce0db46041
tree3aa790be63337cc730ee2ad195ccb601e9564c66
parentdfd4b0d46e774d7fbd23a438ead45de08bde783e
ALSA: hda/senary: Add hardware init verbs and fixup framework

Port the essential hardware initialization logic from the vendor driver
and introduce the standard HDA fixup framework to handle different
machine configurations.

Key changes:

1. Add hardware init verbs:
   - Implement `senary_init_verb` to send the vendor-specific
     initialization sequence required by the SN6186 chip.
   - Override pin capabilities for Node 0x19 to ensure proper headset
     microphone support.

2. Introduce fixup framework:
   - Define a default pin configuration table (`senary_pincfg_default`)
     to provide a fallback for devices with invalid BIOS configurations.
   - Establish a quirk table structure for future machine-specific
     fixes.
   - Since the standard quirk matching relies on Subsystem IDs, we
     manually apply the default fixup if `snd_hda_pick_fixup` does not
     find a specific match.

This ensures the chip is correctly initialized during probe and resume,
and provides a scalable mechanism for supporting specific hardware
quirks.

Signed-off-by: wangdicheng <wangdicheng@kylinos.cn>
Link: https://patch.msgid.link/20260304070219.450083-1-wangdich9700@163.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/hda/codecs/senarytech.c