diff options
-rw-r--r-- | drivers/pci/dwc/pcie-designware-ep.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/pci/dwc/pcie-designware-ep.c b/drivers/pci/dwc/pcie-designware-ep.c index b3a5533fe0b9..70c8c1eedb42 100644 --- a/drivers/pci/dwc/pcie-designware-ep.c +++ b/drivers/pci/dwc/pcie-designware-ep.c | |||
@@ -138,8 +138,15 @@ static int dw_pcie_ep_set_bar(struct pci_epc *epc, u8 func_no, | |||
138 | return ret; | 138 | return ret; |
139 | 139 | ||
140 | dw_pcie_dbi_ro_wr_en(pci); | 140 | dw_pcie_dbi_ro_wr_en(pci); |
141 | dw_pcie_writel_dbi2(pci, reg, size - 1); | 141 | |
142 | dw_pcie_writel_dbi2(pci, reg, lower_32_bits(size - 1)); | ||
142 | dw_pcie_writel_dbi(pci, reg, flags); | 143 | dw_pcie_writel_dbi(pci, reg, flags); |
144 | |||
145 | if (flags & PCI_BASE_ADDRESS_MEM_TYPE_64) { | ||
146 | dw_pcie_writel_dbi2(pci, reg + 4, upper_32_bits(size - 1)); | ||
147 | dw_pcie_writel_dbi(pci, reg + 4, 0); | ||
148 | } | ||
149 | |||
143 | dw_pcie_dbi_ro_wr_dis(pci); | 150 | dw_pcie_dbi_ro_wr_dis(pci); |
144 | 151 | ||
145 | return 0; | 152 | return 0; |