STRUCT SDW_CDNS(9)
π NAME π
okay so bestie, this is the manual page for struct sdw_cdns(9) β the Cadence driver context β straight out of the Kernel API Manual. iconic little struct energy, honestly. π
β¨ SYNOPSIS β¨
here's the whole struct, copied exactly, no edits, periodt:
struct sdw_cdns {
struct device *dev;
struct sdw_bus bus;
unsigned int instance;
u32 ip_offset;
u32 response_buf[CDNS_MCP_IP_MAX_CMD_LEN + 2];
struct completion tx_complete;
struct sdw_cdns_port *ports;
int num_ports;
struct sdw_cdns_streams pcm;
int pdi_loopback_source;
int pdi_loopback_target;
void __iomem *registers;
bool link_up;
unsigned int msg_count;
bool interrupt_enabled;
struct work_struct work;
struct delayed_work attach_dwork;
struct list_head list;
struct sdw_cdns_dai_runtime **dai_runtime_array;
struct mutex status_update_lock;
};
πΈ Members πΈ
okay, vibe check on the members the page actually gives us blurbs for:
devβ Linux device. the literal device situation. π»busβ Bus handle. yes bestie, the bus. πinstanceβ instance number. which one are we, iykyk. π’ip_offsetβ version-dependent offset to accessIP_MCPregisters and fields. version-dependent is doing a lot of work there, ngl. πresponse_bufβ SoundWire response buffer. it's giving "hold my response." π₯tx_completeβ Tx completion. the completion moment. β¨portsβ Data ports. plural, because we contain multitudes. πnum_portsβ Total number of data ports. the count, the math, the crown. πpcmβ PCM streams. stream girlie behavior. πregistersβ Cadence registers. the register section, no notes. πlink_upβ Link status. is the link up? that's the whole mood. πmsg_countβ Messages sent on bus. counting messages like it's a group chat. π¬dai_runtime_arrayβ runtime context for each allocated DAI. every allocated DAI gets its lil runtime moment. π«Άstatus_update_lockβ protect concurrency between interrupt-based and delayed work status update. the lock is literally protecting the concurrency between interrupt-based and delayed work status update, and we respect her for it. π
and just so we're keeping it a hundred: the synopsis also has pdi_loopback_source, pdi_loopback_target, interrupt_enabled, work, attach_dwork, and list chillin' in the struct. the source page doesn't give those their own separate blurbs, so I'm not inventing any lore. π
π¦ SEE ALSO π¦
- Kernel file
./drivers/soundwire/cadence_master.h:struct sdw_cdns_pdi(9),struct sdw_cdns_streams(9),struct sdw_cdns_stream_config(9),struct sdw_cdns_dai_runtime(9)
that's the whole page, bestie. the footer vibes are: source/version ./drivers/soundwire, date October 2026, and the running footer still says struct sdw_cdns(9). slay and goodbye, manual page. π
π¦ 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