STRUCT IPROC_PCIE(9)
π NAME π
okay bestie, welcome to struct iproc_pcie(9) β the page for the iProc PCIe device. That's the whole name, and honestly it's giving very important kernel-struct main character energy π
πΈ SYNOPSIS πΈ
here's the struct in all its glory, copied exactly so nobody comes for me:
struct iproc_pcie {
struct device *dev;
enum iproc_pcie_type type;
u16 *reg_offsets;
void __iomem *base;
phys_addr_t base_addr;
struct resource mem;
struct phy *phy;
bool ep_is_internal;
bool iproc_cfg_read;
bool rej_unconfig_pf;
bool has_apb_err_disable;
bool fix_paxc_cap;
bool need_ob_cfg;
struct iproc_pcie_ob ob;
const struct iproc_pcie_ob_map *ob_map;
bool need_ib_cfg;
struct iproc_pcie_ib ib;
const struct iproc_pcie_ib_map *ib_map;
bool need_msi_steer;
struct iproc_msi *msi;
};
π«Ά Members π«Ά
roll call time, bestie β every field gets its moment β¨
devβ pointer to device data structure, the classic device hookup.typeβ iProc PCIe interface type, aka which flavor of interface we're dealing with.reg_offsetsβ register offsets. literally the offsets for registers πbaseβ PCIe host controller I/O register base.base_addrβ PCIe host controller register base physical address.memβ host bridge memory window resource.phyβ optional PHY device that controls the Serdes. optional but iconic.ep_is_internalβ indicates an internal emulated endpoint device is connected.iproc_cfg_readβ indicates the iProc config read function should be used.rej_unconfig_pfβ indicates the root complex needs to detect and reject enumeration against unconfigured physical functions emulated in the ASIC. highkey important π«Άhas_apb_err_disableβ indicates the controller can be configured to prevent unsupported request from being forwarded as an APB bus error.fix_paxc_capβ indicates the controller has corrupted capability list in its config space registers and requires SW based fixup. not me reading βcorruptedβ and gasping πneed_ob_cfgβ indicates SW needs to configure the outbound mapping window.obβ outbound mapping related parameters.ob_mapβ outbound mapping related parameters specific to the controller.need_ib_cfgβ indicates SW needs to configure the inbound mapping window.ibβ inbound mapping related parameters.ib_mapβ outbound mapping region related parameters.need_msi_steerβ indicates additional configuration of the iProc PCIe controller is required to steer MSI writes to external interrupt controller.msiβ MSI data. short, sweet, slaying π
π SEE ALSO π
- Kernel file
./drivers/pci/controller/pcie-iproc.henum iproc_pcie_type(9),struct iproc_pcie_ob(9),struct iproc_pcie_ib(9)
okay that's the whole page, bestie β source/version: ./drivers/pci/controller; date: October 2026. bye and slay your kernel π
π¦ 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