ntb_spad_write(9)
π ntb_spad_write(9) π
okay so bestie, welcome to the Kernel API Manual corner of the universe β this little page is all about ntb_spad_write, and honestly? it's giving "tiny function, huge responsibilities". let's get into it β¨
πΈ NAME πΈ
ntb_spad_write β write the local scratchpad register π
like, that's literally the whole job and she does it slayfully π
π¦ SYNOPSIS π¦
int ntb_spad_write (struct ntb_dev *ntb , int sidx , u32 val );
three little args and she's off π«Ά
β¨ ARGUMENTS β¨
ntbβ the NTB device context, aka the main character of this whole operation π it's astruct ntb_dev *and you gotta pass it along so the function knows which device we're talking to.sidxβ the scratchpad index π’ anint, and yes you need to say which scratchpad you mean, no guessing games.valβ the scratchpad value πΎ au32, this is the actual thing getting written in there. the payload. the moment. β
π DESCRIPTION π
so basically: this function writes the value to the local scratchpad register. that's it, that's the vibe π§
you hand it the device, the index, and the value β and it puts that value into the local scratchpad register. no cap, that's literally what it does π
π₯ RETURN π₯
Zeroon success π (iconic, no notes)- otherwise an error number π so like, if something goes sideways you get a number back instead of zero β check it, bestie, always check it π
π SEE ALSO π
okay this list is long and honestly it ate β here's the whole squad, all of them, exactly as listed:
Kernel file ./include/linux/ntb.h: enum ntb_topo(9), enum ntb_speed(9), enum ntb_width(9), enum ntb_default_port(9), struct ntb_client_ops(9), struct ntb_ctx_ops(9), struct ntb_dev_ops(9), struct ntb_client(9), struct ntb_dev(9), ntb_register_client(9), ntb_unregister_client(9), ntb_register_device(9), ntb_unregister_device(9), ntb_set_ctx(9), ntb_clear_ctx(9), ntb_link_event(9), ntb_db_event(9), ntb_msg_event(9), ntb_default_port_number(9), ntb_default_peer_port_count(9), ntb_default_peer_port_number(9), ntb_default_peer_port_idx(9), ntb_port_number(9), ntb_peer_port_count(9), ntb_peer_port_number(9), ntb_logical_port_number(9), ntb_peer_logical_port_number(9), ntb_peer_port_idx(9), ntb_link_is_up(9), ntb_link_enable(9), ntb_link_disable(9), ntb_mw_count(9), ntb_mw_get_align(9), ntb_mw_set_trans(9), ntb_mw_clear_trans(9), ntb_peer_mw_count(9), ntb_peer_mw_get_addr(9), ntb_peer_mw_set_trans(9), ntb_peer_mw_clear_trans(9), ntb_db_is_unsafe(9), ntb_db_valid_mask(9), ntb_db_vector_count(9), ntb_db_vector_mask(9), ntb_db_read(9), ntb_db_set(9), ntb_db_clear(9), ntb_db_read_mask(9), ntb_db_set_mask(9), ntb_db_clear_mask(9), ntb_peer_db_addr(9), ntb_peer_db_read(9), ntb_peer_db_set(9), ntb_peer_db_clear(9), ntb_peer_db_read_mask(9), ntb_peer_db_set_mask(9), ntb_peer_db_clear_mask(9), ntb_spad_is_unsafe(9), ntb_spad_count(9), ntb_spad_read(9), ntb_peer_spad_addr(9), ntb_peer_spad_read(9), ntb_peer_spad_write(9), ntb_msg_count(9), ntb_msg_inbits(9), ntb_msg_outbits(9), ntb_msg_read_sts(9), ntb_msg_clear_sts(9), ntb_msg_set_mask(9), ntb_msg_clear_mask(9), ntb_msg_read(9), ntb_peer_msg_write(9), ntb_get_dma_dev(9), ntb_peer_resource_idx(9), ntb_peer_highest_mw_idx(9)
π‘ friendly reminder bestie: the return value is Zero on success and an error number otherwise β and the local scratchpad register is the local one, so if you were looking for the peer version, that's a whole different function, iykyk π
and that's the page!! π this lil slice of the Kernel API Manual comes from the kernel file ./include/linux, dated October 2026 β mwah, thanks for reading, periodt π
ππ
π¦ 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