ntb_db_valid_mask(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 ntb_db_valid_mask β€” a Kernel API Manual moment 🌸

okay so bestie, we're deep in the Kernel API Manual today and the star of the show is ntb_db_valid_mask(9). yes it's a real one. yes it's iconic. let's get into it πŸ’…


✨ NAME ✨

ntb_db_valid_mask β€” grab a mask of the doorbell bits that your ntb actually supports πŸŽ€


✨ SYNOPSIS ✨

u64 ntb_db_valid_mask (struct ntb_dev *ntb );

✨ ARGUMENTS ✨

  • ntb β€” the NTB device context. that's your main character right there 🫢

✨ DESCRIPTION ✨

okay so here's the tea β˜• β€” hardware can support a different number of doorbell bits, or a totally different arrangement of them. like, every chip gets to decide its own vibe. no cap.


✨ RETURN ✨

a mask of doorbell bits supported by the ntb ✨ (yes, a u64, and yes it slays)


✨ SEE ALSO ✨

the kernel file ./include/linux/ntb.h β€” and literally the entire extended ntb family, all of them, here we go 🧚:

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_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)


lowkey that's a whole friend group of functions and they all ate πŸ’€πŸ’–

and that's the whole page bestie, no crumbs left πŸ“ β€” brought to you by ./include/linux, dated October 2026, from the Kernel API Manual. go forth and check your doorbell bits, mwah πŸ˜˜πŸ’œ

πŸ“¦ where this page comes from