STRUCT SDW_DP0_PROP(9)
π struct sdw_dp0_prop(9) β the DP0 properties glow-up
okay bestie so welcome to the kernel API manual, and today's main character is struct sdw_dp0_prop β literally the struct that holds all the DP0 properties. she's giving humble little struct but she's carrying a whole lot of SoundWire lore, so let's get into it π«Ά
β¨ SYNOPSIS β¨
like, here's her whole personality, laid out:
struct sdw_dp0_prop {
u32 *words;
u32 max_word;
u32 min_word;
u32 num_words;
u32 ch_prep_timeout;
bool BRA_flow_controlled;
bool simple_ch_prep_sm;
bool imp_def_interrupts;
int num_lanes;
u32 *lane_list;
};
no cap, that's the whole thing π
π Members π
okay so let's meet the cast, one by one, because every single one of them matters:
wordsβ the wordlengths that are supported. literally the list of them πΈmax_wordβ the maximum number of bits in a Payload Channel Sample. and listen, it's1to64(inclusive), so don't be out here trying65, she will not be doing that πmin_wordβ the minimum number of bits in a Payload Channel Sample. same vibe, also1to64(inclusive). bookends, your honour πnum_wordsβ the number of wordlengths that are supported. yes it's a count, yes it's giving very on-the-nose naming, we love a self-explanatory queen β¨ch_prep_timeoutβ a port-specific timeout value, and the unit is milliseconds. write that down bestie β±οΈBRA_flow_controlledβ the slave implementation results in anOK_NotReadyresponse. iykyk πsimple_ch_prep_smβ tells you if a channel prepare sequence is required. she's the "do we actually have to do the little dance" flag π©°imp_def_interruptsβ if this is set, then each bit corresponds to support for implementation-defined interrupts. bit-by-bit girlies, we stan a bitmask πnum_lanesβ the array size oflane_list. she's just here to tell you how long the list is, and honestly? relatable πlane_listβ indicates which Lanes can be used by DP0. the VIP lane guest list π
π Description π
so here's the tea: the wordlengths are specified by Spec as max, min AND the number of discrete values. and then the implementation can define based on the wordlengths they support β so like, the spec sets the frame but you get to decorate the room, yk? β¨
π¦ SEE ALSO π¦
bestie buckle up, this is a long guest list, but every single one of them is invited to the function, no cuts, no skips, ok? π«Ά
Kernel file ./include/linux/soundwire
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_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_stream_runtime(9)struct sdw_bus(9)sdw_slave_wait_for_init(9)
ok that's literally the whole page, no notes, hope this slayed for you π
and finally, the cute little sign-off so you know where she lives and when she was born: this one's from ./include/linux/soundwire, dated October 2026, and she answers to struct sdw_dp0_prop(9) β mwah, bye bestie ππ§π
π¦ 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