sdw_config_stream(9)
π sdw_config_stream(9) β the sdw_config_stream glow-up π
okay bestie, welcome to the Kernel API Manual β¨ today we're getting into sdw_config_stream(9) and honestly? it's giving "small function, big responsibilities" energy. let's go π
πΈ NAME πΈ
sdw_config_stream β configure the allocated stream π¦
like, the stream is already allocated, and now you're giving it its configuration. periodt.
β¨ SYNOPSIS β¨
int sdw_config_stream (struct device *dev , struct sdw_stream_runtime
*stream , struct sdw_stream_config *stream_config , bool is_slave );
that's the whole signature, no cap. four arguments, one int coming back at you π
π«Ά ARGUMENTS π«Ά
devβ the SDW device π» like, the device device.streamβ the SoundWire stream π the actual stream we're working with.stream_configβ stream configuration for the audio stream π§ yes, the config for your audio stream. it's right there in the name bestie.is_slaveβ is the API called from Slave or Master? π that's literally the question this flag is answering. Slave or Master. pick one.
π DESCRIPTION π
okay so here's the one thing you cannot fumble: this function is to be called with bus_lock held. π
like, held held. not "I'll grab it in a sec", not "my friend has it". if you're calling sdw_config_stream without bus_lock held you are lowkey doing it wrong and the kernel is not gonna be cute about it π
real talk: bus_lock held. that's the rule. don't be the person who skips it π
π SEE ALSO π
Kernel file ./drivers/soundwire/stream.c β go read it, iykyk π and while you're in the neighborhood, these are all the friends in the group chat:
sdw_program_port_params(9)sdw_enable_disable_slave_ports(9)sdw_enable_disable_ports(9)sdw_prep_deprep_ports(9)sdw_notify_config(9)sdw_program_params(9)sdw_ml_sync_bank_switch(9)sdw_slave_rt_alloc(9)sdw_slave_rt_config(9)sdw_slave_rt_free(9)sdw_master_rt_alloc(9)sdw_master_rt_config(9)sdw_master_rt_free(9)sdw_get_slave_dpn_prop(9)sdw_acquire_bus_lock(9)sdw_release_bus_lock(9)sdw_prepare_stream(9)sdw_enable_stream(9)sdw_disable_stream(9)sdw_deprepare_stream(9)sdw_alloc_stream(9)sdw_startup_stream(9)sdw_shutdown_stream(9)sdw_release_stream(9)sdw_stream_add_master(9)sdw_stream_remove_master(9)sdw_stream_add_slave(9)sdw_stream_remove_slave(9)
all twenty-eight of them, accounted for, nobody left on read π
β¨ and that's the page, bestie β¨ this gem lives in ./drivers/soundwire, dated October 2026 β stan the SoundWire crew, they ate ππ
π¦ 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