[PATCH] PCI: controller: Mark controllers which cannot do lockless config access with !PCI_LOCKLESS_CONFIG

Marek Vasut posted 1 patch 6 days, 9 hours ago
drivers/pci/controller/Kconfig      | 6 ++++++
drivers/pci/controller/dwc/Kconfig  | 5 +++++
drivers/pci/controller/plda/Kconfig | 1 +
3 files changed, 12 insertions(+)
[PATCH] PCI: controller: Mark controllers which cannot do lockless config access with !PCI_LOCKLESS_CONFIG
Posted by Marek Vasut 6 days, 9 hours ago
Add 'depends on !PCI_LOCKLESS_CONFIG' to controllers which cannot do config
access without PCI subsystem level spinlock. If PCI_LOCKLESS_CONFIG is ever
enabled, those controllers would have to be updated accordingly.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
---
Cc: "Krzysztof Wilczyński" <kwilczynski@kernel.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Christian Bruel <christian.bruel@foss.st.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Inochi Amaoto <inochiama@gmail.com>
Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Manivannan Sadhasivam <mani@kernel.org>
Cc: Mayank Rana <mayank.rana@oss.qualcomm.com>
Cc: Nam Cao <namcao@linutronix.de>
Cc: Rob Herring <robh@kernel.org>
Cc: Shradha Todi <shradha.t@samsung.com>
Cc: Thippeswamy Havalige <thippeswamy.havalige@amd.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Cc: linux-kernel@vger.kernel.org
Cc: linux-pci@vger.kernel.org
Cc: linux-renesas-soc@vger.kernel.org
---
NOTE: I hope I got them all
---
 drivers/pci/controller/Kconfig      | 6 ++++++
 drivers/pci/controller/dwc/Kconfig  | 5 +++++
 drivers/pci/controller/plda/Kconfig | 1 +
 3 files changed, 12 insertions(+)

diff --git a/drivers/pci/controller/Kconfig b/drivers/pci/controller/Kconfig
index 41748d083b933..1a6e937cca929 100644
--- a/drivers/pci/controller/Kconfig
+++ b/drivers/pci/controller/Kconfig
@@ -12,6 +12,7 @@ config PCI_AARDVARK
 	depends on (ARCH_MVEBU && ARM64) || COMPILE_TEST
 	depends on OF
 	depends on PCI_MSI
+	depends on !PCI_LOCKLESS_CONFIG
 	select PCI_BRIDGE_EMUL
 	select IRQ_MSI_LIB
 	help
@@ -205,6 +206,7 @@ config PCIE_MEDIATEK_GEN3
 	tristate "MediaTek Gen3 PCIe controller"
 	depends on ARCH_AIROHA || ARCH_MEDIATEK || COMPILE_TEST
 	depends on PCI_MSI
+	depends on !PCI_LOCKLESS_CONFIG
 	select IRQ_MSI_LIB
 	help
 	  Adds support for PCIe Gen3 MAC controller for MediaTek SoCs.
@@ -244,6 +246,7 @@ config PCIE_RCAR_HOST
 	bool "Renesas R-Car PCIe controller (host mode)"
 	depends on ARCH_RENESAS || COMPILE_TEST
 	depends on PCI_MSI
+	depends on !PCI_LOCKLESS_CONFIG
 	select IRQ_MSI_LIB
 	help
 	  Say Y here if you want PCIe controller support on R-Car SoCs in host
@@ -332,6 +335,7 @@ config PCIE_XILINX_DMA_PL
 	bool "Xilinx DMA PL PCIe host bridge support"
 	depends on ARCH_ZYNQMP || COMPILE_TEST
 	depends on PCI_MSI
+	depends on !PCI_LOCKLESS_CONFIG
 	select PCI_HOST_COMMON
 	select IRQ_MSI_LIB
 	help
@@ -344,6 +348,7 @@ config PCIE_XILINX_NWL
 	bool "Xilinx NWL PCIe controller"
 	depends on ARCH_ZYNQMP || COMPILE_TEST
 	depends on PCI_MSI
+	depends on !PCI_LOCKLESS_CONFIG
 	select IRQ_MSI_LIB
 	help
 	 Say 'Y' here if you want kernel support for Xilinx
@@ -354,6 +359,7 @@ config PCIE_XILINX_NWL
 config PCIE_XILINX_CPM
 	bool "Xilinx Versal CPM PCI controller"
 	depends on ARCH_ZYNQMP || COMPILE_TEST
+	depends on !PCI_LOCKLESS_CONFIG
 	select PCI_HOST_COMMON
 	help
 	  Say 'Y' here if you want kernel support for the
diff --git a/drivers/pci/controller/dwc/Kconfig b/drivers/pci/controller/dwc/Kconfig
index 34abc859c1071..8eab27775195f 100644
--- a/drivers/pci/controller/dwc/Kconfig
+++ b/drivers/pci/controller/dwc/Kconfig
@@ -2,6 +2,7 @@
 
 menu "DesignWare-based PCIe controllers"
 	depends on PCI
+	depends on !PCI_LOCKLESS_CONFIG
 
 config PCIE_DW
 	bool
@@ -322,6 +323,7 @@ config PCIE_RCAR_GEN4_HOST
 	tristate "Renesas R-Car Gen4 PCIe controller (host mode)"
 	depends on ARCH_RENESAS || COMPILE_TEST
 	depends on PCI_MSI
+	depends on !PCI_LOCKLESS_CONFIG
 	select PCIE_DW_HOST
 	select PCIE_RCAR_GEN4
 	help
@@ -390,6 +392,7 @@ config PCIE_UNIPHIER
 	depends on ARCH_UNIPHIER || COMPILE_TEST
 	depends on OF && HAS_IOMEM
 	depends on PCI_MSI
+	depends on !PCI_LOCKLESS_CONFIG
 	select PCIE_DW_HOST
 	help
 	  Say Y here if you want PCIe host controller support on UniPhier SoCs.
@@ -410,6 +413,7 @@ config PCIE_SOPHGO_DW
 	depends on ARCH_SOPHGO || COMPILE_TEST
 	depends on PCI_MSI
 	depends on OF
+	depends on !PCI_LOCKLESS_CONFIG
 	select PCIE_DW_HOST
 	help
 	  Say Y here if you want PCIe host controller support on
@@ -488,6 +492,7 @@ config PCI_KEYSTONE_HOST
 	bool "TI Keystone PCIe controller (host mode)"
 	depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
 	depends on PCI_MSI
+	depends on !PCI_LOCKLESS_CONFIG
 	select PCIE_DW_HOST
 	select PCI_KEYSTONE
 	help
diff --git a/drivers/pci/controller/plda/Kconfig b/drivers/pci/controller/plda/Kconfig
index 62120101139cb..2a400678312eb 100644
--- a/drivers/pci/controller/plda/Kconfig
+++ b/drivers/pci/controller/plda/Kconfig
@@ -10,6 +10,7 @@ config PCIE_PLDA_HOST
 config PCIE_MICROCHIP_HOST
 	tristate "Microchip AXI PCIe controller"
 	depends on PCI_MSI && OF
+	depends on !PCI_LOCKLESS_CONFIG
 	select PCI_HOST_COMMON
 	select PCIE_PLDA_HOST
 	help
-- 
2.51.0