STRUCT PCI_EPC_FEATURES(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ struct pci_epc_features(9) πŸŽ€

okay bestie, this is the Kernel API Manual page for struct pci_epc_features β€” the struct that lists features supported by an EPC device, per function. Think of it as the feature-check checklist, and yes, every member matters πŸ’…

✨ NAME ✨

struct pci_epc_features β€” features supported by an EPC device, per function.

🌈 SYNOPSIS 🌈

       struct pci_epc_features {
           unsigned int    linkup_notifier : 1;
           unsigned int    dynamic_inbound_mapping : 1;
           unsigned int    subrange_mapping : 1;
           unsigned int    msi_capable : 1;
           unsigned int    msix_capable : 1;
           unsigned int    intx_capable : 1;
           struct pci_epc_bar_desc bar[PCI_STD_NUM_BARS];
           size_t align;
        };

🧚 Members 🧚

  • linkup_notifier β€” says whether the EPC device can notify the EPF driver on link up πŸ””
  • dynamic_inbound_mapping β€” says whether the EPC device supports updating inbound mappings for an already configured BAR (i.e. allow calling pci_epc_set_bar again without first calling pci_epc_clear_bar) πŸ”
  • subrange_mapping β€” says whether the EPC device can map inbound subranges for a BAR. This feature depends on the dynamic_inbound_mapping feature 🧩
  • msi_capable β€” says whether the endpoint function has MSI capability ✨
  • msix_capable β€” says whether the endpoint function has MSI-X capability πŸ’«
  • intx_capable β€” says whether the endpoint can raise INTx interrupts 🚨
  • bar β€” array specifying the hardware description for each BAR 🧱
  • align β€” alignment size required for BAR buffer allocation πŸ“

πŸ‘‘ SEE ALSO πŸ‘‘

  • Kernel file ./include/linux/pci-epc.h
  • struct pci_epc_map(9)
  • enum pci_epc_aux_resource_type(9)
  • struct pci_epc_aux_resource(9)
  • struct pci_epc_ops(9)
  • struct pci_epc_mem_window(9)
  • struct pci_epc_mem(9)
  • struct pci_epc(9)
  • enum pci_epc_bar_type(9)
  • enum pci_epc_bar_rsvd_region_type(9)
  • struct pci_epc_bar_rsvd_region(9)
  • struct pci_epc_bar_desc(9)

that’s the whole page, bestie 🫢 β€” source vibes are ./include/linux, date/version is October 2026, and the page is struct pci_epc_features(9). periodt πŸ’–

πŸ“¦ where this page comes from