]> git.hungrycats.org Git - linux/commitdiff
PCI: designware: Fix RC BAR to be single 64-bit non-prefetchable memory BAR
authorMohit Kumar <mohit.kumar@st.com>
Wed, 19 Feb 2014 12:04:35 +0000 (17:34 +0530)
committerJiri Slaby <jslaby@suse.cz>
Mon, 5 May 2014 12:24:35 +0000 (14:24 +0200)
commit dbffdd6862e67d60703f2df66c558bf448f81d6e upstream.

The Synopsys PCIe core provides one pair of 32-bit BARs (BAR 0 and BAR 1).
The BARs can be configured as follows:

  - One 64-bit BAR: BARs 0 and 1 are combined to form a single 64-bit BAR
  - Two 32-bit BARs: BARs 0 and 1 are two independent 32-bit BARs

This patch corrects 64-bit, non-prefetchable memory BAR configuration
implemented in dw driver.

Signed-off-by: Mohit Kumar <mohit.kumar@st.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: Pratyush Anand <pratyush.anand@st.com>
Cc: Jingoo Han <jg1.han@samsung.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/pci/host/pcie-designware.c

index c10e9ac9bbbc81849d8e4fba538ba3b58a96aad5..09eba9f338feb15aeb6e7f69d3317b4fa664d6cd 100644 (file)
@@ -532,7 +532,7 @@ void dw_pcie_setup_rc(struct pcie_port *pp)
 
        /* setup RC BARs */
        dw_pcie_writel_rc(pp, 0x00000004, PCI_BASE_ADDRESS_0);
-       dw_pcie_writel_rc(pp, 0x00000004, PCI_BASE_ADDRESS_1);
+       dw_pcie_writel_rc(pp, 0x00000000, PCI_BASE_ADDRESS_1);
 
        /* setup interrupt pins */
        dw_pcie_readl_rc(pp, PCI_INTERRUPT_LINE, &val);