]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
fixes for 4.4
authorSasha Levin <sashal@kernel.org>
Fri, 7 Feb 2020 02:08:05 +0000 (21:08 -0500)
committerSasha Levin <sashal@kernel.org>
Fri, 7 Feb 2020 02:08:05 +0000 (21:08 -0500)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-4.4/pci-keystone-fix-link-training-retries-initiation.patch [new file with mode: 0644]
queue-4.4/series

diff --git a/queue-4.4/pci-keystone-fix-link-training-retries-initiation.patch b/queue-4.4/pci-keystone-fix-link-training-retries-initiation.patch
new file mode 100644 (file)
index 0000000..4860dbc
--- /dev/null
@@ -0,0 +1,40 @@
+From 67620873d52cfb51b083ebb4ca1729d42a1fa5ae Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 17 Dec 2019 14:38:36 +0300
+Subject: PCI: keystone: Fix link training retries initiation
+
+From: Yurii Monakov <monakov.y@gmail.com>
+
+[ Upstream commit 6df19872d881641e6394f93ef2938cffcbdae5bb ]
+
+ks_pcie_stop_link() function does not clear LTSSM_EN_VAL bit so
+link training was not triggered more than once after startup.
+In configurations where link can be unstable during early boot,
+for example, under low temperature, it will never be established.
+
+Fixes: 0c4ffcfe1fbc ("PCI: keystone: Add TI Keystone PCIe driver")
+Signed-off-by: Yurii Monakov <monakov.y@gmail.com>
+Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
+Acked-by: Andrew Murray <andrew.murray@arm.com>
+Cc: stable@vger.kernel.org
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/pci/host/pci-keystone-dw.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/pci/host/pci-keystone-dw.c b/drivers/pci/host/pci-keystone-dw.c
+index 6153853ca9c31..988e7e7350c74 100644
+--- a/drivers/pci/host/pci-keystone-dw.c
++++ b/drivers/pci/host/pci-keystone-dw.c
+@@ -450,7 +450,7 @@ void ks_dw_pcie_initiate_link_train(struct keystone_pcie *ks_pcie)
+       /* Disable Link training */
+       val = readl(ks_pcie->va_app_base + CMD_STATUS);
+       val &= ~LTSSM_EN_VAL;
+-      writel(LTSSM_EN_VAL | val,  ks_pcie->va_app_base + CMD_STATUS);
++      writel(val,  ks_pcie->va_app_base + CMD_STATUS);
+       /* Initiate Link Training */
+       val = readl(ks_pcie->va_app_base + CMD_STATUS);
+-- 
+2.20.1
+
index 23019ebfbdcf00e03e2ee28152fabbc61930ae49..2da13ff94035f2f4111b45320e295e669af52ac6 100644 (file)
@@ -17,3 +17,4 @@ alsa-dummy-fix-pcm-format-loop-in-proc-output.patch
 lib-test_kasan.c-fix-memory-leak-in-kmalloc_oob_krealloc_more.patch
 powerpc-pseries-advance-pfn-if-section-is-not-present-in-lmb_is_removable.patch
 mmc-spi-toggle-spi-polarity-do-not-hardcode-it.patch
+pci-keystone-fix-link-training-retries-initiation.patch