ntb_db_set(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ntb_db_set β€” like, the Kernel API Manual page you actually wanna read πŸŽ€

okay bestie, this is ntb_db_set(9) from the Kernel API Manual, and it's genuinely one of the shortest little functions you'll ever meet β€” but the SEE ALSO list at the bottom is giving main character energy, so buckle up πŸ¦‹


✨ NAME ✨

ntb_db_set β€” sets bits in the local doorbell register πŸ””βœ¨


🌸 SYNOPSIS 🌸

int ntb_db_set (struct ntb_dev *ntb , u64 db_bits );

πŸŽ€ ARGUMENTS πŸŽ€

  • ntb β€” the NTB device context. like, the whole device vibe you're working with πŸ’–
  • db_bits β€” the doorbell bits you wanna set. the actual bits, bestie, not vague intentions πŸ’…

πŸ¦‹ DESCRIPTION πŸ¦‹

So what it does is: it sets bits in the local doorbell register, which β€” heads up β€” may generate a local doorbell interrupt πŸ˜­πŸ””

And here's the spicy part: bits that were already set must remain set. no unsetting, no "oops I cleared it", they stay. periodt.

⚠️ ngl, this is unusual, and hardware may not support it. so like… vibe check your hardware first, fr fr πŸ’€

πŸ‘‘ RETURN πŸ‘‘

Zero on success πŸŽ‰ β€” otherwise, an error number πŸ™ˆ


🌈 SEE ALSO 🌈

okay this is the part where I hold your hand, because it's a LOT and every single one of these is here for a reason, no cap 🫢

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_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… that's the whole friend group, and yes, you're gonna need ntb_db_clear(9) and ntb_db_read(9) to balance this out, iykyk πŸ’œ


and that's the page, bestie!! this little icon came from the kernel tree at ./include/linux πŸ“ and it's dated October 2026 πŸ—“οΈ β€” so go forth, set those doorbell bits, and slay βœ¨πŸ’…πŸŽ€

πŸ“¦ where this page comes from