ntb_mw_set_trans(9)
π ntb_mw_set_trans(9) β Kernel API Manual π
okay bestie, welcome to the ntb_mw_set_trans(9) page, straight out of the Kernel API Manual β¨ this one's a tiny little function with a very specific job: it sets the translation of an inbound memory window. that's it. that's the whole vibe check. π¦
πΈ SYNOPSIS πΈ
fr fr here's the whole signature, don't touch it, it's perfect:
int ntb_mw_set_trans (struct ntb_dev *ntb , int pidx , int widx ,
dma_addr_t addr , resource_size_t size );
β¨ ARGUMENTS β¨
ntbβ the NTB device context. your main character struct, basically πpidxβ port index of the peer device. yep, we're specifying which friend we're talking to π«Άwidxβ memory window index. which window, bestie? this one πaddrβ the dma address of local memory to expose to the peer. like, the address of the stuff you're showing off πsizeβ the size of the local memory to expose to the peer. how much of the goods π
π¦ DESCRIPTION π¦
okay so here's the tea: this call sets the translation of a memory window. the peer may access local memory through the window starting at the address, up to the size. literally that simple, no cap.
but here's the part where you gotta pay attention π β the address and size must be aligned in compliance with restrictions of ntb_mw_get_align. and the region size should not exceed the size_max parameter of that method. so go check ntb_mw_get_align first, i'm begging π it's giving "read the prerequisites before you start the assignment."
β οΈ also! this method may not be implemented due to the hardware specific memory windows interface. so like, don't be shocked if it's just not there. hardware said no. π
β RETURN β
zero on success, otherwise an error number. slay when it's zero, π§ when it's not.
π SEE ALSO π
- 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_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_spad_write(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)
like i said, the whole friend group π go say hi to all of them.
anyway, that's the page!! this one ships out of ./include/linux and the version on the label is dated October 2026 π
β so like, mark your calendar bestie, and remember: read ntb_mw_get_align before you set anything. mwah πβ¨π¦
π¦ 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