STRUCT CDNS_PCIE_RC(9)
π NAME π
okay so welcome to the struct cdns_pcie_rc(9) page, bestie β this is the private data for this PCIe Root Complex driver, straight out of the Kernel API Manual β¨ no cap, that's literally the whole name section π«Ά
π SYNOPSIS π
here's the struct in all its iconic glory, copy it exactly bestie, don't you dare touch a character π
struct cdns_pcie_rc {
struct cdns_pcie pcie;
struct resource *cfg_res;
void __iomem *cfg_base;
u32 vendor_id;
u32 device_id;
bool avail_ib_bar[CDNS_PCIE_RP_MAX_IB];
unsigned int quirk_retrain_flag:1;
unsigned int quirk_detect_quiet_flag:1;
unsigned int ecam_supported:1;
unsigned int no_inbound_map:1;
unsigned int quirk_broken_aspm_l0s:1;
unsigned int quirk_broken_aspm_l1:1;
};
like, look at those bitfields β one bit each, highkey thrifty π
πΈ Members πΈ
okay so here's the member-by-member tour and honestly every single one matters, so no skipping π
pcieβ the Cadence PCIe controller itself, the main character of this struct β¨cfg_resβ the start/end offsets in the physical system memory, used to map PCI configuration space accesses πcfg_baseβ the IO mapped window that lets you access the PCI configuration space of a single function at a time πͺvendor_idβ the PCI vendor ID, yup that's it π·οΈdevice_idβ the PCI device ID, its bestie π·οΈavail_ib_barβ status ofRP_BAR0,RP_BAR1andRP_NO_BAR, telling you if it's free or available πquirk_retrain_flagβ retrain the link as a quirk for PCIe Gen2, quirky behavior fr fr πquirk_detect_quiet_flagβ LTSSM Detect Quiet min delay, set as a quirk π€«ecam_supportedβ whether the ECAM is supported, yes or no bestie βno_inbound_mapβ whether inbound mapping is supported π«quirk_broken_aspm_l0sβ disable ASPM L0s support as a quirk πquirk_broken_aspm_l1β disable ASPM L1 support as a quirk π
ngl the quirk flags are giving "we found a hardware bug and worked around it" energy, and honestly? iconic of them π
π¦ SEE ALSO π¦
go touch some related lore, bestie π§
- Kernel file
./drivers/pci/controller/cadence/pcie-cadence.h struct cdns_plat_pcie_of_data(9)struct cdns_pcie(9)struct cdns_pcie_epf(9)struct cdns_pcie_ep(9)
iykyk π
and that's the whole page, periodt π big slay to the ./drivers/pci/controller/cadence crew, this one's dated October 2026 and it ate fr fr β see u in the next manpage, mwah π
π¦ 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