]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
PCI: keystone: Fix outbound region mapping
authorYurii Monakov <monakov.y@gmail.com>
Fri, 4 Oct 2019 15:48:11 +0000 (18:48 +0300)
committerPaolo Pisati <paolo.pisati@canonical.com>
Mon, 17 Feb 2020 09:57:44 +0000 (10:57 +0100)
BugLink: https://bugs.launchpad.net/bugs/1863588
commit 2d0c3fbe43fa0e6fcb7a6c755c5f4cd702c0d2f4 upstream.

The Keystone outbound Address Translation Unit (ATU) maps PCI MMIO space in
8 MB windows.  When programming the ATU windows, we previously incremented
the starting address by 8, not 8 MB, so all the windows were mapped to the
first 8 MB.  Therefore, only 8 MB of MMIO space was accessible.

Update the loop so it increments the starting address by 8 MB, not 8, so
more MMIO space is accessible.

Fixes: e75043ad9792 ("PCI: keystone: Cleanup outbound window configuration")
Link: https://lore.kernel.org/r/20191004154811.GA31397@monakov-y.office.kontur-niirs.ru
Signed-off-by: Yurii Monakov <monakov.y@gmail.com>
[bhelgaas: commit log]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Andrew Murray <andrew.murray@arm.com>
Acked-by: Kishon Vijay Abraham I <kishon@ti.com>
Cc: stable@vger.kernel.org # v4.20+
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
drivers/pci/controller/dwc/pci-keystone.c

index af677254a0726574d1cd7c73e2ae27939011c2e0..f19de60ac991b1f9fdc4d9b3054ea3962e2481e4 100644 (file)
@@ -422,7 +422,7 @@ static void ks_pcie_setup_rc_app_regs(struct keystone_pcie *ks_pcie)
                                   lower_32_bits(start) | OB_ENABLEN);
                ks_pcie_app_writel(ks_pcie, OB_OFFSET_HI(i),
                                   upper_32_bits(start));
-               start += OB_WIN_SIZE;
+               start += OB_WIN_SIZE * SZ_1M;
        }
 
        val = ks_pcie_app_readl(ks_pcie, CMD_STATUS);