From: Greg Kroah-Hartman Date: Fri, 18 Apr 2025 11:02:17 +0000 (+0200) Subject: drop broken s390 patch X-Git-Tag: v6.12.24~9 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0decf1aa2445709cc5347d41f270f352269dbc9f;p=thirdparty%2Fkernel%2Fstable-queue.git drop broken s390 patch --- diff --git a/queue-6.14/s390-pci-support-mmap-of-pci-resources-except-for-is.patch b/queue-6.14/s390-pci-support-mmap-of-pci-resources-except-for-is.patch deleted file mode 100644 index 971d4f1b4d..0000000000 --- a/queue-6.14/s390-pci-support-mmap-of-pci-resources-except-for-is.patch +++ /dev/null @@ -1,155 +0,0 @@ -From 43ff0796606a3f64adfeb24a92ec72935762cfe0 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 26 Feb 2025 13:07:47 +0100 -Subject: s390/pci: Support mmap() of PCI resources except for ISM devices - -From: Niklas Schnelle - -[ Upstream commit aa9f168d55dc47c0de564f7dfe0e90467c9fee71 ] - -So far s390 does not allow mmap() of PCI resources to user-space via the -usual mechanisms, though it does use it for RDMA. For the PCI sysfs -resource files and /proc/bus/pci it defines neither HAVE_PCI_MMAP nor -ARCH_GENERIC_PCI_MMAP_RESOURCE. For vfio-pci s390 previously relied on -disabled VFIO_PCI_MMAP and now relies on setting pdev->non_mappable_bars -for all devices. - -This is partly because access to mapped PCI resources from user-space -requires special PCI load/store memory-I/O (MIO) instructions, or the -special MMIO syscalls when these are not available. Still, such access is -possible and useful not just for RDMA, in fact not being able to mmap() PCI -resources has previously caused extra work when testing devices. - -One thing that doesn't work with PCI resources mapped to user-space though -is the s390 specific virtual ISM device. Not only because the BAR size of -256 TiB prevents mapping the whole BAR but also because access requires use -of the legacy PCI instructions which are not accessible to user-space on -systems with the newer MIO PCI instructions. - -Now with the pdev->non_mappable_bars flag ISM can be excluded from mapping -its resources while making this functionality available for all other PCI -devices. To this end introduce a minimal implementation of PCI_QUIRKS and -use that to set pdev->non_mappable_bars for ISM devices only. Then also set -ARCH_GENERIC_PCI_MMAP_RESOURCE to take advantage of the generic -implementation of pci_mmap_resource_range() enabling only the newer sysfs -mmap() interface. This follows the recommendation in -Documentation/PCI/sysfs-pci.rst. - -Link: https://lore.kernel.org/r/20250226-vfio_pci_mmap-v7-3-c5c0f1d26efd@linux.ibm.com -Signed-off-by: Niklas Schnelle -Signed-off-by: Bjorn Helgaas -Signed-off-by: Sasha Levin ---- - arch/s390/Kconfig | 4 +--- - arch/s390/include/asm/pci.h | 3 +++ - arch/s390/pci/Makefile | 2 +- - arch/s390/pci/pci_fixup.c | 23 +++++++++++++++++++++++ - drivers/s390/net/ism_drv.c | 1 - - include/linux/pci_ids.h | 1 + - 6 files changed, 29 insertions(+), 5 deletions(-) - create mode 100644 arch/s390/pci/pci_fixup.c - -diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig -index 9c9ec08d78c71..e48741e001476 100644 ---- a/arch/s390/Kconfig -+++ b/arch/s390/Kconfig -@@ -41,9 +41,6 @@ config AUDIT_ARCH - config NO_IOPORT_MAP - def_bool y - --config PCI_QUIRKS -- def_bool n -- - config ARCH_SUPPORTS_UPROBES - def_bool y - -@@ -258,6 +255,7 @@ config S390 - select PCI_DOMAINS if PCI - select PCI_MSI if PCI - select PCI_MSI_ARCH_FALLBACKS if PCI_MSI -+ select PCI_QUIRKS if PCI - select SPARSE_IRQ - select SWIOTLB - select SYSCTL_EXCEPTION_TRACE -diff --git a/arch/s390/include/asm/pci.h b/arch/s390/include/asm/pci.h -index 474e1f8d1d3c2..d2086af3434c0 100644 ---- a/arch/s390/include/asm/pci.h -+++ b/arch/s390/include/asm/pci.h -@@ -11,6 +11,9 @@ - #include - #include - -+#define ARCH_GENERIC_PCI_MMAP_RESOURCE 1 -+#define arch_can_pci_mmap_wc() 1 -+ - #define PCIBIOS_MIN_IO 0x1000 - #define PCIBIOS_MIN_MEM 0x10000000 - -diff --git a/arch/s390/pci/Makefile b/arch/s390/pci/Makefile -index df73c5182990a..1810e0944a4ed 100644 ---- a/arch/s390/pci/Makefile -+++ b/arch/s390/pci/Makefile -@@ -5,6 +5,6 @@ - - obj-$(CONFIG_PCI) += pci.o pci_irq.o pci_clp.o \ - pci_event.o pci_debug.o pci_insn.o pci_mmio.o \ -- pci_bus.o pci_kvm_hook.o pci_report.o -+ pci_bus.o pci_kvm_hook.o pci_report.o pci_fixup.o - obj-$(CONFIG_PCI_IOV) += pci_iov.o - obj-$(CONFIG_SYSFS) += pci_sysfs.o -diff --git a/arch/s390/pci/pci_fixup.c b/arch/s390/pci/pci_fixup.c -new file mode 100644 -index 0000000000000..35688b6450983 ---- /dev/null -+++ b/arch/s390/pci/pci_fixup.c -@@ -0,0 +1,23 @@ -+// SPDX-License-Identifier: GPL-2.0 -+/* -+ * Exceptions for specific devices, -+ * -+ * Copyright IBM Corp. 2025 -+ * -+ * Author(s): -+ * Niklas Schnelle -+ */ -+#include -+ -+static void zpci_ism_bar_no_mmap(struct pci_dev *pdev) -+{ -+ /* -+ * ISM's BAR is special. Drivers written for ISM know -+ * how to handle this but others need to be aware of their -+ * special nature e.g. to prevent attempts to mmap() it. -+ */ -+ pdev->non_mappable_bars = 1; -+} -+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_IBM, -+ PCI_DEVICE_ID_IBM_ISM, -+ zpci_ism_bar_no_mmap); -diff --git a/drivers/s390/net/ism_drv.c b/drivers/s390/net/ism_drv.c -index 2f34761e64135..60ed70a39d2cc 100644 ---- a/drivers/s390/net/ism_drv.c -+++ b/drivers/s390/net/ism_drv.c -@@ -20,7 +20,6 @@ - MODULE_DESCRIPTION("ISM driver for s390"); - MODULE_LICENSE("GPL"); - --#define PCI_DEVICE_ID_IBM_ISM 0x04ED - #define DRV_NAME "ism" - - static const struct pci_device_id ism_device_table[] = { -diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h -index 2a9ca3dbaa0e9..5bd122a9afdc6 100644 ---- a/include/linux/pci_ids.h -+++ b/include/linux/pci_ids.h -@@ -518,6 +518,7 @@ - #define PCI_DEVICE_ID_IBM_ICOM_V2_ONE_PORT_RVX_ONE_PORT_MDM 0x0251 - #define PCI_DEVICE_ID_IBM_ICOM_V2_ONE_PORT_RVX_ONE_PORT_MDM_PCIE 0x0361 - #define PCI_DEVICE_ID_IBM_ICOM_FOUR_PORT_MODEL 0x252 -+#define PCI_DEVICE_ID_IBM_ISM 0x04ed - - #define PCI_SUBVENDOR_ID_IBM 0x1014 - #define PCI_SUBDEVICE_ID_IBM_SATURN_SERIAL_ONE_PORT 0x03d4 --- -2.39.5 - diff --git a/queue-6.14/series b/queue-6.14/series index 16ef4da492..1f3c3b6114 100644 --- a/queue-6.14/series +++ b/queue-6.14/series @@ -178,7 +178,6 @@ drm-amdgpu-fix-the-race-condition-for-draining-retry.patch pci-check-bar-index-for-validity.patch pci-vmd-make-vmd_dev-cfg_lock-a-raw_spinlock_t-type.patch drm-amdgpu-grab-an-additional-reference-on-the-gang-.patch -s390-pci-support-mmap-of-pci-resources-except-for-is.patch fbdev-omapfb-add-plane-value-check.patch tracing-probe-events-log-error-for-exceeding-the-num.patch tracing-probe-events-add-comments-about-entry-data-s.patch