mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 15:02:32 +00:00
080691d7b1
Backport Aardvark PCIe controller driver changes that fix MSI support, that were recently sent to the linux-pci mailing list [1]. These changes fix MSI and MSI-X support for this PCIe controller, which, among other things, make it possible to use NVMe drives with this PCIe controllers. [1] https://lore.kernel.org/linux-pci/20220110015018.26359-1-kabel@kernel.org/ Signed-off-by: Marek Behún <kabel@kernel.org>
41 lines
1.6 KiB
Diff
41 lines
1.6 KiB
Diff
From bafda858364003a70b9cda84282f9761587f8033 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@kernel.org>
|
|
Date: Mon, 10 Jan 2022 00:47:38 +0100
|
|
Subject: [PATCH] PCI: aardvark: Update comment about link going down after
|
|
link-up
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Update the comment about what happens when link goes down after we have
|
|
checked for link-up. If a PIO request is done while link-down, we have
|
|
a serious problem.
|
|
|
|
Signed-off-by: Marek Behún <kabel@kernel.org>
|
|
---
|
|
drivers/pci/controller/pci-aardvark.c | 8 ++++++--
|
|
1 file changed, 6 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
|
|
index aa5629b8b5c9..3c0b6b931061 100644
|
|
--- a/drivers/pci/controller/pci-aardvark.c
|
|
+++ b/drivers/pci/controller/pci-aardvark.c
|
|
@@ -1003,8 +1003,12 @@ static bool advk_pcie_valid_device(struct advk_pcie *pcie, struct pci_bus *bus,
|
|
return false;
|
|
|
|
/*
|
|
- * If the link goes down after we check for link-up, nothing bad
|
|
- * happens but the config access times out.
|
|
+ * If the link goes down after we check for link-up, we have a problem:
|
|
+ * if a PIO request is executed while link-down, the whole controller
|
|
+ * gets stuck in a non-functional state, and even after link comes up
|
|
+ * again, PIO requests won't work anymore, and a reset of the whole PCIe
|
|
+ * controller is needed. Therefore we need to prevent sending PIO
|
|
+ * requests while the link is down.
|
|
*/
|
|
if (!pci_is_root_bus(bus) && !advk_pcie_link_up(pcie))
|
|
return false;
|
|
--
|
|
2.34.1
|
|
|