summaryrefslogtreecommitdiff
path: root/drivers/pci/controller
diff options
context:
space:
mode:
authorHans Zhang <18255117159@163.com>2026-07-01 15:35:10 +0800
committerManivannan Sadhasivam <mani@kernel.org>2026-07-15 09:35:43 +0200
commitb5672f9463f2ee184730daaa5c43b9b5e8fb9f86 (patch)
treee2dc042a882c4a67ae0d5d5e5c90c93a0340b540 /drivers/pci/controller
parent93aac16f1eb9a181f9bdde620b464f6cc5fa8369 (diff)
downloadlinux-next-b5672f9463f2ee184730daaa5c43b9b5e8fb9f86.tar.gz
linux-next-b5672f9463f2ee184730daaa5c43b9b5e8fb9f86.zip
PCI: cadence: Add HPA architecture flag
Add a boolean flag 'is_hpa' to the cdns_pcie structure to indicate that the controller is part of a Heterogeneous Processor Architecture (HPA) system. This flag will be used by subsequent patches to handle HPA-specific register layouts and behaviors. Signed-off-by: Hans Zhang <18255117159@163.com> Signed-off-by: Manivannan Sadhasivam <mani@kernel.org> Tested-by: Aksh Garg <a-garg7@ti.com> Link: https://patch.msgid.link/20260701073513.1101559-2-18255117159@163.com
Diffstat (limited to 'drivers/pci/controller')
-rw-r--r--drivers/pci/controller/cadence/pci-sky1.c1
-rw-r--r--drivers/pci/controller/cadence/pcie-cadence.h2
2 files changed, 3 insertions, 0 deletions
diff --git a/drivers/pci/controller/cadence/pci-sky1.c b/drivers/pci/controller/cadence/pci-sky1.c
index cd55c64e58a9..e1f4a98e2ab6 100644
--- a/drivers/pci/controller/cadence/pci-sky1.c
+++ b/drivers/pci/controller/cadence/pci-sky1.c
@@ -174,6 +174,7 @@ static int sky1_pcie_probe(struct platform_device *pdev)
cdns_pcie->reg_base = pcie->reg_base;
cdns_pcie->msg_res = pcie->msg_res;
cdns_pcie->is_rc = true;
+ cdns_pcie->is_hpa = true;
reg_off = devm_kzalloc(dev, sizeof(*reg_off), GFP_KERNEL);
if (!reg_off) {
diff --git a/drivers/pci/controller/cadence/pcie-cadence.h b/drivers/pci/controller/cadence/pcie-cadence.h
index 042a4c49bb9a..eb6d9e7eaa75 100644
--- a/drivers/pci/controller/cadence/pcie-cadence.h
+++ b/drivers/pci/controller/cadence/pcie-cadence.h
@@ -80,6 +80,7 @@ struct cdns_plat_pcie_of_data {
* @msg_res: Region for send message to map PCI accesses
* @dev: PCIe controller
* @is_rc: tell whether the PCIe controller mode is Root Complex or Endpoint.
+ * @is_hpa: indicates if the architecture is HPA
* @phy_count: number of supported PHY devices
* @phy: list of pointers to specific PHY control blocks
* @link: list of pointers to corresponding device link representations
@@ -94,6 +95,7 @@ struct cdns_pcie {
struct resource *msg_res;
struct device *dev;
bool is_rc;
+ bool is_hpa;
int phy_count;
struct phy **phy;
struct device_link **link;