STRUCT PCI_EPF_BAR_SUBMAP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct pci_epf_bar_submap β€” BAR subrange for inbound mapping ✨

okay bestie so this is a page straight out of the Kernel API Manual (yep, that's the manual name, we're fancy now πŸ’…) and it's all about struct pci_epf_bar_submap. it's giving "small struct, big job" honestly.


πŸŽ€ SYNOPSIS πŸŽ€

struct pci_epf_bar_submap {
    dma_addr_t phys_addr;
    size_t size;
 };

like… two fields. two. and yet she's iconic. look at her 🫢


🌸 Members 🌸

  • phys_addr β€” the target physical/DMA address for this subrange. this is where the thing actually lives, no cap.
  • size β€” the size of the subrange that's gonna get mapped. how much of the vibe are we covering ✨

πŸ’– Description πŸ’–

so here's the tea, bestie β˜• when pci_epf_bar.num_submap is > 0, then pci_epf_bar.submap describes the complete BAR layout. literally the whole picture.

this lets an EPC driver program multiple inbound translation windows for a single BAR β€” but only when the controller supports it, iykyk. so if your controller's not about that life, this is a no-go πŸ™ˆ

and the array order? that defines the BAR layout. so submap[0] sits at offset 0, and every one after it immediately follows the previous one. in order. no skipping. main character energy only πŸ‘‘

⚠️ lowkey important: the ordering isn't decorative β€” it is the layout. don't go shuffling the array and expecting good things πŸ’€

πŸ¦‹ SEE ALSO πŸ¦‹

  • Kernel file ./include/linux/pci-epf.h
  • struct pci_epf_header(9)
  • struct pci_epf_ops(9)
  • struct pci_epc_event_ops(9)
  • struct pci_epf_driver(9)
  • struct pci_epf_bar(9)
  • struct pci_epf_doorbell_msg(9)
  • struct pci_epf(9)
  • struct pci_epf_msix_tbl(9)

like, the whole friend group fr fr 🌈 go read them, you'll get it πŸ’œ


that's the whole page babes ✨ this one lives over in ./include/linux in the Kernel API Manual, dated October 2026 β€” so bestie, struct pci_epf_bar_submap(9) is stamped, sealed, and slaying πŸŽ€πŸ’« periodt.

πŸ“¦ where this page comes from