STRUCT SND_SOC_ACPI_MACH_PARAMS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 _ADR descriptors, 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 in dai_drivers πŸ”’
  • dai_drivers β€” pointer to dai_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 β€” true if a value has been written to subsystem_vendor and subsystem_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