epf_ntb_db_mw_bar_clear(9)
π epf_ntb_db_mw_bar_clear β kernel API manual, section 9 π
okay bestie so this is epf_ntb_db_mw_bar_clear from section 9 of the kernel API manual, and honestly? it's a little cleanup icon. let's get into it π
β¨ NAME β¨
epf_ntb_db_mw_bar_clear β clear doorbell and memory BAR
π¦ SYNOPSIS π¦
void epf_ntb_db_mw_bar_clear (struct epf_ntb_epc *ntb_epc );
like. that's the whole vibe. one argument, returns nothing, does its little task. periodt πΈ
π ARGUMENTS π
ntb_epcβ the EPC that's associated with one of the HOSTs, specifically the one that holds the peer's outbound address. yeah, that one. π«Ά
π₯ DESCRIPTION π₯
okay so first of all, here is the diagram, and it is a lot, but you need it, so enjoy:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β BAR0 Doorbell 1 +-----------> MSI X ADDRESS 1 β
β BAR1 Doorbell 2 +---------+ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| BAR2 | | Doorbell 3 +-------+ |
+-----------------+ | BAR3 | | | Doorbell 4
+-----+ | +-----------------+ | BAR4 | | |
| | | +-----------------+ | BAR5 | | |
| | | +-----------------+ EP CONTROLLER 1 |
| | | +-----------------+ | | | +---->+ MSI|X
ADDRESS 4 | (A) EP CONTROLLER 2 | | | (OB
SPACE) | | | +-------> MW1 | |
| | | (B) +-----------------+ | | |
| | | | | | | PCI
Address Space (Managed by HOST2)
so what this function does, bestie, is it clears the doorbell and memory BARs β which is the fancy way of saying it removes the inbound ATU configuration. that's the whole thing. no cap.
and if you look at the diagram up there (yes, the messy one, love her), it clears BAR2 TO BAR5 of EP CONTROLLER 1. that means:
- the Doorbell BAR
- the MW1 BAR
- the MW2 BAR
- the MW3 BAR
- and the MW4 BAR
all of them. cleared. bye. πβ¨
π SEE ALSO π
the kernel file itself lives here, go read it:
./drivers/pci/endpoint/functions/pci-epf-ntb.c
and then the whole friend group of related calls, all of them, in the order the page gives them:
epf_ntb_link_up(9)epf_ntb_configure_mw(9)epf_ntb_teardown_mw(9)epf_ntb_configure_msi(9)epf_ntb_configure_msix(9)epf_ntb_configure_db(9)epf_ntb_teardown_db(9)epf_ntb_cmd_handler(9)epf_ntb_peer_spad_bar_clear(9)epf_ntb_peer_spad_bar_set(9)epf_ntb_config_sspad_bar_clear(9)epf_ntb_config_sspad_bar_set(9)epf_ntb_config_spad_bar_free(9)epf_ntb_config_spad_bar_alloc(9)epf_ntb_config_spad_bar_alloc_interface(9)epf_ntb_free_peer_mem(9)epf_ntb_db_mw_bar_cleanup(9)epf_ntb_configure_interrupt(9)epf_ntb_alloc_peer_mem(9)epf_ntb_db_mw_bar_init(9)epf_ntb_epc_create_interface(9)epf_ntb_epc_create(9)epf_ntb_init_epc_bar_interface(9)epf_ntb_init_epc_bar(9)epf_ntb_epc_init_interface(9)epf_ntb_epc_cleanup_interface(9)epf_ntb_epc_cleanup(9)epf_ntb_epc_init(9)epf_ntb_bind(9)epf_ntb_unbind(9)epf_ntb_add_cfs(9)epf_ntb_probe(9)
bestie heads up β this page comes from ./drivers/pci/endpoint/functions and it's dated October 2026, so that's the source, the version and the date all in one cute little bow π
k that's the page!! go clear those BARs, you're gonna slay ππ§ββοΈβ
π¦ 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