STRUCT SDW_STREAM_RUNTIME(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct sdw_stream_runtime πŸ’–

okay so this page is the struct sdw_stream_runtime page from the Kernel API Manual, and it's literally all about the runtime stream parameters β€” like, the little bundle of info that tells you everything about a SoundWire stream while it's alive and vibing. bestie, it's giving "tiny struct, big responsibilities" and i'm obsessed πŸŽ€


🌸 NAME 🌸

struct sdw_stream_runtime β€” the runtime stream parameters, periodt. that's the whole vibe check ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

struct sdw_stream_runtime {
    const char *name;
    struct sdw_stream_params params;
    enum sdw_stream_state state;
    enum sdw_stream_type type;
    int m_rt_count;
    struct list_head master_list;
 };

no cap, that's the exact shape of it, keep it cute in your notes πŸ’…


🫢 Members 🫢

  • name β€” the SoundWire stream's name, its little main-character label 🏷️
  • params β€” the stream parameters, all the deets in one place
  • state β€” the current state of the stream, like its mood ring 🌈
  • type β€” the stream type, and the options are PCM, PDM or BPT 🎧
  • m_rt_count β€” how many Master runtime(s) are chillin' in this stream, a literal headcount πŸ”’
  • master_list β€” the list of Master runtime(s) in this stream. and hear me out: master_list can contain only one m_rt per Master instance for a stream β€” that's the rule, do not test it πŸ™ˆ

πŸ”₯ SEE ALSO πŸ”₯

the kernel file lives at ./include/linux/soundwire/sdw.h β€” go say hi to it, it's iconic πŸ‘‘

then the whole friend group, fr fr:

  • enum sdw_slave_status(9)
  • enum sdw_clk_stop_type(9)
  • enum sdw_command_response(9)
  • enum sdw_stream_type(9)
  • enum sdw_data_direction(9)
  • enum sdw_port_data_mode(9)
  • enum sdw_p15_behave(9)
  • enum sdw_dpn_type(9)
  • enum sdw_clk_stop_mode(9)
  • struct sdw_dp0_prop(9)
  • struct sdw_dpn_prop(9)
  • struct sdw_slave_prop(9)
  • struct sdw_master_prop(9)
  • struct sdw_slave_id(9)
  • struct sdw_slave_intr_status(9)
  • enum sdw_reg_bank(9)
  • struct sdw_prepare_ch(9)
  • enum sdw_port_prep_ops(9)
  • struct sdw_bus_params(9)
  • struct sdw_slave_ops(9)
  • struct sdw_slave(9)
  • struct sdw_master_device(9)
  • struct sdw_port_params(9)
  • struct sdw_transport_params(9)
  • struct sdw_enable_ch(9)
  • struct sdw_master_port_ops(9)
  • struct sdw_defer(9)
  • struct sdw_master_ops(9)
  • struct sdw_port_config(9)
  • struct sdw_stream_config(9)
  • enum sdw_stream_state(9)
  • struct sdw_stream_params(9)
  • struct sdw_bus(9)
  • sdw_slave_wait_for_init(9)

πŸ’€ reminder bestie: master_list holds only one m_rt per Master instance for a stream. that's the caveat, don't come for me when you stack two and it gets weird 😭

and that's the page! this one's from ./include/linux/soundwire, dated October 2026, and the title card reads struct sdw_stream_runtime(9) β€” mwah, slay, see u in the group chat πŸ§šπŸ’œ

πŸ“¦ where this page comes from