sdw_nread_no_pm(9)
π sdw_nread_no_pm(9) π
okay so bestie, welcome to the Kernel API Manual β this one's all about sdw_nread_no_pm, and yes she's a kernel function living her best life in the soundwire bus code π
β¨ NAME β¨
sdw_nread_no_pm β literally reads "n" contiguous SDW Slave registers, and does it with no PM π«Ά (that's the whole personality, no cap)
π SYNOPSIS π
int sdw_nread_no_pm (struct sdw_slave *slave , u32 addr , size_t count ,
u8 *val );
π¦ ARGUMENTS π¦
slaveβ the SDW Slave, the main character of this operation πaddrβ the Register address, i.e. where we're looking πcountβ the length, so how many we're grabbingvalβ the Buffer for values to be read, where the good stuff lands π
πΈ DESCRIPTION πΈ
okay so here's the tea, and it's lowkey important: if the message crosses a page boundary, each page gets transferred under a separate invocation of the msg_lock π like it's not one big smooth operation, it's page-by-page, each one grabbing the lock on its own. fr fr, remember that.
β SEE ALSO β
Kernel file ./drivers/soundwire/bus.c β and the whole friend group show up here too, so go say hi π
sdw_bus_master_add(9)sdw_bus_master_delete(9)sdw_transfer(9)sdw_show_ping_status(9)sdw_transfer_defer(9)sdw_nwrite_no_pm(9)sdw_write_no_pm(9)sdw_read_no_pm(9)sdw_nread(9)sdw_nwrite(9)sdw_read(9)sdw_write(9)sdw_bus_prep_clk_stop(9)sdw_bus_clk_stop(9)sdw_bus_exit_clk_stop(9)sdw_handle_slave_status(9)
π quick vibe check reminder: crossing a page boundary = multiple msg_lock invocations. Not me warning you twice, but also yes I am. π«Ά
and that's the whole page bestie, you ate π
β this gem lives in ./drivers/soundwire, dated October 2026, and it's giving iconic kernel documentation energy π§ββοΈβ¨π
π¦ 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