Sfoglia il codice sorgente

sh: Establish a SuperHyway<->PCIe window mapping on SH7786 PCIe.

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>
Paul Mundt 14 anni fa
parent
commit
2c5f674339
1 ha cambiato i file con 1 aggiunte e 1 eliminazioni
  1. 1 1
      arch/sh/drivers/pci/pcie-sh7786.c

+ 1 - 1
arch/sh/drivers/pci/pcie-sh7786.c

@@ -354,8 +354,8 @@ static int pcie_init(struct sh7786_pcie_port *port)
 		__raw_writel(((roundup_pow_of_two(size) / SZ_256K) - 1) << 18,
 		__raw_writel(((roundup_pow_of_two(size) / SZ_256K) - 1) << 18,
 			     chan->reg_base + SH4A_PCIEPAMR(i));
 			     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_PCIEPARH(i));
-		pci_write_reg(chan, 0x00000000, SH4A_PCIEPARL(i));
 
 
 		enable_mask = MASK_PARE;
 		enable_mask = MASK_PARE;
 		if (res->flags & IORESOURCE_IO)
 		if (res->flags & IORESOURCE_IO)