STRUCT SDW_AMD_RES(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

struct sdw_amd_res β€” the SoundWire AMD global resource struct, bestie. That's the vibe. It's typically populated by the DSP driver/Legacy driver, so you're not really the one filling it in β€” you're the one reading it. Think of it as the group chat's pinned message of everything SoundWire-AMD-related πŸŽ€

(this is from struct sdw_amd_res(9), the kernel API manual, okurrr)


🌸 SYNOPSIS 🌸

struct sdw_amd_res {
    u32 acp_rev;
    u32 addr;
    u32 reg_range;
    u32 link_mask;
    int count;
    void __iomem *mmio_base;
    acpi_handle handle;
    struct device *parent;
    struct device *dev;
    struct mutex *acp_lock;
 };

literally the whole struct, no edits, no cuts, we keep it πŸ’―


πŸ’… Members πŸ’…

okay so here's the cast of characters, one by one, no skips:

  • acp_rev β€” the acp pci device revision id 🫢
  • addr β€” the acp pci device resource start address, iykyk
  • reg_range β€” the ACP register range
  • link_mask β€” a bit-wise mask listing the links selected by the DSP driver/legacy driver. bit-wise!! it's a mask!! πŸ‘‘
  • count β€” the link count, that's it, that's the whole member
  • mmio_base β€” the mmio base of the SoundWire registers 🌈
  • handle β€” the ACPI parent handle
  • parent β€” the parent device (yes, a whole separate member from dev, don't get it twisted πŸ™ˆ)
  • dev β€” the device implementing hwparams and free callbacks ✨
  • acp_lock β€” a mutex protecting acp common registers access. mutual exclusion, keeping the common registers safe from chaos fr fr πŸ”₯
⚠️ bestie. acp_lock exists for a reason. it's a mutex guarding access to the acp common registers. don't go reading/writing those registers behind its back, okay? that's the whole point of it being a member.

πŸ¦‹ SEE ALSO πŸ¦‹

the kernel file lives at ./include/linux/soundwire/sdw_amd.h β€” that's your first stop 🧚

and it's giving friend-group, because you should also go meet:

  • struct sdw_amd_dai_runtime(9)
  • struct amd_sdw_manager(9)
  • struct sdw_amd_acpi_info(9)
  • struct sdw_amd_ctx(9)

all of them cross-referenced, all of them iconic πŸ’œ


okay that's the whole page, mwah πŸ’‹ sign-off time: this absolute banger comes to you from ./include/linux/soundwire, dated October 2026, and it's officially struct sdw_amd_res(9) β€” slay, periodt πŸŽ€πŸ’–

πŸ“¦ where this page comes from