epf_ntb_bind(9)
π epf_ntb_bind(9) β the Kernel API Manual page, but make it make sense
okay so bestie, welcome to the epf_ntb_bind(9) glow-up π from the Kernel API Manual. yes, that's a section 9 manpage, which means we're deep in kernel-land and it's giving very much main character energy π
β¨ NAME β¨
epf_ntb_bind β literally the function that initializes the endpoint controller so it can provide NTB functionality π¦
πΈ SYNOPSIS πΈ
int epf_ntb_bind (struct pci_epf *epf );
that's it, that's the whole vibe check: it returns an int and takes one struct pointer. iconic.
π ARGUMENTS π
epfβ the NTB endpoint function device. this is your girl right here, the thing we're binding π
π§ DESCRIPTION π§
so what it actually does: it initializes both of the endpoint controllers that are associated with the NTB function device. both of them. no cap π
it gets invoked when a primary interface or a secondary interface is bound to the EPC device.
and here's the tea β β this function will succeed only when EPC is bound to both the interfaces. like, both. if only one binds, it's not slaying, it's failing. sorry bestie, that's just the rules π
π₯ RETURN π₯
Zero for success, or an error code if it didn't work out. zero = we ate, error code = π
ngl, always check the return value. zero is the only good number here.
π SEE ALSO π
the kernel file it lives in, for when you wanna read the source yourself (respect, honestly):
./drivers/pci/endpoint/functions/pci-epf-vntb.c
and the whole friend group π β all these sibling functions, fr fr:
epf_ntb_link_up(9)epf_ntb_configure_mw(9)epf_ntb_teardown_mw(9)epf_ntb_cmd_handler(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_configure_interrupt(9)epf_ntb_db_bar_init(9)epf_ntb_db_bar_clear(9)epf_ntb_mw_bar_init(9)epf_ntb_mw_bar_clear(9)epf_ntb_is_bar_used(9)epf_ntb_find_bar(9)epf_ntb_init_epc_bar(9)epf_ntb_epc_init(9)epf_ntb_epc_cleanup(9)epf_ntb_add_cfs(9)epf_ntb_unbind(9)epf_ntb_probe(9)
and that's the whole page, bestie π«Ά this lil masterpiece lives over in ./drivers/pci/endpoint/functions and it's dated October 2026 π β go forth, bind your endpoints, and remember: both interfaces or it doesn't count πβ¨
π¦ 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