pci_epc_set_msi(9)
π pci_epc_set_msi(9) β like, the Kernel API Manual, bestie β¨
okay so real talk, this one's a whole function and it's lowkey the moment your endpoint decides how many MSI interrupt numbers it's gonna need. yes, this is the Kernel API Manual page for pci_epc_set_msi(9) and we're getting into it π«Ά
πΈ SYNOPSIS πΈ
int pci_epc_set_msi (struct pci_epc *epc , u8 func_no , u8 vfunc_no , u8
nr_irqs );
like, that's the whole signature, no cap. four things in, int out π
π ARGUMENTS π
epcβ the EPC device that's about to get its MSI configured. it's giving main character energy, everything happens on this one πfunc_noβ the physical endpoint function number, inside the EPC device. physical, bestie, keep that straight β¨vfunc_noβ the virtual endpoint function number, and it lives inside that physical function. so it's a function inside a function, very inception of it π¦nr_irqsβ how many MSI interrupts the EPF is asking for. the actual number, the whole point, the icon π―
π DESCRIPTION π
invoke this when you need to set the required number of MSI interrupts. that's the whole vibe. you call it, and it sets the number of MSI interrupts required β genuinely that simple, and honestly? we love a one-job function π§
ngl the description is short but every word of it is carrying the entire page, so don't skip it π
π¦ SEE ALSO π¦
also check out the kernel file ./drivers/pci/endpoint/pci-epc-core.c β that's where the source lives, go read it, it's literally right there π
and then the whole extended friend group of related calls, all of them, in order, because we don't leave anyone out at this table:
pci_epc_put(9)pci_epc_get(9)pci_epc_get_first_free_bar(9)pci_epc_get_next_free_bar(9)pci_epc_get_features(9)pci_epc_get_aux_resources_count(9)pci_epc_get_aux_resources(9)pci_epc_stop(9)pci_epc_start(9)pci_epc_raise_irq(9)pci_epc_map_msi_irq(9)pci_epc_get_msi(9)pci_epc_get_msix(9)pci_epc_set_msix(9)pci_epc_unmap_addr(9)pci_epc_map_addr(9)pci_epc_mem_map(9)pci_epc_mem_unmap(9)pci_epc_clear_bar(9)pci_epc_set_bar(9)pci_epc_bar_size_to_rebar_cap(9)pci_epc_write_header(9)pci_epc_add_epf(9)pci_epc_remove_epf(9)pci_epc_linkup(9)pci_epc_linkdown(9)pci_epc_init_notify(9)pci_epc_notify_pending_init(9)pci_epc_deinit_notify(9)pci_epc_bus_master_enable_notify(9)pci_epc_destroy(9)__pci_epc_create(9)__devm_pci_epc_create(9)
β¨ and that's the page, babes β¨
this little gem comes from ./drivers/pci/endpoint (that's the source, iykyk) and it's stamped October 2026 in the Kernel API Manual β so go forth, set those MSI numbers, and 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