STRUCT ASPEED_PCIE(9)
β¨ struct aspeed_pcie(9) β¨
okay so bestie, this is from the Kernel API Manual and it's literally the whole vibe of the Aspeed PCIe root complex (RC) β like, all the info it keeps about itself. no cap, every field here is load-bearing π
π NAME π
struct aspeed_pcie β PCIe RC information π
πΈ SYNOPSIS πΈ
struct aspeed_pcie {
struct pci_host_bridge *host;
struct device *dev;
void __iomem *reg;
struct regmap *ahbc;
struct regmap *cfg;
const struct aspeed_pcie_rc_platform *platform;
struct list_head ports;
u8 tx_tag;
u8 root_bus_nr;
struct reset_control *h2xrst;
struct irq_domain *intx_domain;
struct irq_domain *msi_domain;
struct mutex lock;
unsigned long msi_irq_in_use[BITS_TO_LONGS( MAX_MSI_HOST_IRQS)];
bool clear_msi_twice;
};
like, that's the whole struct, copied exactly, no edits from me, i promise π«Ά (and yes, that [BITS_TO_LONGS( MAX_MSI_HOST_IRQS)] spacing is how it was written, we don't touch it)
π¦ Members π¦
okay so going field by field, main character energy each one:
hostβ pointer to the PCIe host bridge πdevβ pointer to the device structureregβ PCIe host register base addressahbcβ pointer to AHHC register mapcfgβ pointer to Aspeed PCIe configuration register mapplatformβ platform specific informationportsβ list of PCIe portstx_tagβ current TX tag for the portroot_bus_nrβ bus number of the host bridgeh2xrstβ pointer to H2X reset control β¨intx_domainβ IRQ domain for INTx interruptsmsi_domainβ IRQ domain for MSI interruptslockβ mutex to protect MSI bitmap variable πmsi_irq_in_useβ bitmap to track used MSI host IRQsclear_msi_twiceβ AST2700 workaround to clear MSI status twice π
not me pointing out that clear_msi_twice is literally a workaround β it's for AST2700 and it clears the MSI status twice. that's the whole bit. icon.
π SEE ALSO π
- Kernel file
./drivers/pci/controller/pcie-aspeed.cstructaspeed_pcie_port(9), structaspeed_pcie_rc_platform(9)π§
β the sign-off β
this lil page came from ./drivers/pci/controller and it's dated October 2026, and the whole thing is filed under struct aspeed_pcie(9) β slay, go read the driver bestie, ily, bye ππ
π¦ 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