struct irq_domain *irq_domain;
struct irq_chip irq_chip;
raw_spinlock_t irq_lock;
-@@ -1441,6 +1442,44 @@ static void advk_pcie_remove_irq_domain(
+@@ -1443,6 +1444,44 @@ static void advk_pcie_remove_irq_domain(
irq_domain_remove(pcie->irq_domain);
}
static void advk_pcie_handle_pme(struct advk_pcie *pcie)
{
u32 requester = advk_readl(pcie, PCIE_MSG_LOG_REG) >> 16;
-@@ -1463,7 +1502,7 @@ static void advk_pcie_handle_pme(struct
+@@ -1465,7 +1504,7 @@ static void advk_pcie_handle_pme(struct
if (!(le16_to_cpu(pcie->bridge.pcie_conf.rootctl) & PCI_EXP_RTCTL_PMEIE))
return;
if (generic_handle_irq(virq) == -EINVAL)
dev_err_ratelimited(&pcie->pdev->dev, "unhandled PME IRQ\n");
}
-@@ -1520,7 +1559,7 @@ static void advk_pcie_handle_int(struct
+@@ -1522,7 +1561,7 @@ static void advk_pcie_handle_int(struct
* Aardvark HW returns zero for PCI_ERR_ROOT_AER_IRQ, so use
* PCIe interrupt 0
*/
if (generic_handle_irq(virq) == -EINVAL)
dev_err_ratelimited(&pcie->pdev->dev, "unhandled ERR IRQ\n");
}
-@@ -1566,6 +1605,21 @@ static void advk_pcie_irq_handler(struct
+@@ -1568,6 +1607,21 @@ static void advk_pcie_irq_handler(struct
chained_irq_exit(chip, desc);
}
static void __maybe_unused advk_pcie_disable_phy(struct advk_pcie *pcie)
{
phy_power_off(pcie->phy);
-@@ -1769,14 +1823,24 @@ static int advk_pcie_probe(struct platfo
+@@ -1771,14 +1825,24 @@ static int advk_pcie_probe(struct platfo
return ret;
}
advk_pcie_remove_msi_irq_domain(pcie);
advk_pcie_remove_irq_domain(pcie);
return ret;
-@@ -1828,6 +1892,7 @@ static int advk_pcie_remove(struct platf
+@@ -1830,6 +1894,7 @@ static int advk_pcie_remove(struct platf
irq_set_chained_handler_and_data(pcie->irq, NULL, NULL);
/* Remove IRQ domains */