STRUCT SND_SOC_ACPI_MACH_PARAMS(9)
π NAME π
struct snd_soc_acpi_mach_params β literally the interface for machine driver configuration, no cap π
okay so bestie, welcome to the struct snd_soc_acpi_mach_params(9) page from the Kernel API Manual β¨ this is the little struct that holds all the config a machine driver needs, and we're gonna go through every single member together, iykyk π«Ά
β¨ SYNOPSIS β¨
struct snd_soc_acpi_mach_params {
u32 acpi_ipc_irq_index;
const char *platform;
u32 codec_mask;
u32 dmic_num;
u32 link_mask;
const struct snd_soc_acpi_link_adr *links;
u32 i2s_link_mask;
u32 num_dai_drivers;
struct snd_soc_dai_driver *dai_drivers;
unsigned short subsystem_vendor;
unsigned short subsystem_device;
unsigned short subsystem_rev;
bool subsystem_id_set;
u32 bt_link_mask;
};
look at her. fourteen fields. main character energy fr fr π
πΈ MEMBERS πΈ
okay bestie, member-by-member, no skipping, we don't do that here π
acpi_ipc_irq_indexβ used for BYT-CR detection π that's its whole job, that's the vibe.platformβ a string used for HDAudio codec support π§codec_maskβ used for HDAudio support, the mask-y part of the situation.dmic_numβ the number of SoC- or chipset-attached PDM digital microphones π€ count 'em.link_maskβ the SoundWire links enabled on the board πlinksβ array of SoundWire link_ADRdescriptors, null terminated π¦ (yes, null terminated, don't forget, that's important).i2s_link_maskβ the I2S/TDM links enabled on the board πΆnum_dai_driversβ the number of elements indai_driversπ’dai_driversβ pointer todai_drivers, used e.g. in nocodec mode π (yes, e.g., that's the example, that's not me making stuff up).subsystem_vendorβ optional PCI SSID vendor value π·οΈ optional, key word.subsystem_deviceβ optional PCI SSID device value π·οΈ also optional, also a value.subsystem_revβ optional PCI SSID revision value π·οΈ yes, optional too, we love consistency.subsystem_id_setβtrueif a value has been written tosubsystem_vendorandsubsystem_deviceβ like a little flag that says "yep, someone wrote in there".bt_link_maskβ BT offload link enabled on the board π§π
π¦ SEE ALSO π¦
go read these next, bestie, they're all in the kernel file ./include/sound/soc-acpi.h π«Ά:
struct snd_soc_acpi_endpoint(9)struct snd_soc_acpi_adr_device(9)struct snd_soc_acpi_link_adr(9)struct snd_soc_acpi_mach(9)struct snd_soc_acpi_codecs(9)
ok that's the whole page, you ate that π go forth and configure your machine drivers, icon behavior only.
and finally the cute sign-off: this little gem lives in ./include/sound π it's dated October 2026 β and the header up top was struct snd_..._mach_params(9) β slay, bye π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms