]> Git Repo - linux.git/commitdiff
PCI: iproc: Invalidate correct PAXB inbound windows
authorRoman Bacik <[email protected]>
Thu, 1 Oct 2020 06:00:53 +0000 (11:30 +0530)
committerLorenzo Pieralisi <[email protected]>
Mon, 30 Nov 2020 18:25:01 +0000 (18:25 +0000)
Second stage bootloaders prior to Linux boot may use all inbound windows
including IARR1/IMAP1. We need to ensure that all previous configuration
of inbound windows are invalidated during the initialization stage of
the Linux iProc PCIe driver so let's add a fix to define and invalidate
IARR1/IMAP1 because it is currently missing, fixing the issue.

Link: https://lore.kernel.org/r/[email protected]
Fixes: 9415743e4c8a ("PCI: iproc: Invalidate PAXB address mapping")
Signed-off-by: Roman Bacik <[email protected]>
Signed-off-by: Srinath Mannam <[email protected]>
[[email protected]: commit log]
Signed-off-by: Lorenzo Pieralisi <[email protected]>
drivers/pci/controller/pcie-iproc.c

index d901b9d392b8c7fdf8bd1223c32f024330ca2016..cc5b7823edeb722d1a96b8626170d2362cb02287 100644 (file)
@@ -192,8 +192,15 @@ static const struct iproc_pcie_ib_map paxb_v2_ib_map[] = {
                .imap_window_offset = 0x4,
        },
        {
-               /* IARR1/IMAP1 (currently unused) */
-               .type = IPROC_PCIE_IB_MAP_INVALID,
+               /* IARR1/IMAP1 */
+               .type = IPROC_PCIE_IB_MAP_MEM,
+               .size_unit = SZ_1M,
+               .region_sizes = { 8 },
+               .nr_sizes = 1,
+               .nr_windows = 8,
+               .imap_addr_offset = 0x4,
+               .imap_window_offset = 0x8,
+
        },
        {
                /* IARR2/IMAP2 */
@@ -351,6 +358,8 @@ static const u16 iproc_pcie_reg_paxb_v2[IPROC_PCIE_MAX_NUM_REG] = {
        [IPROC_PCIE_OMAP3]              = 0xdf8,
        [IPROC_PCIE_IARR0]              = 0xd00,
        [IPROC_PCIE_IMAP0]              = 0xc00,
+       [IPROC_PCIE_IARR1]              = 0xd08,
+       [IPROC_PCIE_IMAP1]              = 0xd70,
        [IPROC_PCIE_IARR2]              = 0xd10,
        [IPROC_PCIE_IMAP2]              = 0xcc0,
        [IPROC_PCIE_IARR3]              = 0xe00,
This page took 0.065025 seconds and 4 git commands to generate.