ntb_db_clear_mask(9)
π NAME π
okay bestie, meet ntb_db_clear_mask(9) β a page straight outta the Kernel API Manual β¨ and the name is literally saying βclear bits in the local doorbell mask.β Iconic. π
π SYNOPSIS π
int ntb_db_clear_mask (struct ntb_dev *ntb , u64 db_bits );
π¦ ARGUMENTS π¦
ntbβ the NTB device context, aka the device weβre talking about. π«Άdb_bitsβ the doorbell bits you wanna clear. π
πΈ DESCRIPTION πΈ
So this one clears bits in the local doorbell mask register. The whole point? Itβs allowing doorbell interrupts from being generated for those doorbell bits. Lowkey the mask is the vibe check for interrupts. π
Now the important part, no cap: if a doorbell bit is already set at the time the mask is cleared, and the corresponding mask bit is changed from set to clear, then the ntb driver must ensure that ntb_db_event is called. If the hardware does not generate the interrupt on clearing the mask bit, then the driver must call ntb_db_event anyway. Like, even if hardware is being lazy, the driver still has to make the call. ππ₯
β RETURN β
Zero on success, otherwise an error number. Slay when zero, error number when not. π
π SEE ALSO π
Also pull up the Kernel file ./include/linux/ntb.h and this whole friend group:
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_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)
Source/version: ./include/linux Β· date: October 2026 Β· page: ntb_db_clear_mask(9) β bye bestie, go clear those mask bits responsibly πβ¨
π¦ 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