STRUCT QCOM_PCIE_EP(9)
π struct qcom_pcie_ep(9)
okay so bestie, welcome to the Kernel API Manual β yes, that's the manual name, we're being fancy today β¨ β and today's main character is the Qualcomm PCIe Endpoint Controller. no cap, this struct is lowkey the whole personality of pcie-qcom-ep.c. let's get into it π«Ά
πΈ NAME πΈ
struct qcom_pcie_ep β the Qualcomm PCIe Endpoint Controller. that's it, that's the vibe. π
π SYNOPSIS π
here's the exact shape of it, character for character, don't touch a thing:
struct qcom_pcie_ep {
struct dw_pcie pci;
void __iomem *parf;
void __iomem *mmio;
struct regmap *perst_map;
struct resource *mmio_res;
struct reset_control *core_reset;
struct gpio_desc *reset;
struct gpio_desc *wake;
struct phy *phy;
struct dentry *debugfs;
struct icc_path *icc_mem;
struct clk_bulk_data *clks;
int num_clks;
u32 perst_en;
u32 perst_sep_en;
const struct qcom_pcie_ep_cfg *cfg;
enum qcom_pcie_ep_link_status link_status;
int global_irq;
int perst_irq;
};
β¨ Members β¨
okay this is the fun part, meet the whole cast π¬ every single one of them, no skipping:
pciβ the Designware PCIe controller struct. the blueprint bestie. ποΈparfβ Qualcomm PCIe specific PARF register base. very on-brand, very Qualcomm. πmmioβ MMIO register base. the classic. πperst_mapβ the PERST regmap. πΊοΈmmio_resβ MMIO region resource. it's giving "the actual memory real estate". πcore_resetβ PCIe Endpoint core reset. hitting refresh on the whole thing. πresetβ the PERST# GPIO. β‘wakeβ the WAKE# GPIO. rise and shine, king. βοΈphyβ PHY controller block. the physical layer, the moment. π§debugfsβ the PCIe Endpoint Debugfs directory. for when you wanna snoop πicc_memβ handle to an interconnect path between PCIe and MEM. the ~connection~ π¦clksβ PCIe clocks. tick tock. β°num_clksβ PCIe clocks count. yes, we counted them. πperst_enβ flag for PERST enable. π©perst_sep_enβ flag for PERST separation enable. the sequel flag. π©π©cfgβ the PCIe EP config struct. π οΈlink_statusβ PCIe Link status. are we linking or are we not linking, that is the question. πglobal_irqβ Qualcomm PCIe specific Global IRQ. πperst_irqβ the PERST# IRQ. β‘ again but interrupt-flavoured.
π₯ SEE ALSO π₯
- the kernel file
./drivers/pci/controller/dwc/pcie-qcom-ep.c struct qcom_pcie_ep_cfg(9)β go read that one next, iykyk π
and that's the whole page bestie, you ate that π fr fr. this was live from ./drivers/pci/controller/dwc, dated October 2026 β slay, 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