| From e220aa8f44490a8bbe3dcd57c57ecdbd96753d8f Mon Sep 17 00:00:00 2001 |
| From: Yurii Monakov <monakov.y@gmail.com> |
| Date: Fri, 4 Oct 2019 18:48:11 +0300 |
| Subject: [PATCH] PCI: keystone: Fix outbound region mapping |
| |
| 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: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/pci/controller/dwc/pci-keystone.c b/drivers/pci/controller/dwc/pci-keystone.c |
| index af677254a072..f19de60ac991 100644 |
| --- a/drivers/pci/controller/dwc/pci-keystone.c |
| +++ b/drivers/pci/controller/dwc/pci-keystone.c |
| @@ -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); |
| -- |
| 2.7.4 |
| |