|
@@ -335,10 +335,23 @@ static irqreturn_t dra7xx_pcie_irq_handler(int irq, void *arg)
|
|
|
return IRQ_HANDLED;
|
|
|
}
|
|
|
|
|
|
+static void dw_pcie_ep_reset_bar(struct dw_pcie *pci, enum pci_barno bar)
|
|
|
+{
|
|
|
+ u32 reg;
|
|
|
+
|
|
|
+ reg = PCI_BASE_ADDRESS_0 + (4 * bar);
|
|
|
+ dw_pcie_writel_dbi2(pci, reg, 0x0);
|
|
|
+ dw_pcie_writel_dbi(pci, reg, 0x0);
|
|
|
+}
|
|
|
+
|
|
|
static void dra7xx_pcie_ep_init(struct dw_pcie_ep *ep)
|
|
|
{
|
|
|
struct dw_pcie *pci = to_dw_pcie_from_ep(ep);
|
|
|
struct dra7xx_pcie *dra7xx = to_dra7xx_pcie(pci);
|
|
|
+ enum pci_barno bar;
|
|
|
+
|
|
|
+ for (bar = BAR_0; bar <= BAR_5; bar++)
|
|
|
+ dw_pcie_ep_reset_bar(pci, bar);
|
|
|
|
|
|
dra7xx_pcie_enable_wrapper_interrupts(dra7xx);
|
|
|
}
|