STRUCT SDW_MASTER_PROP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

struct sdw_master_prop β€” the Master properties, aka the vibe check for a SoundWire Master πŸŽ€ (this is a page from the Kernel API Manual, bestie, so grab a snack)


🌸 SYNOPSIS 🌸

struct sdw_master_prop {
    u32 *clk_gears;
    u32 *clk_freq;
    u64 quirks;
    u32 revision;
    u32 clk_stop_modes;
    u32 max_clk_freq;
    u32 num_clk_gears;
    u32 num_clk_freq;
    u32 default_frame_rate;
    u32 default_row;
    u32 default_col;
    u32 err_threshold;
    u32 mclk_freq;
    bool dynamic_frame;
    bool hw_disabled;
 };

πŸ’… Members πŸ’…

Okay so literally every field, one by one, no skipping, we're doing the whole roster πŸ‘‘

  • clk_gears β€” the clock gears that are supported βš™οΈ
  • clk_freq β€” the clock frequencies that are supported, in Hz
  • quirks β€” a bitmask that flags optional behavior going beyond the scope of the MIPI spec (iykyk, vendor shenanigans)
  • revision β€” the MIPI spec version of the implementation
  • clk_stop_modes β€” a bitmap: bit N is set when clock-stop-modeN is supported 🫢
  • max_clk_freq β€” the maximum Bus clock frequency, in Hz
  • num_clk_gears β€” how many clock gears are supported
  • num_clk_freq β€” how many clock frequencies are supported, in Hz
  • default_frame_rate β€” the controller's default Frame rate, in Hz
  • default_row β€” number of rows
  • default_col β€” number of columns
  • err_threshold β€” the number of times software may retry sending a single command 😭 (yes, there's a limit, don't push it)
  • mclk_freq β€” the clock reference passed to the SoundWire Master, in Hz.
  • dynamic_frame β€” dynamic frame shape is supported ✨
  • hw_disabled β€” if true, the Master is not functional, typically due to pin-mux πŸ’€

πŸ¦‹ SEE ALSO πŸ¦‹

The kernel file ./include/linux/soundwire/sdw.h, and honestly the whole friend group:

  • 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_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_stream_runtime(9)
  • struct sdw_bus(9)
  • sdw_slave_wait_for_init(9)

okay that's the whole page, you ate that πŸ’– this little cutie lives in ./include/linux/soundwire, dated October 2026, and yes the footer still says struct sdw_master_prop(9) because we respect the classics πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from