]> rtime.felk.cvut.cz Git - hercules2020/nv-tegra/linux-4.4.git/commitdiff
pcie: host: disable AFI dynamic clock gating
authorKen Chang <kenc@nvidia.com>
Tue, 25 Apr 2017 04:46:02 +0000 (12:46 +0800)
committermobile promotions <svcmobile_promotions@nvidia.com>
Mon, 22 May 2017 11:00:15 +0000 (04:00 -0700)
Override AFI clock enable to disable dynamic clock gating logic.

Bug 1885717
Bug 200285927
Bug 200267819

Change-Id: I15a4f67f0a0fd0fb5d28504f9317a9228fca9531
Signed-off-by: Ken Chang <kenc@nvidia.com>
Reviewed-on: http://git-master/r/1469192
(cherry picked from commit fbacedca8e25ebc5400191156316efc52edc3888)
Reviewed-on: http://git-master/r/1482582
GVS: Gerrit_Virtual_Submit
Reviewed-by: Vidya Sagar <vidyas@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
drivers/pci/host/pci-tegra.c

index 835a762bf53645ccf3bdf31090d8fc7cb2dcad6c..7f48daea85f54486e75ddd45fd6e1ea11cf4434f 100644 (file)
 #define AFI_MSI_EN_VEC7_0                                              0xa8
 
 #define AFI_CONFIGURATION                                              0xac
-#define AFI_CONFIGURATION_EN_FPCI                              (1 << 0)
+#define AFI_CONFIGURATION_EN_FPCI                                      (1 << 0)
+#define AFI_CONFIGURATION_CLKEN_OVERRIDE                               (1 << 31)
 
 #define AFI_FPCI_ERROR_MASKS                                           0xb0
 
@@ -1537,7 +1538,8 @@ static int tegra_pcie_enable_controller(struct tegra_pcie *pcie)
 
        /* Finally enable PCIe */
        val = afi_readl(pcie, AFI_CONFIGURATION);
-       val |=  AFI_CONFIGURATION_EN_FPCI;
+       val |=  (AFI_CONFIGURATION_EN_FPCI |
+                       AFI_CONFIGURATION_CLKEN_OVERRIDE);
        afi_writel(pcie, val, AFI_CONFIGURATION);
 
        val = (AFI_INTR_EN_INI_SLVERR | AFI_INTR_EN_INI_DECERR |