From 5e223a3377c9d5d353348fccf28e2871b9088f3c Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Thu, 6 Feb 2020 21:08:05 -0500 Subject: [PATCH] fixes for 4.4 Signed-off-by: Sasha Levin --- ...fix-link-training-retries-initiation.patch | 40 +++++++++++++++++++ queue-4.4/series | 1 + 2 files changed, 41 insertions(+) create mode 100644 queue-4.4/pci-keystone-fix-link-training-retries-initiation.patch 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 index 00000000000..4860dbcd89a --- /dev/null +++ b/queue-4.4/pci-keystone-fix-link-training-retries-initiation.patch @@ -0,0 +1,40 @@ +From 67620873d52cfb51b083ebb4ca1729d42a1fa5ae Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Tue, 17 Dec 2019 14:38:36 +0300 +Subject: PCI: keystone: Fix link training retries initiation + +From: Yurii Monakov + +[ 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 +Signed-off-by: Lorenzo Pieralisi +Acked-by: Andrew Murray +Cc: stable@vger.kernel.org +Signed-off-by: Sasha Levin +--- + 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 + diff --git a/queue-4.4/series b/queue-4.4/series index 23019ebfbdc..2da13ff9403 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -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 -- 2.47.3