sh: Establish a SuperHyway<->PCIe window mapping on SH7786 PCIe.
authorPaul Mundt <lethal@linux-sh.org>
Tue, 7 Sep 2010 07:12:26 +0000 (16:12 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Tue, 7 Sep 2010 07:12:26 +0000 (16:12 +0900)
This bumps up the low address to match the physical memory windows for
SHway<->PCIe transfers. The previous implementation was banking on a 1:1
virt<->phys SHway mapping, which doesn't apply here.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/drivers/pci/pcie-sh7786.c

index 40b0ed042236376a6dc6ebb43d7925908b2bf973..4cd83140579b163469e80a2fca87ec1626e9788a 100644 (file)
@@ -354,8 +354,8 @@ static int pcie_init(struct sh7786_pcie_port *port)
                __raw_writel(((roundup_pow_of_two(size) / SZ_256K) - 1) << 18,
                             chan->reg_base + SH4A_PCIEPAMR(i));
 
+               pci_write_reg(chan, res->start, SH4A_PCIEPARL(i));
                pci_write_reg(chan, 0x00000000, SH4A_PCIEPARH(i));
-               pci_write_reg(chan, 0x00000000, SH4A_PCIEPARL(i));
 
                enable_mask = MASK_PARE;
                if (res->flags & IORESOURCE_IO)