All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC] PCI: add CONFIG_MMU dependency
@ 2025-04-07 10:38 Arnd Bergmann
  2025-04-07 14:18 ` ✓ CI.Patch_applied: success for " Patchwork
                   ` (8 more replies)
  0 siblings, 9 replies; 11+ messages in thread
From: Arnd Bergmann @ 2025-04-07 10:38 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: Arnd Bergmann, Jeff Hugo, Carl Vanderlip, Oded Gabbay,
	Takashi Sakamoto, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Alex Deucher,
	Christian König, Dave Airlie, Jocelyn Falempe,
	Patrik Jakobsson, Xinliang Liu, Tian Tao, Xinwei Kong,
	Sumit Semwal, Yongqin Liu, John Stultz, Sui Jingfeng, Lyude Paul,
	Danilo Krummrich, Gerd Hoffmann, Zack Rusin,
	Broadcom internal kernel review list, Lucas De Marchi,
	Thomas Hellström, Rodrigo Vivi, Andrew Lunn, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Saurav Kashyap,
	Javed Hasan, GR-QLogic-Storage-Upstream, James E.J. Bottomley,
	Martin K. Petersen, Nilesh Javali, Manish Rangankar,
	Alex Williamson, Geert Uytterhoeven, Javier Martinez Canillas,
	Jani Nikula, Mario Limonciello, Thomas Weißschuh, Lijo Lazar,
	Niklas Schnelle, Dmitry Baryshkov, linux-arm-msm, dri-devel,
	linux-kernel, linux1394-devel, amd-gfx, nouveau, virtualization,
	spice-devel, intel-xe, netdev, linux-pci, linux-scsi, kvm

From: Arnd Bergmann <arnd@arndb.de>

It turns out that there are no platforms that have PCI but don't have an MMU,
so adding a Kconfig dependency on CONFIG_PCI simplifies build testing kernels
for those platforms a lot, and avoids a lot of inadvertent build regressions.

Add a dependency for CONFIG_PCI and remove all the ones for PCI specific
device drivers that are currently marked not having it.

Link: https://lore.kernel.org/lkml/a41f1b20-a76c-43d8-8c36-f12744327a54@app.fastmail.com/
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/accel/qaic/Kconfig              | 1 -
 drivers/firewire/Kconfig                | 2 +-
 drivers/gpu/drm/Kconfig                 | 2 +-
 drivers/gpu/drm/amd/amdgpu/Kconfig      | 3 +--
 drivers/gpu/drm/ast/Kconfig             | 2 +-
 drivers/gpu/drm/gma500/Kconfig          | 2 +-
 drivers/gpu/drm/hisilicon/hibmc/Kconfig | 1 -
 drivers/gpu/drm/loongson/Kconfig        | 2 +-
 drivers/gpu/drm/mgag200/Kconfig         | 2 +-
 drivers/gpu/drm/nouveau/Kconfig         | 3 +--
 drivers/gpu/drm/qxl/Kconfig             | 2 +-
 drivers/gpu/drm/radeon/Kconfig          | 2 +-
 drivers/gpu/drm/tiny/Kconfig            | 2 +-
 drivers/gpu/drm/vmwgfx/Kconfig          | 2 +-
 drivers/gpu/drm/xe/Kconfig              | 2 +-
 drivers/net/ethernet/broadcom/Kconfig   | 1 -
 drivers/pci/Kconfig                     | 1 +
 drivers/pci/pci.c                       | 4 ++--
 drivers/scsi/bnx2fc/Kconfig             | 1 -
 drivers/scsi/bnx2i/Kconfig              | 1 -
 drivers/vfio/pci/Kconfig                | 2 +-
 21 files changed, 17 insertions(+), 23 deletions(-)

diff --git a/drivers/accel/qaic/Kconfig b/drivers/accel/qaic/Kconfig
index a9f866230058..5e405a19c157 100644
--- a/drivers/accel/qaic/Kconfig
+++ b/drivers/accel/qaic/Kconfig
@@ -8,7 +8,6 @@ config DRM_ACCEL_QAIC
 	depends on DRM_ACCEL
 	depends on PCI && HAS_IOMEM
 	depends on MHI_BUS
-	depends on MMU
 	select CRC32
 	help
 	  Enables driver for Qualcomm's Cloud AI accelerator PCIe cards that are
diff --git a/drivers/firewire/Kconfig b/drivers/firewire/Kconfig
index 905c82e26ce7..a5f5e250223a 100644
--- a/drivers/firewire/Kconfig
+++ b/drivers/firewire/Kconfig
@@ -83,7 +83,7 @@ config FIREWIRE_KUNIT_SELF_ID_SEQUENCE_HELPER_TEST
 
 config FIREWIRE_OHCI
 	tristate "OHCI-1394 controllers"
-	depends on PCI && FIREWIRE && MMU
+	depends on PCI && FIREWIRE
 	help
 	  Enable this driver if you have a FireWire controller based
 	  on the OHCI specification.  For all practical purposes, this
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 2cba2b6ebe1c..6e95d204597e 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -462,7 +462,7 @@ source "drivers/gpu/drm/imagination/Kconfig"
 
 config DRM_HYPERV
 	tristate "DRM Support for Hyper-V synthetic video device"
-	depends on DRM && PCI && MMU && HYPERV
+	depends on DRM && PCI && HYPERV
 	select DRM_CLIENT_SELECTION
 	select DRM_KMS_HELPER
 	select DRM_GEM_SHMEM_HELPER
diff --git a/drivers/gpu/drm/amd/amdgpu/Kconfig b/drivers/gpu/drm/amd/amdgpu/Kconfig
index 1a11cab741ac..058e3b3ad520 100644
--- a/drivers/gpu/drm/amd/amdgpu/Kconfig
+++ b/drivers/gpu/drm/amd/amdgpu/Kconfig
@@ -2,7 +2,7 @@
 
 config DRM_AMDGPU
 	tristate "AMD GPU"
-	depends on DRM && PCI && MMU
+	depends on DRM && PCI
 	depends on !UML
 	select FW_LOADER
 	select DRM_CLIENT
@@ -68,7 +68,6 @@ config DRM_AMDGPU_CIK
 config DRM_AMDGPU_USERPTR
 	bool "Always enable userptr write support"
 	depends on DRM_AMDGPU
-	depends on MMU
 	select HMM_MIRROR
 	select MMU_NOTIFIER
 	help
diff --git a/drivers/gpu/drm/ast/Kconfig b/drivers/gpu/drm/ast/Kconfig
index da0663542e8a..242fbccdf844 100644
--- a/drivers/gpu/drm/ast/Kconfig
+++ b/drivers/gpu/drm/ast/Kconfig
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 config DRM_AST
 	tristate "AST server chips"
-	depends on DRM && PCI && MMU
+	depends on DRM && PCI
 	select DRM_CLIENT_SELECTION
 	select DRM_GEM_SHMEM_HELPER
 	select DRM_KMS_HELPER
diff --git a/drivers/gpu/drm/gma500/Kconfig b/drivers/gpu/drm/gma500/Kconfig
index aa2ea128aa2f..a2acaa699dd5 100644
--- a/drivers/gpu/drm/gma500/Kconfig
+++ b/drivers/gpu/drm/gma500/Kconfig
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 config DRM_GMA500
 	tristate "Intel GMA500/600/3600/3650 KMS Framebuffer"
-	depends on DRM && PCI && X86 && MMU && HAS_IOPORT
+	depends on DRM && PCI && X86 && HAS_IOPORT
 	select DRM_CLIENT_SELECTION
 	select DRM_KMS_HELPER
 	select FB_IOMEM_HELPERS if DRM_FBDEV_EMULATION
diff --git a/drivers/gpu/drm/hisilicon/hibmc/Kconfig b/drivers/gpu/drm/hisilicon/hibmc/Kconfig
index 98d77d74999d..d1f3f5793f34 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/Kconfig
+++ b/drivers/gpu/drm/hisilicon/hibmc/Kconfig
@@ -2,7 +2,6 @@
 config DRM_HISI_HIBMC
 	tristate "DRM Support for Hisilicon Hibmc"
 	depends on DRM && PCI
-	depends on MMU
 	select DRM_CLIENT_SELECTION
 	select DRM_DISPLAY_HELPER
 	select DRM_DISPLAY_DP_HELPER
diff --git a/drivers/gpu/drm/loongson/Kconfig b/drivers/gpu/drm/loongson/Kconfig
index 552edfec7afb..d739d51cf54c 100644
--- a/drivers/gpu/drm/loongson/Kconfig
+++ b/drivers/gpu/drm/loongson/Kconfig
@@ -2,7 +2,7 @@
 
 config DRM_LOONGSON
 	tristate "DRM support for Loongson Graphics"
-	depends on DRM && PCI && MMU
+	depends on DRM && PCI
 	depends on LOONGARCH || MIPS || COMPILE_TEST
 	select DRM_CLIENT_SELECTION
 	select DRM_KMS_HELPER
diff --git a/drivers/gpu/drm/mgag200/Kconfig b/drivers/gpu/drm/mgag200/Kconfig
index 412dcbea0e2d..a962ae564a75 100644
--- a/drivers/gpu/drm/mgag200/Kconfig
+++ b/drivers/gpu/drm/mgag200/Kconfig
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 config DRM_MGAG200
 	tristate "Matrox G200"
-	depends on DRM && PCI && MMU
+	depends on DRM && PCI
 	select DRM_CLIENT_SELECTION
 	select DRM_GEM_SHMEM_HELPER
 	select DRM_KMS_HELPER
diff --git a/drivers/gpu/drm/nouveau/Kconfig b/drivers/gpu/drm/nouveau/Kconfig
index 7b3e979c51ec..d1587639ebb0 100644
--- a/drivers/gpu/drm/nouveau/Kconfig
+++ b/drivers/gpu/drm/nouveau/Kconfig
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 config DRM_NOUVEAU
 	tristate "Nouveau (NVIDIA) cards"
-	depends on DRM && PCI && MMU
+	depends on DRM && PCI
 	select IOMMU_API
 	select FW_LOADER
 	select FW_CACHE if PM_SLEEP
@@ -94,7 +94,6 @@ config DRM_NOUVEAU_SVM
 	bool "(EXPERIMENTAL) Enable SVM (Shared Virtual Memory) support"
 	depends on DEVICE_PRIVATE
 	depends on DRM_NOUVEAU
-	depends on MMU
 	depends on STAGING
 	select HMM_MIRROR
 	select MMU_NOTIFIER
diff --git a/drivers/gpu/drm/qxl/Kconfig b/drivers/gpu/drm/qxl/Kconfig
index 69427eb8bed2..d8f24bcae34b 100644
--- a/drivers/gpu/drm/qxl/Kconfig
+++ b/drivers/gpu/drm/qxl/Kconfig
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 config DRM_QXL
 	tristate "QXL virtual GPU"
-	depends on DRM && PCI && MMU && HAS_IOPORT
+	depends on DRM && PCI && HAS_IOPORT
 	select DRM_CLIENT_SELECTION
 	select DRM_KMS_HELPER
 	select DRM_TTM
diff --git a/drivers/gpu/drm/radeon/Kconfig b/drivers/gpu/drm/radeon/Kconfig
index f51bace9555d..c479f0c0dd5c 100644
--- a/drivers/gpu/drm/radeon/Kconfig
+++ b/drivers/gpu/drm/radeon/Kconfig
@@ -2,7 +2,7 @@
 
 config DRM_RADEON
 	tristate "ATI Radeon"
-	depends on DRM && PCI && MMU
+	depends on DRM && PCI
 	depends on AGP || !AGP
 	select FW_LOADER
 	select DRM_CLIENT_SELECTION
diff --git a/drivers/gpu/drm/tiny/Kconfig b/drivers/gpu/drm/tiny/Kconfig
index 54c84c9801c1..6ca12fe7f57a 100644
--- a/drivers/gpu/drm/tiny/Kconfig
+++ b/drivers/gpu/drm/tiny/Kconfig
@@ -37,7 +37,7 @@ config DRM_BOCHS
 
 config DRM_CIRRUS_QEMU
 	tristate "Cirrus driver for QEMU emulated device"
-	depends on DRM && PCI && MMU
+	depends on DRM && PCI
 	select DRM_CLIENT_SELECTION
 	select DRM_KMS_HELPER
 	select DRM_GEM_SHMEM_HELPER
diff --git a/drivers/gpu/drm/vmwgfx/Kconfig b/drivers/gpu/drm/vmwgfx/Kconfig
index 6c3c2922ae8b..aab646b91ca9 100644
--- a/drivers/gpu/drm/vmwgfx/Kconfig
+++ b/drivers/gpu/drm/vmwgfx/Kconfig
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 config DRM_VMWGFX
 	tristate "DRM driver for VMware Virtual GPU"
-	depends on DRM && PCI && MMU
+	depends on DRM && PCI
 	depends on (X86 && HYPERVISOR_GUEST) || ARM64
 	select DRM_CLIENT_SELECTION
 	select DRM_TTM
diff --git a/drivers/gpu/drm/xe/Kconfig b/drivers/gpu/drm/xe/Kconfig
index 5c2f459a2925..2dec62737ff6 100644
--- a/drivers/gpu/drm/xe/Kconfig
+++ b/drivers/gpu/drm/xe/Kconfig
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 config DRM_XE
 	tristate "Intel Xe Graphics"
-	depends on DRM && PCI && MMU && (m || (y && KUNIT=y))
+	depends on DRM && PCI && (m || (y && KUNIT=y))
 	select INTERVAL_TREE
 	# we need shmfs for the swappable backing store, and in particular
 	# the shmem_readpage() which depends upon tmpfs
diff --git a/drivers/net/ethernet/broadcom/Kconfig b/drivers/net/ethernet/broadcom/Kconfig
index eeec8bf17cf4..aa43984a05cf 100644
--- a/drivers/net/ethernet/broadcom/Kconfig
+++ b/drivers/net/ethernet/broadcom/Kconfig
@@ -96,7 +96,6 @@ config BNX2
 config CNIC
 	tristate "QLogic CNIC support"
 	depends on PCI && (IPV6 || IPV6=n)
-	depends on MMU
 	select BNX2
 	select UIO
 	help
diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
index da28295b4aac..9c0e4aaf4e8c 100644
--- a/drivers/pci/Kconfig
+++ b/drivers/pci/Kconfig
@@ -21,6 +21,7 @@ config GENERIC_PCI_IOMAP
 menuconfig PCI
 	bool "PCI support"
 	depends on HAVE_PCI
+	depends on MMU
 	help
 	  This option enables support for the PCI local bus, including
 	  support for PCI-X and the foundations for PCI Express support.
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 4d7c9f64ea24..60a20a0ac41f 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -4257,7 +4257,7 @@ unsigned long __weak pci_address_to_pio(phys_addr_t address)
 #ifndef pci_remap_iospace
 int pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr)
 {
-#if defined(PCI_IOBASE) && defined(CONFIG_MMU)
+#if defined(PCI_IOBASE)
 	unsigned long vaddr = (unsigned long)PCI_IOBASE + res->start;
 
 	if (!(res->flags & IORESOURCE_IO))
@@ -4290,7 +4290,7 @@ EXPORT_SYMBOL(pci_remap_iospace);
  */
 void pci_unmap_iospace(struct resource *res)
 {
-#if defined(PCI_IOBASE) && defined(CONFIG_MMU)
+#if defined(PCI_IOBASE)
 	unsigned long vaddr = (unsigned long)PCI_IOBASE + res->start;
 
 	vunmap_range(vaddr, vaddr + resource_size(res));
diff --git a/drivers/scsi/bnx2fc/Kconfig b/drivers/scsi/bnx2fc/Kconfig
index ecdc0f0f4f4e..3cf7e08df809 100644
--- a/drivers/scsi/bnx2fc/Kconfig
+++ b/drivers/scsi/bnx2fc/Kconfig
@@ -5,7 +5,6 @@ config SCSI_BNX2X_FCOE
 	depends on (IPV6 || IPV6=n)
 	depends on LIBFC
 	depends on LIBFCOE
-	depends on MMU
 	select NETDEVICES
 	select ETHERNET
 	select NET_VENDOR_BROADCOM
diff --git a/drivers/scsi/bnx2i/Kconfig b/drivers/scsi/bnx2i/Kconfig
index 0cc06c2ce0b8..75ace2302fed 100644
--- a/drivers/scsi/bnx2i/Kconfig
+++ b/drivers/scsi/bnx2i/Kconfig
@@ -4,7 +4,6 @@ config SCSI_BNX2_ISCSI
 	depends on NET
 	depends on PCI
 	depends on (IPV6 || IPV6=n)
-	depends on MMU
 	select SCSI_ISCSI_ATTRS
 	select NETDEVICES
 	select ETHERNET
diff --git a/drivers/vfio/pci/Kconfig b/drivers/vfio/pci/Kconfig
index c3bcb6911c53..2b0172f54665 100644
--- a/drivers/vfio/pci/Kconfig
+++ b/drivers/vfio/pci/Kconfig
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0-only
 menu "VFIO support for PCI devices"
-	depends on PCI && MMU
+	depends on PCI
 
 config VFIO_PCI_CORE
 	tristate
-- 
2.39.5


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* ✓ CI.Patch_applied: success for PCI: add CONFIG_MMU dependency
  2025-04-07 10:38 [RFC] PCI: add CONFIG_MMU dependency Arnd Bergmann
@ 2025-04-07 14:18 ` Patchwork
  2025-04-07 14:18 ` ✗ CI.checkpatch: warning " Patchwork
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2025-04-07 14:18 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: intel-xe

== Series Details ==

Series: PCI: add CONFIG_MMU dependency
URL   : https://patchwork.freedesktop.org/series/147320/
State : success

== Summary ==

=== Applying kernel patches on branch 'drm-tip' with base: ===
Base commit: 100ba24787e8 drm-tip: 2025y-04m-07d-13h-47m-40s UTC integration manifest
=== git am output follows ===
Applying: PCI: add CONFIG_MMU dependency



^ permalink raw reply	[flat|nested] 11+ messages in thread

* ✗ CI.checkpatch: warning for PCI: add CONFIG_MMU dependency
  2025-04-07 10:38 [RFC] PCI: add CONFIG_MMU dependency Arnd Bergmann
  2025-04-07 14:18 ` ✓ CI.Patch_applied: success for " Patchwork
@ 2025-04-07 14:18 ` Patchwork
  2025-04-07 14:19 ` ✓ CI.KUnit: success " Patchwork
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2025-04-07 14:18 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: intel-xe

== Series Details ==

Series: PCI: add CONFIG_MMU dependency
URL   : https://patchwork.freedesktop.org/series/147320/
State : warning

== Summary ==

+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
99e5a866b5e13f134e606a3e29d9508d97826fb3
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit ece10ccc7600416bc43daf2bc636fa61b185b0da
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Mon Apr 7 12:38:14 2025 +0200

    PCI: add CONFIG_MMU dependency
    
    It turns out that there are no platforms that have PCI but don't have an MMU,
    so adding a Kconfig dependency on CONFIG_PCI simplifies build testing kernels
    for those platforms a lot, and avoids a lot of inadvertent build regressions.
    
    Add a dependency for CONFIG_PCI and remove all the ones for PCI specific
    device drivers that are currently marked not having it.
    
    Link: https://lore.kernel.org/lkml/a41f1b20-a76c-43d8-8c36-f12744327a54@app.fastmail.com/
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+ /mt/dim checkpatch 100ba24787e877cd422caa7d08cb046ef4bb769c drm-intel
ece10ccc7600 PCI: add CONFIG_MMU dependency
-:6: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#6: 
It turns out that there are no platforms that have PCI but don't have an MMU,

total: 0 errors, 1 warnings, 0 checks, 183 lines checked



^ permalink raw reply	[flat|nested] 11+ messages in thread

* ✓ CI.KUnit: success for PCI: add CONFIG_MMU dependency
  2025-04-07 10:38 [RFC] PCI: add CONFIG_MMU dependency Arnd Bergmann
  2025-04-07 14:18 ` ✓ CI.Patch_applied: success for " Patchwork
  2025-04-07 14:18 ` ✗ CI.checkpatch: warning " Patchwork
@ 2025-04-07 14:19 ` Patchwork
  2025-04-07 14:23 ` ✗ CI.Build: failure " Patchwork
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2025-04-07 14:19 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: intel-xe

== Series Details ==

Series: PCI: add CONFIG_MMU dependency
URL   : https://patchwork.freedesktop.org/series/147320/
State : success

== Summary ==

+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[14:18:25] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[14:18:29] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[14:18:56] Starting KUnit Kernel (1/1)...
[14:18:56] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[14:18:56] ================== guc_buf (11 subtests) ===================
[14:18:56] [PASSED] test_smallest
[14:18:56] [PASSED] test_largest
[14:18:56] [PASSED] test_granular
[14:18:56] [PASSED] test_unique
[14:18:56] [PASSED] test_overlap
[14:18:56] [PASSED] test_reusable
[14:18:56] [PASSED] test_too_big
[14:18:56] [PASSED] test_flush
[14:18:56] [PASSED] test_lookup
[14:18:56] [PASSED] test_data
[14:18:56] [PASSED] test_class
[14:18:56] ===================== [PASSED] guc_buf =====================
[14:18:56] =================== guc_dbm (7 subtests) ===================
[14:18:56] [PASSED] test_empty
[14:18:56] [PASSED] test_default
[14:18:56] ======================== test_size  ========================
[14:18:56] [PASSED] 4
[14:18:56] [PASSED] 8
[14:18:56] [PASSED] 32
[14:18:56] [PASSED] 256
[14:18:56] ==================== [PASSED] test_size ====================
[14:18:56] ======================= test_reuse  ========================
[14:18:56] [PASSED] 4
[14:18:56] [PASSED] 8
[14:18:56] [PASSED] 32
[14:18:56] [PASSED] 256
[14:18:56] =================== [PASSED] test_reuse ====================
[14:18:56] =================== test_range_overlap  ====================
[14:18:56] [PASSED] 4
[14:18:56] [PASSED] 8
[14:18:56] [PASSED] 32
[14:18:56] [PASSED] 256
[14:18:56] =============== [PASSED] test_range_overlap ================
[14:18:56] =================== test_range_compact  ====================
[14:18:56] [PASSED] 4
[14:18:56] [PASSED] 8
[14:18:56] [PASSED] 32
[14:18:56] [PASSED] 256
[14:18:56] =============== [PASSED] test_range_compact ================
[14:18:56] ==================== test_range_spare  =====================
[14:18:56] [PASSED] 4
[14:18:56] [PASSED] 8
[14:18:56] [PASSED] 32
[14:18:56] [PASSED] 256
[14:18:56] ================ [PASSED] test_range_spare =================
[14:18:56] ===================== [PASSED] guc_dbm =====================
[14:18:56] =================== guc_idm (6 subtests) ===================
[14:18:56] [PASSED] bad_init
[14:18:56] [PASSED] no_init
[14:18:56] [PASSED] init_fini
[14:18:56] [PASSED] check_used
[14:18:56] [PASSED] check_quota
[14:18:56] [PASSED] check_all
[14:18:56] ===================== [PASSED] guc_idm =====================
[14:18:56] ================== no_relay (3 subtests) ===================
[14:18:56] [PASSED] xe_drops_guc2pf_if_not_ready
[14:18:56] [PASSED] xe_drops_guc2vf_if_not_ready
[14:18:56] [PASSED] xe_rejects_send_if_not_ready
[14:18:56] ==================== [PASSED] no_relay =====================
[14:18:56] ================== pf_relay (14 subtests) ==================
[14:18:56] [PASSED] pf_rejects_guc2pf_too_short
[14:18:56] [PASSED] pf_rejects_guc2pf_too_long
[14:18:56] [PASSED] pf_rejects_guc2pf_no_payload
[14:18:56] [PASSED] pf_fails_no_payload
[14:18:56] [PASSED] pf_fails_bad_origin
[14:18:56] [PASSED] pf_fails_bad_type
[14:18:56] [PASSED] pf_txn_reports_error
[14:18:56] [PASSED] pf_txn_sends_pf2guc
[14:18:56] [PASSED] pf_sends_pf2guc
[14:18:56] [SKIPPED] pf_loopback_nop
[14:18:56] [SKIPPED] pf_loopback_echo
[14:18:56] [SKIPPED] pf_loopback_fail
[14:18:56] [SKIPPED] pf_loopback_busy
[14:18:56] [SKIPPED] pf_loopback_retry
[14:18:56] ==================== [PASSED] pf_relay =====================
[14:18:56] ================== vf_relay (3 subtests) ===================
[14:18:56] [PASSED] vf_rejects_guc2vf_too_short
[14:18:56] [PASSED] vf_rejects_guc2vf_too_long
[14:18:56] [PASSED] vf_rejects_guc2vf_no_payload
[14:18:56] ==================== [PASSED] vf_relay =====================
[14:18:56] ================= pf_service (11 subtests) =================
[14:18:56] [PASSED] pf_negotiate_any
[14:18:56] [PASSED] pf_negotiate_base_match
[14:18:56] [PASSED] pf_negotiate_base_newer
[14:18:56] [PASSED] pf_negotiate_base_next
[14:18:56] [SKIPPED] pf_negotiate_base_older
[14:18:56] [PASSED] pf_negotiate_base_prev
[14:18:56] [PASSED] pf_negotiate_latest_match
[14:18:56] [PASSED] pf_negotiate_latest_newer
[14:18:56] [PASSED] pf_negotiate_latest_next
[14:18:56] [SKIPPED] pf_negotiate_latest_older
[14:18:56] [SKIPPED] pf_negotiate_latest_prev
[14:18:56] =================== [PASSED] pf_service ====================
[14:18:56] ===================== lmtt (1 subtest) =====================
[14:18:56] ======================== test_ops  =========================
[14:18:56] [PASSED] 2-level
[14:18:56] [PASSED] multi-level
[14:18:56] ==================== [PASSED] test_ops =====================
[14:18:56] ====================== [PASSED] lmtt =======================
[14:18:56] =================== xe_mocs (2 subtests) ===================
[14:18:56] ================ xe_live_mocs_kernel_kunit  ================
[14:18:56] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[14:18:56] ================ xe_live_mocs_reset_kunit  =================
[14:18:56] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[14:18:56] ==================== [SKIPPED] xe_mocs =====================
[14:18:56] ================= xe_migrate (2 subtests) ==================
[14:18:56] ================= xe_migrate_sanity_kunit  =================
[14:18:56] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[14:18:56] ================== xe_validate_ccs_kunit  ==================
[14:18:56] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[14:18:56] =================== [SKIPPED] xe_migrate ===================
[14:18:56] ================== xe_dma_buf (1 subtest) ==================
[14:18:56] ==================== xe_dma_buf_kunit  =====================
[14:18:56] ================ [SKIPPED] xe_dma_buf_kunit ================
[14:18:56] =================== [SKIPPED] xe_dma_buf ===================
[14:18:56] ================= xe_bo_shrink (1 subtest) =================
[14:18:56] =================== xe_bo_shrink_kunit  ====================
[14:18:56] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[14:18:56] ================== [SKIPPED] xe_bo_shrink ==================
[14:18:56] ==================== xe_bo (2 subtests) ====================
[14:18:56] ================== xe_ccs_migrate_kunit  ===================
[14:18:56] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[14:18:56] ==================== xe_bo_evict_kunit  ====================
[14:18:56] =============== [SKIPPED] xe_bo_evict_kunit ================
[14:18:56] ===================== [SKIPPED] xe_bo ======================
[14:18:56] ==================== args (11 subtests) ====================
[14:18:56] [PASSED] count_args_test
[14:18:56] [PASSED] call_args_example
[14:18:56] [PASSED] call_args_test
[14:18:56] [PASSED] drop_first_arg_example
[14:18:56] [PASSED] drop_first_arg_test
[14:18:56] [PASSED] first_arg_example
[14:18:56] [PASSED] first_arg_test
[14:18:56] [PASSED] last_arg_example
[14:18:56] [PASSED] last_arg_test
[14:18:56] [PASSED] pick_arg_example
[14:18:56] [PASSED] sep_comma_example
[14:18:56] ====================== [PASSED] args =======================
[14:18:56] =================== xe_pci (2 subtests) ====================
[14:18:56] [PASSED] xe_gmdid_graphics_ip
[14:18:56] [PASSED] xe_gmdid_media_ip
[14:18:56] ===================== [PASSED] xe_pci ======================
[14:18:56] =================== xe_rtp (2 subtests) ====================
[14:18:56] =============== xe_rtp_process_to_sr_tests  ================
[14:18:56] [PASSED] coalesce-same-reg
[14:18:56] [PASSED] no-match-no-add
[14:18:56] [PASSED] match-or
[14:18:56] [PASSED] match-or-xfail
[14:18:56] [PASSED] no-match-no-add-multiple-rules
[14:18:56] [PASSED] two-regs-two-entries
[14:18:56] [PASSED] clr-one-set-other
[14:18:56] [PASSED] set-field
[14:18:56] [PASSED] conflict-duplicate
[14:18:56] [PASSED] conflict-not-disjoint
stty: 'standard input': Inappropriate ioctl for device
[14:18:56] [PASSED] conflict-reg-type
[14:18:56] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[14:18:56] ================== xe_rtp_process_tests  ===================
[14:18:56] [PASSED] active1
[14:18:56] [PASSED] active2
[14:18:56] [PASSED] active-inactive
[14:18:56] [PASSED] inactive-active
[14:18:56] [PASSED] inactive-1st_or_active-inactive
[14:18:56] [PASSED] inactive-2nd_or_active-inactive
[14:18:56] [PASSED] inactive-last_or_active-inactive
[14:18:56] [PASSED] inactive-no_or_active-inactive
[14:18:56] ============== [PASSED] xe_rtp_process_tests ===============
[14:18:56] ===================== [PASSED] xe_rtp ======================
[14:18:56] ==================== xe_wa (1 subtest) =====================
[14:18:56] ======================== xe_wa_gt  =========================
[14:18:56] [PASSED] TIGERLAKE (B0)
[14:18:56] [PASSED] DG1 (A0)
[14:18:56] [PASSED] DG1 (B0)
[14:18:56] [PASSED] ALDERLAKE_S (A0)
[14:18:56] [PASSED] ALDERLAKE_S (B0)
[14:18:56] [PASSED] ALDERLAKE_S (C0)
[14:18:56] [PASSED] ALDERLAKE_S (D0)
[14:18:56] [PASSED] ALDERLAKE_P (A0)
[14:18:56] [PASSED] ALDERLAKE_P (B0)
[14:18:56] [PASSED] ALDERLAKE_P (C0)
[14:18:56] [PASSED] ALDERLAKE_S_RPLS (D0)
[14:18:56] [PASSED] ALDERLAKE_P_RPLU (E0)
[14:18:56] [PASSED] DG2_G10 (C0)
[14:18:56] [PASSED] DG2_G11 (B1)
[14:18:56] [PASSED] DG2_G12 (A1)
[14:18:56] [PASSED] METEORLAKE (g:A0, m:A0)
[14:18:56] [PASSED] METEORLAKE (g:A0, m:A0)
[14:18:56] [PASSED] METEORLAKE (g:A0, m:A0)
[14:18:56] [PASSED] LUNARLAKE (g:A0, m:A0)
[14:18:56] [PASSED] LUNARLAKE (g:B0, m:A0)
[14:18:56] [PASSED] BATTLEMAGE (g:A0, m:A1)
[14:18:56] ==================== [PASSED] xe_wa_gt =====================
[14:18:56] ====================== [PASSED] xe_wa ======================
[14:18:56] ============================================================
[14:18:56] Testing complete. Ran 133 tests: passed: 117, skipped: 16
[14:18:56] Elapsed time: 30.988s total, 4.269s configuring, 26.402s building, 0.288s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[14:18:56] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[14:18:58] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[14:19:19] Starting KUnit Kernel (1/1)...
[14:19:19] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[14:19:19] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[14:19:19] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[14:19:19] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[14:19:19] =========== drm_validate_clone_mode (2 subtests) ===========
[14:19:19] ============== drm_test_check_in_clone_mode  ===============
[14:19:19] [PASSED] in_clone_mode
[14:19:19] [PASSED] not_in_clone_mode
[14:19:19] ========== [PASSED] drm_test_check_in_clone_mode ===========
[14:19:19] =============== drm_test_check_valid_clones  ===============
[14:19:19] [PASSED] not_in_clone_mode
[14:19:19] [PASSED] valid_clone
[14:19:19] [PASSED] invalid_clone
[14:19:19] =========== [PASSED] drm_test_check_valid_clones ===========
[14:19:19] ============= [PASSED] drm_validate_clone_mode =============
[14:19:19] ============= drm_validate_modeset (1 subtest) =============
[14:19:19] [PASSED] drm_test_check_connector_changed_modeset
[14:19:19] ============== [PASSED] drm_validate_modeset ===============
[14:19:19] ====== drm_test_bridge_get_current_state (2 subtests) ======
[14:19:19] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[14:19:19] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[14:19:19] ======== [PASSED] drm_test_bridge_get_current_state ========
[14:19:19] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[14:19:19] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[14:19:19] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[14:19:19] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[14:19:19] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[14:19:19] ================== drm_buddy (7 subtests) ==================
[14:19:19] [PASSED] drm_test_buddy_alloc_limit
[14:19:19] [PASSED] drm_test_buddy_alloc_optimistic
[14:19:19] [PASSED] drm_test_buddy_alloc_pessimistic
[14:19:19] [PASSED] drm_test_buddy_alloc_pathological
[14:19:19] [PASSED] drm_test_buddy_alloc_contiguous
[14:19:19] [PASSED] drm_test_buddy_alloc_clear
[14:19:19] [PASSED] drm_test_buddy_alloc_range_bias
[14:19:19] ==================== [PASSED] drm_buddy ====================
[14:19:19] ============= drm_cmdline_parser (40 subtests) =============
[14:19:19] [PASSED] drm_test_cmdline_force_d_only
[14:19:19] [PASSED] drm_test_cmdline_force_D_only_dvi
[14:19:19] [PASSED] drm_test_cmdline_force_D_only_hdmi
[14:19:19] [PASSED] drm_test_cmdline_force_D_only_not_digital
[14:19:19] [PASSED] drm_test_cmdline_force_e_only
[14:19:19] [PASSED] drm_test_cmdline_res
[14:19:19] [PASSED] drm_test_cmdline_res_vesa
[14:19:19] [PASSED] drm_test_cmdline_res_vesa_rblank
[14:19:19] [PASSED] drm_test_cmdline_res_rblank
[14:19:19] [PASSED] drm_test_cmdline_res_bpp
[14:19:19] [PASSED] drm_test_cmdline_res_refresh
[14:19:19] [PASSED] drm_test_cmdline_res_bpp_refresh
[14:19:19] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[14:19:19] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[14:19:19] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[14:19:19] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[14:19:19] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[14:19:19] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[14:19:19] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[14:19:19] [PASSED] drm_test_cmdline_res_margins_force_on
[14:19:19] [PASSED] drm_test_cmdline_res_vesa_margins
[14:19:19] [PASSED] drm_test_cmdline_name
[14:19:19] [PASSED] drm_test_cmdline_name_bpp
[14:19:19] [PASSED] drm_test_cmdline_name_option
[14:19:19] [PASSED] drm_test_cmdline_name_bpp_option
[14:19:19] [PASSED] drm_test_cmdline_rotate_0
[14:19:19] [PASSED] drm_test_cmdline_rotate_90
[14:19:19] [PASSED] drm_test_cmdline_rotate_180
[14:19:19] [PASSED] drm_test_cmdline_rotate_270
[14:19:19] [PASSED] drm_test_cmdline_hmirror
[14:19:19] [PASSED] drm_test_cmdline_vmirror
[14:19:19] [PASSED] drm_test_cmdline_margin_options
[14:19:19] [PASSED] drm_test_cmdline_multiple_options
[14:19:19] [PASSED] drm_test_cmdline_bpp_extra_and_option
[14:19:19] [PASSED] drm_test_cmdline_extra_and_option
[14:19:19] [PASSED] drm_test_cmdline_freestanding_options
[14:19:19] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[14:19:19] [PASSED] drm_test_cmdline_panel_orientation
[14:19:19] ================ drm_test_cmdline_invalid  =================
[14:19:19] [PASSED] margin_only
[14:19:19] [PASSED] interlace_only
[14:19:19] [PASSED] res_missing_x
[14:19:19] [PASSED] res_missing_y
[14:19:19] [PASSED] res_bad_y
[14:19:19] [PASSED] res_missing_y_bpp
[14:19:19] [PASSED] res_bad_bpp
[14:19:19] [PASSED] res_bad_refresh
[14:19:19] [PASSED] res_bpp_refresh_force_on_off
[14:19:19] [PASSED] res_invalid_mode
[14:19:19] [PASSED] res_bpp_wrong_place_mode
[14:19:19] [PASSED] name_bpp_refresh
[14:19:19] [PASSED] name_refresh
[14:19:19] [PASSED] name_refresh_wrong_mode
[14:19:19] [PASSED] name_refresh_invalid_mode
[14:19:19] [PASSED] rotate_multiple
[14:19:19] [PASSED] rotate_invalid_val
[14:19:19] [PASSED] rotate_truncated
[14:19:19] [PASSED] invalid_option
[14:19:19] [PASSED] invalid_tv_option
[14:19:19] [PASSED] truncated_tv_option
[14:19:19] ============ [PASSED] drm_test_cmdline_invalid =============
[14:19:19] =============== drm_test_cmdline_tv_options  ===============
[14:19:19] [PASSED] NTSC
[14:19:19] [PASSED] NTSC_443
[14:19:19] [PASSED] NTSC_J
[14:19:19] [PASSED] PAL
[14:19:19] [PASSED] PAL_M
[14:19:19] [PASSED] PAL_N
[14:19:19] [PASSED] SECAM
[14:19:19] [PASSED] MONO_525
[14:19:19] [PASSED] MONO_625
[14:19:19] =========== [PASSED] drm_test_cmdline_tv_options ===========
[14:19:19] =============== [PASSED] drm_cmdline_parser ================
[14:19:19] ========== drmm_connector_hdmi_init (20 subtests) ==========
[14:19:19] [PASSED] drm_test_connector_hdmi_init_valid
[14:19:19] [PASSED] drm_test_connector_hdmi_init_bpc_8
[14:19:19] [PASSED] drm_test_connector_hdmi_init_bpc_10
[14:19:19] [PASSED] drm_test_connector_hdmi_init_bpc_12
[14:19:19] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[14:19:19] [PASSED] drm_test_connector_hdmi_init_bpc_null
[14:19:19] [PASSED] drm_test_connector_hdmi_init_formats_empty
[14:19:19] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[14:19:19] === drm_test_connector_hdmi_init_formats_yuv420_allowed  ===
[14:19:19] [PASSED] supported_formats=0x9 yuv420_allowed=1
[14:19:19] [PASSED] supported_formats=0x9 yuv420_allowed=0
[14:19:19] [PASSED] supported_formats=0x3 yuv420_allowed=1
[14:19:19] [PASSED] supported_formats=0x3 yuv420_allowed=0
[14:19:19] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[14:19:19] [PASSED] drm_test_connector_hdmi_init_null_ddc
[14:19:19] [PASSED] drm_test_connector_hdmi_init_null_product
[14:19:19] [PASSED] drm_test_connector_hdmi_init_null_vendor
[14:19:19] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[14:19:19] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[14:19:19] [PASSED] drm_test_connector_hdmi_init_product_valid
[14:19:19] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[14:19:19] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[14:19:19] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[14:19:19] ========= drm_test_connector_hdmi_init_type_valid  =========
[14:19:19] [PASSED] HDMI-A
[14:19:19] [PASSED] HDMI-B
[14:19:19] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[14:19:19] ======== drm_test_connector_hdmi_init_type_invalid  ========
[14:19:19] [PASSED] Unknown
[14:19:19] [PASSED] VGA
[14:19:19] [PASSED] DVI-I
[14:19:19] [PASSED] DVI-D
[14:19:19] [PASSED] DVI-A
[14:19:19] [PASSED] Composite
[14:19:19] [PASSED] SVIDEO
[14:19:19] [PASSED] LVDS
[14:19:19] [PASSED] Component
[14:19:19] [PASSED] DIN
[14:19:19] [PASSED] DP
[14:19:19] [PASSED] TV
[14:19:19] [PASSED] eDP
[14:19:19] [PASSED] Virtual
[14:19:19] [PASSED] DSI
[14:19:19] [PASSED] DPI
[14:19:19] [PASSED] Writeback
[14:19:19] [PASSED] SPI
[14:19:19] [PASSED] USB
[14:19:19] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[14:19:19] ============ [PASSED] drmm_connector_hdmi_init =============
[14:19:19] ============= drmm_connector_init (3 subtests) =============
[14:19:19] [PASSED] drm_test_drmm_connector_init
[14:19:19] [PASSED] drm_test_drmm_connector_init_null_ddc
[14:19:19] ========= drm_test_drmm_connector_init_type_valid  =========
[14:19:19] [PASSED] Unknown
[14:19:19] [PASSED] VGA
[14:19:19] [PASSED] DVI-I
[14:19:19] [PASSED] DVI-D
[14:19:19] [PASSED] DVI-A
[14:19:19] [PASSED] Composite
[14:19:19] [PASSED] SVIDEO
[14:19:19] [PASSED] LVDS
[14:19:19] [PASSED] Component
[14:19:19] [PASSED] DIN
[14:19:19] [PASSED] DP
[14:19:19] [PASSED] HDMI-A
[14:19:19] [PASSED] HDMI-B
[14:19:19] [PASSED] TV
[14:19:19] [PASSED] eDP
[14:19:19] [PASSED] Virtual
[14:19:19] [PASSED] DSI
[14:19:19] [PASSED] DPI
[14:19:19] [PASSED] Writeback
[14:19:19] [PASSED] SPI
[14:19:19] [PASSED] USB
[14:19:19] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[14:19:19] =============== [PASSED] drmm_connector_init ===============
[14:19:19] ========= drm_connector_dynamic_init (6 subtests) ==========
[14:19:19] [PASSED] drm_test_drm_connector_dynamic_init
[14:19:19] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[14:19:19] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[14:19:19] [PASSED] drm_test_drm_connector_dynamic_init_properties
[14:19:19] ===== drm_test_drm_connector_dynamic_init_type_valid  ======
[14:19:19] [PASSED] Unknown
[14:19:19] [PASSED] VGA
[14:19:19] [PASSED] DVI-I
[14:19:19] [PASSED] DVI-D
[14:19:19] [PASSED] DVI-A
[14:19:19] [PASSED] Composite
[14:19:19] [PASSED] SVIDEO
[14:19:19] [PASSED] LVDS
[14:19:19] [PASSED] Component
[14:19:19] [PASSED] DIN
[14:19:19] [PASSED] DP
[14:19:19] [PASSED] HDMI-A
[14:19:19] [PASSED] HDMI-B
[14:19:19] [PASSED] TV
[14:19:19] [PASSED] eDP
[14:19:19] [PASSED] Virtual
[14:19:19] [PASSED] DSI
[14:19:19] [PASSED] DPI
[14:19:19] [PASSED] Writeback
[14:19:19] [PASSED] SPI
[14:19:19] [PASSED] USB
[14:19:19] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[14:19:19] ======== drm_test_drm_connector_dynamic_init_name  =========
[14:19:19] [PASSED] Unknown
[14:19:19] [PASSED] VGA
[14:19:19] [PASSED] DVI-I
[14:19:19] [PASSED] DVI-D
[14:19:19] [PASSED] DVI-A
[14:19:19] [PASSED] Composite
[14:19:19] [PASSED] SVIDEO
[14:19:19] [PASSED] LVDS
[14:19:19] [PASSED] Component
[14:19:19] [PASSED] DIN
[14:19:19] [PASSED] DP
[14:19:19] [PASSED] HDMI-A
[14:19:19] [PASSED] HDMI-B
[14:19:19] [PASSED] TV
[14:19:19] [PASSED] eDP
[14:19:19] [PASSED] Virtual
[14:19:19] [PASSED] DSI
[14:19:19] [PASSED] DPI
[14:19:19] [PASSED] Writeback
[14:19:19] [PASSED] SPI
[14:19:19] [PASSED] USB
[14:19:19] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[14:19:19] =========== [PASSED] drm_connector_dynamic_init ============
[14:19:19] ==== drm_connector_dynamic_register_early (4 subtests) =====
[14:19:19] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[14:19:19] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[14:19:19] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[14:19:19] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[14:19:19] ====== [PASSED] drm_connector_dynamic_register_early =======
[14:19:19] ======= drm_connector_dynamic_register (7 subtests) ========
[14:19:19] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[14:19:19] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[14:19:19] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[14:19:19] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[14:19:19] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[14:19:19] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[14:19:19] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[14:19:19] ========= [PASSED] drm_connector_dynamic_register ==========
[14:19:19] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[14:19:19] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[14:19:19] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[14:19:19] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[14:19:19] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[14:19:19] ========== drm_test_get_tv_mode_from_name_valid  ===========
[14:19:19] [PASSED] NTSC
[14:19:19] [PASSED] NTSC-443
[14:19:19] [PASSED] NTSC-J
[14:19:19] [PASSED] PAL
[14:19:19] [PASSED] PAL-M
[14:19:19] [PASSED] PAL-N
[14:19:19] [PASSED] SECAM
[14:19:19] [PASSED] Mono
[14:19:19] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[14:19:19] [PASSED] drm_test_get_tv_mode_from_name_truncated
[14:19:19] ============ [PASSED] drm_get_tv_mode_from_name ============
[14:19:19] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[14:19:19] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[14:19:19] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[14:19:19] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[14:19:19] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[14:19:19] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[14:19:19] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[14:19:19] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid  =
[14:19:19] [PASSED] VIC 96
[14:19:19] [PASSED] VIC 97
[14:19:19] [PASSED] VIC 101
[14:19:19] [PASSED] VIC 102
[14:19:19] [PASSED] VIC 106
[14:19:19] [PASSED] VIC 107
[14:19:19] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[14:19:19] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[14:19:19] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[14:19:19] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[14:19:19] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[14:19:19] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[14:19:19] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[14:19:19] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[14:19:19] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name  ====
[14:19:19] [PASSED] Automatic
[14:19:19] [PASSED] Full
[14:19:19] [PASSED] Limited 16:235
[14:19:19] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[14:19:19] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[14:19:19] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[14:19:19] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[14:19:19] === drm_test_drm_hdmi_connector_get_output_format_name  ====
[14:19:19] [PASSED] RGB
[14:19:19] [PASSED] YUV 4:2:0
[14:19:19] [PASSED] YUV 4:2:2
[14:19:19] [PASSED] YUV 4:4:4
[14:19:19] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[14:19:19] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[14:19:19] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[14:19:19] ============= drm_damage_helper (21 subtests) ==============
[14:19:19] [PASSED] drm_test_damage_iter_no_damage
[14:19:19] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[14:19:19] [PASSED] drm_test_damage_iter_no_damage_src_moved
[14:19:19] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[14:19:19] [PASSED] drm_test_damage_iter_no_damage_not_visible
[14:19:19] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[14:19:19] [PASSED] drm_test_damage_iter_no_damage_no_fb
[14:19:19] [PASSED] drm_test_damage_iter_simple_damage
[14:19:19] [PASSED] drm_test_damage_iter_single_damage
[14:19:19] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[14:19:19] [PASSED] drm_test_damage_iter_single_damage_outside_src
[14:19:19] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[14:19:19] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[14:19:19] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[14:19:19] [PASSED] drm_test_damage_iter_single_damage_src_moved
[14:19:19] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[14:19:19] [PASSED] drm_test_damage_iter_damage
[14:19:19] [PASSED] drm_test_damage_iter_damage_one_intersect
[14:19:19] [PASSED] drm_test_damage_iter_damage_one_outside
[14:19:19] [PASSED] drm_test_damage_iter_damage_src_moved
[14:19:19] [PASSED] drm_test_damage_iter_damage_not_visible
[14:19:19] ================ [PASSED] drm_damage_helper ================
[14:19:19] ============== drm_dp_mst_helper (3 subtests) ==============
[14:19:19] ============== drm_test_dp_mst_calc_pbn_mode  ==============
[14:19:19] [PASSED] Clock 154000 BPP 30 DSC disabled
[14:19:19] [PASSED] Clock 234000 BPP 30 DSC disabled
[14:19:19] [PASSED] Clock 297000 BPP 24 DSC disabled
[14:19:19] [PASSED] Clock 332880 BPP 24 DSC enabled
[14:19:19] [PASSED] Clock 324540 BPP 24 DSC enabled
[14:19:19] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[14:19:19] ============== drm_test_dp_mst_calc_pbn_div  ===============
[14:19:19] [PASSED] Link rate 2000000 lane count 4
[14:19:19] [PASSED] Link rate 2000000 lane count 2
[14:19:19] [PASSED] Link rate 2000000 lane count 1
[14:19:19] [PASSED] Link rate 1350000 lane count 4
[14:19:19] [PASSED] Link rate 1350000 lane count 2
[14:19:19] [PASSED] Link rate 1350000 lane count 1
[14:19:19] [PASSED] Link rate 1000000 lane count 4
[14:19:19] [PASSED] Link rate 1000000 lane count 2
[14:19:19] [PASSED] Link rate 1000000 lane count 1
[14:19:19] [PASSED] Link rate 810000 lane count 4
[14:19:19] [PASSED] Link rate 810000 lane count 2
[14:19:19] [PASSED] Link rate 810000 lane count 1
[14:19:19] [PASSED] Link rate 540000 lane count 4
[14:19:19] [PASSED] Link rate 540000 lane count 2
[14:19:19] [PASSED] Link rate 540000 lane count 1
[14:19:19] [PASSED] Link rate 270000 lane count 4
[14:19:19] [PASSED] Link rate 270000 lane count 2
[14:19:19] [PASSED] Link rate 270000 lane count 1
[14:19:19] [PASSED] Link rate 162000 lane count 4
[14:19:19] [PASSED] Link rate 162000 lane count 2
[14:19:19] [PASSED] Link rate 162000 lane count 1
[14:19:19] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[14:19:19] ========= drm_test_dp_mst_sideband_msg_req_decode  =========
[14:19:19] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[14:19:19] [PASSED] DP_POWER_UP_PHY with port number
[14:19:19] [PASSED] DP_POWER_DOWN_PHY with port number
[14:19:19] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[14:19:19] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[14:19:19] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[14:19:19] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[14:19:19] [PASSED] DP_QUERY_PAYLOAD with port number
[14:19:19] [PASSED] DP_QUERY_PAYLOAD with VCPI
[14:19:19] [PASSED] DP_REMOTE_DPCD_READ with port number
[14:19:19] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[14:19:19] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[14:19:19] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[14:19:19] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[14:19:19] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[14:19:19] [PASSED] DP_REMOTE_I2C_READ with port number
[14:19:19] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[14:19:19] [PASSED] DP_REMOTE_I2C_READ with transactions array
[14:19:19] [PASSED] DP_REMOTE_I2C_WRITE with port number
[14:19:19] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[14:19:19] [PASSED] DP_REMOTE_I2C_WRITE with data array
[14:19:19] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[14:19:19] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[14:19:19] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[14:19:19] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[14:19:19] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[14:19:19] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[14:19:19] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[14:19:19] ================ [PASSED] drm_dp_mst_helper ================
[14:19:19] ================== drm_exec (7 subtests) ===================
[14:19:19] [PASSED] sanitycheck
[14:19:19] [PASSED] test_lock
[14:19:19] [PASSED] test_lock_unlock
[14:19:19] [PASSED] test_duplicates
[14:19:19] [PASSED] test_prepare
[14:19:19] [PASSED] test_prepare_array
[14:19:19] [PASSED] test_multiple_loops
[14:19:19] ==================== [PASSED] drm_exec =====================
[14:19:19] =========== drm_format_helper_test (18 subtests) ===========
[14:19:19] ============== drm_test_fb_xrgb8888_to_gray8  ==============
[14:19:19] [PASSED] single_pixel_source_buffer
[14:19:19] [PASSED] single_pixel_clip_rectangle
[14:19:19] [PASSED] well_known_colors
[14:19:19] [PASSED] destination_pitch
[14:19:19] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[14:19:19] ============= drm_test_fb_xrgb8888_to_rgb332  ==============
[14:19:19] [PASSED] single_pixel_source_buffer
[14:19:19] [PASSED] single_pixel_clip_rectangle
[14:19:19] [PASSED] well_known_colors
[14:19:19] [PASSED] destination_pitch
[14:19:19] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[14:19:19] ============= drm_test_fb_xrgb8888_to_rgb565  ==============
[14:19:19] [PASSED] single_pixel_source_buffer
[14:19:19] [PASSED] single_pixel_clip_rectangle
[14:19:19] [PASSED] well_known_colors
[14:19:19] [PASSED] destination_pitch
[14:19:19] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[14:19:19] ============ drm_test_fb_xrgb8888_to_xrgb1555  =============
[14:19:19] [PASSED] single_pixel_source_buffer
[14:19:19] [PASSED] single_pixel_clip_rectangle
[14:19:19] [PASSED] well_known_colors
[14:19:19] [PASSED] destination_pitch
[14:19:19] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[14:19:19] ============ drm_test_fb_xrgb8888_to_argb1555  =============
[14:19:19] [PASSED] single_pixel_source_buffer
[14:19:19] [PASSED] single_pixel_clip_rectangle
[14:19:19] [PASSED] well_known_colors
[14:19:19] [PASSED] destination_pitch
[14:19:19] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[14:19:19] ============ drm_test_fb_xrgb8888_to_rgba5551  =============
[14:19:19] [PASSED] single_pixel_source_buffer
[14:19:19] [PASSED] single_pixel_clip_rectangle
[14:19:19] [PASSED] well_known_colors
[14:19:19] [PASSED] destination_pitch
[14:19:19] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[14:19:19] ============= drm_test_fb_xrgb8888_to_rgb888  ==============
[14:19:19] [PASSED] single_pixel_source_buffer
[14:19:19] [PASSED] single_pixel_clip_rectangle
[14:19:19] [PASSED] well_known_colors
[14:19:19] [PASSED] destination_pitch
[14:19:19] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[14:19:19] ============= drm_test_fb_xrgb8888_to_bgr888  ==============
[14:19:19] [PASSED] single_pixel_source_buffer
[14:19:19] [PASSED] single_pixel_clip_rectangle
[14:19:19] [PASSED] well_known_colors
[14:19:19] [PASSED] destination_pitch
[14:19:19] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[14:19:19] ============ drm_test_fb_xrgb8888_to_argb8888  =============
[14:19:19] [PASSED] single_pixel_source_buffer
[14:19:19] [PASSED] single_pixel_clip_rectangle
[14:19:19] [PASSED] well_known_colors
[14:19:19] [PASSED] destination_pitch
[14:19:19] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[14:19:19] =========== drm_test_fb_xrgb8888_to_xrgb2101010  ===========
[14:19:19] [PASSED] single_pixel_source_buffer
[14:19:19] [PASSED] single_pixel_clip_rectangle
[14:19:19] [PASSED] well_known_colors
[14:19:19] [PASSED] destination_pitch
[14:19:19] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[14:19:19] =========== drm_test_fb_xrgb8888_to_argb2101010  ===========
[14:19:19] [PASSED] single_pixel_source_buffer
[14:19:19] [PASSED] single_pixel_clip_rectangle
[14:19:19] [PASSED] well_known_colors
[14:19:19] [PASSED] destination_pitch
[14:19:19] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[14:19:19] ============== drm_test_fb_xrgb8888_to_mono  ===============
[14:19:19] [PASSED] single_pixel_source_buffer
[14:19:19] [PASSED] single_pixel_clip_rectangle
[14:19:19] [PASSED] well_known_colors
[14:19:19] [PASSED] destination_pitch
[14:19:19] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[14:19:19] ==================== drm_test_fb_swab  =====================
[14:19:19] [PASSED] single_pixel_source_buffer
[14:19:19] [PASSED] single_pixel_clip_rectangle
[14:19:19] [PASSED] well_known_colors
[14:19:19] [PASSED] destination_pitch
[14:19:19] ================ [PASSED] drm_test_fb_swab =================
[14:19:19] ============ drm_test_fb_xrgb8888_to_xbgr8888  =============
[14:19:19] [PASSED] single_pixel_source_buffer
[14:19:19] [PASSED] single_pixel_clip_rectangle
[14:19:19] [PASSED] well_known_colors
[14:19:19] [PASSED] destination_pitch
[14:19:19] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[14:19:19] ============ drm_test_fb_xrgb8888_to_abgr8888  =============
[14:19:19] [PASSED] single_pixel_source_buffer
[14:19:19] [PASSED] single_pixel_clip_rectangle
[14:19:19] [PASSED] well_known_colors
[14:19:19] [PASSED] destination_pitch
[14:19:19] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[14:19:19] ================= drm_test_fb_clip_offset  =================
[14:19:19] [PASSED] pass through
[14:19:19] [PASSED] horizontal offset
[14:19:19] [PASSED] vertical offset
[14:19:19] [PASSED] horizontal and vertical offset
[14:19:19] [PASSED] horizontal offset (custom pitch)
[14:19:19] [PASSED] vertical offset (custom pitch)
[14:19:19] [PASSED] horizontal and vertical offset (custom pitch)
[14:19:19] ============= [PASSED] drm_test_fb_clip_offset =============
[14:19:19] ============== drm_test_fb_build_fourcc_list  ==============
[14:19:19] [PASSED] no native formats
[14:19:19] [PASSED] XRGB8888 as native format
[14:19:19] [PASSED] remove duplicates
[14:19:19] [PASSED] convert alpha formats
[14:19:19] [PASSED] random formats
[14:19:19] ========== [PASSED] drm_test_fb_build_fourcc_list ==========
[14:19:19] =================== drm_test_fb_memcpy  ====================
[14:19:19] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[14:19:19] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[14:19:19] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[14:19:19] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[14:19:19] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[14:19:19] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[14:19:19] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[14:19:19] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[14:19:19] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[14:19:19] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[14:19:19] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[14:19:19] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[14:19:19] =============== [PASSED] drm_test_fb_memcpy ================
[14:19:19] ============= [PASSED] drm_format_helper_test ==============
[14:19:19] ================= drm_format (18 subtests) =================
[14:19:19] [PASSED] drm_test_format_block_width_invalid
[14:19:19] [PASSED] drm_test_format_block_width_one_plane
[14:19:19] [PASSED] drm_test_format_block_width_two_plane
[14:19:19] [PASSED] drm_test_format_block_width_three_plane
[14:19:19] [PASSED] drm_test_format_block_width_tiled
[14:19:19] [PASSED] drm_test_format_block_height_invalid
[14:19:19] [PASSED] drm_test_format_block_height_one_plane
[14:19:19] [PASSED] drm_test_format_block_height_two_plane
[14:19:19] [PASSED] drm_test_format_block_height_three_plane
[14:19:19] [PASSED] drm_test_format_block_height_tiled
[14:19:19] [PASSED] drm_test_format_min_pitch_invalid
[14:19:19] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[14:19:19] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[14:19:19] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[14:19:19] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[14:19:19] [PASSED] drm_test_format_min_pitch_two_plane
[14:19:19] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[14:19:19] [PASSED] drm_test_format_min_pitch_tiled
[14:19:19] =================== [PASSED] drm_format ====================
[14:19:19] ============== drm_framebuffer (10 subtests) ===============
[14:19:19] ========== drm_test_framebuffer_check_src_coords  ==========
[14:19:19] [PASSED] Success: source fits into fb
[14:19:19] [PASSED] Fail: overflowing fb with x-axis coordinate
[14:19:19] [PASSED] Fail: overflowing fb with y-axis coordinate
[14:19:19] [PASSED] Fail: overflowing fb with source width
[14:19:19] [PASSED] Fail: overflowing fb with source height
[14:19:19] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[14:19:19] [PASSED] drm_test_framebuffer_cleanup
[14:19:19] =============== drm_test_framebuffer_create  ===============
[14:19:19] [PASSED] ABGR8888 normal sizes
[14:19:19] [PASSED] ABGR8888 max sizes
[14:19:19] [PASSED] ABGR8888 pitch greater than min required
[14:19:19] [PASSED] ABGR8888 pitch less than min required
[14:19:19] [PASSED] ABGR8888 Invalid width
[14:19:19] [PASSED] ABGR8888 Invalid buffer handle
[14:19:19] [PASSED] No pixel format
[14:19:19] [PASSED] ABGR8888 Width 0
[14:19:19] [PASSED] ABGR8888 Height 0
[14:19:19] [PASSED] ABGR8888 Out of bound height * pitch combination
[14:19:19] [PASSED] ABGR8888 Large buffer offset
[14:19:19] [PASSED] ABGR8888 Buffer offset for inexistent plane
[14:19:19] [PASSED] ABGR8888 Invalid flag
[14:19:19] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[14:19:19] [PASSED] ABGR8888 Valid buffer modifier
[14:19:19] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[14:19:19] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[14:19:19] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[14:19:19] [PASSED] NV12 Normal sizes
[14:19:19] [PASSED] NV12 Max sizes
[14:19:19] [PASSED] NV12 Invalid pitch
[14:19:19] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[14:19:19] [PASSED] NV12 different  modifier per-plane
[14:19:19] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[14:19:19] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[14:19:19] [PASSED] NV12 Modifier for inexistent plane
[14:19:19] [PASSED] NV12 Handle for inexistent plane
[14:19:19] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[14:19:19] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[14:19:19] [PASSED] YVU420 Normal sizes
[14:19:19] [PASSED] YVU420 Max sizes
[14:19:19] [PASSED] YVU420 Invalid pitch
[14:19:19] [PASSED] YVU420 Different pitches
[14:19:19] [PASSED] YVU420 Different buffer offsets/pitches
[14:19:19] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[14:19:19] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[14:19:19] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[14:19:19] [PASSED] YVU420 Valid modifier
[14:19:19] [PASSED] YVU420 Different modifiers per plane
[14:19:19] [PASSED] YVU420 Modifier for inexistent plane
[14:19:19] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[14:19:19] [PASSED] X0L2 Normal sizes
[14:19:19] [PASSED] X0L2 Max sizes
[14:19:19] [PASSED] X0L2 Invalid pitch
[14:19:19] [PASSED] X0L2 Pitch greater than minimum required
[14:19:19] [PASSED] X0L2 Handle for inexistent plane
[14:19:19] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[14:19:19] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[14:19:19] [PASSED] X0L2 Valid modifier
[14:19:19] [PASSED] X0L2 Modifier for inexistent plane
[14:19:19] =========== [PASSED] drm_test_framebuffer_create ===========
[14:19:19] [PASSED] drm_test_framebuffer_free
[14:19:19] [PASSED] drm_test_framebuffer_init
[14:19:19] [PASSED] drm_test_framebuffer_init_bad_format
[14:19:19] [PASSED] drm_test_framebuffer_init_dev_mismatch
[14:19:19] [PASSED] drm_test_framebuffer_lookup
[14:19:19] [PASSED] drm_test_framebuffer_lookup_inexistent
[14:19:19] [PASSED] drm_test_framebuffer_modifiers_not_supported
[14:19:19] ================= [PASSED] drm_framebuffer =================
[14:19:19] ================ drm_gem_shmem (8 subtests) ================
[14:19:19] [PASSED] drm_gem_shmem_test_obj_create
[14:19:19] [PASSED] drm_gem_shmem_test_obj_create_private
[14:19:19] [PASSED] drm_gem_shmem_test_pin_pages
[14:19:19] [PASSED] drm_gem_shmem_test_vmap
[14:19:19] [PASSED] drm_gem_shmem_test_get_pages_sgt
[14:19:19] [PASSED] drm_gem_shmem_test_get_sg_table
[14:19:19] [PASSED] drm_gem_shmem_test_madvise
[14:19:19] [PASSED] drm_gem_shmem_test_purge
[14:19:19] ================== [PASSED] drm_gem_shmem ==================
[14:19:19] === drm_atomic_helper_connector_hdmi_check (23 subtests) ===
[14:19:19] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[14:19:19] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[14:19:19] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[14:19:19] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[14:19:19] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[14:19:19] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[14:19:19] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[14:19:19] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[14:19:19] [PASSED] drm_test_check_disable_connector
[14:19:19] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[14:19:19] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback
[14:19:19] [PASSED] drm_test_check_max_tmds_rate_format_fallback
[14:19:19] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[14:19:19] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[14:19:19] [PASSED] drm_test_check_output_bpc_dvi
[14:19:19] [PASSED] drm_test_check_output_bpc_format_vic_1
[14:19:19] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[14:19:19] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[14:19:19] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[14:19:19] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[14:19:19] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[14:19:19] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[14:19:19] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[14:19:19] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[14:19:19] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[14:19:19] [PASSED] drm_test_check_broadcast_rgb_value
[14:19:19] [PASSED] drm_test_check_bpc_8_value
[14:19:19] [PASSED] drm_test_check_bpc_10_value
[14:19:19] [PASSED] drm_test_check_bpc_12_value
[14:19:19] [PASSED] drm_test_check_format_value
[14:19:19] [PASSED] drm_test_check_tmds_char_value
[14:19:19] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[14:19:19] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[14:19:19] [PASSED] drm_test_check_mode_valid
[14:19:19] [PASSED] drm_test_check_mode_valid_reject
[14:19:19] [PASSED] drm_test_check_mode_valid_reject_rate
[14:19:19] [PASSED] drm_test_check_mode_valid_reject_max_clock
[14:19:19] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[14:19:19] ================= drm_managed (2 subtests) =================
[14:19:19] [PASSED] drm_test_managed_release_action
[14:19:19] [PASSED] drm_test_managed_run_action
[14:19:19] =================== [PASSED] drm_managed ===================
[14:19:19] =================== drm_mm (6 subtests) ====================
[14:19:19] [PASSED] drm_test_mm_init
[14:19:19] [PASSED] drm_test_mm_debug
[14:19:19] [PASSED] drm_test_mm_align32
[14:19:19] [PASSED] drm_test_mm_align64
[14:19:19] [PASSED] drm_test_mm_lowest
[14:19:19] [PASSED] drm_test_mm_highest
[14:19:19] ===================== [PASSED] drm_mm ======================
[14:19:19] ============= drm_modes_analog_tv (5 subtests) =============
[14:19:19] [PASSED] drm_test_modes_analog_tv_mono_576i
[14:19:19] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[14:19:19] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[14:19:19] [PASSED] drm_test_modes_analog_tv_pal_576i
[14:19:19] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[14:19:19] =============== [PASSED] drm_modes_analog_tv ===============
[14:19:19] ============== drm_plane_helper (2 subtests) ===============
[14:19:19] =============== drm_test_check_plane_state  ================
[14:19:19] [PASSED] clipping_simple
[14:19:19] [PASSED] clipping_rotate_reflect
[14:19:19] [PASSED] positioning_simple
[14:19:19] [PASSED] upscaling
[14:19:19] [PASSED] downscaling
[14:19:19] [PASSED] rounding1
[14:19:19] [PASSED] rounding2
[14:19:19] [PASSED] rounding3
[14:19:19] [PASSED] rounding4
[14:19:19] =========== [PASSED] drm_test_check_plane_state ============
[14:19:19] =========== drm_test_check_invalid_plane_state  ============
[14:19:19] [PASSED] positioning_invalid
[14:19:19] [PASSED] upscaling_invalid
[14:19:19] [PASSED] downscaling_invalid
[14:19:19] ======= [PASSED] drm_test_check_invalid_plane_state ========
[14:19:19] ================ [PASSED] drm_plane_helper =================
[14:19:19] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[14:19:19] ====== drm_test_connector_helper_tv_get_modes_check  =======
[14:19:19] [PASSED] None
[14:19:19] [PASSED] PAL
[14:19:19] [PASSED] NTSC
[14:19:19] [PASSED] Both, NTSC Default
[14:19:19] [PASSED] Both, PAL Default
[14:19:19] [PASSED] Both, NTSC Default, with PAL on command-line
[14:19:19] [PASSED] Both, PAL Default, with NTSC on command-line
[14:19:19] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[14:19:19] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[14:19:19] ================== drm_rect (9 subtests) ===================
[14:19:19] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[14:19:19] [PASSED] drm_test_rect_clip_scaled_not_clipped
[14:19:19] [PASSED] drm_test_rect_clip_scaled_clipped
[14:19:19] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[14:19:19] ================= drm_test_rect_intersect  =================
[14:19:19] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[14:19:19] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[14:19:19] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[14:19:19] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[14:19:19] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[14:19:19] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[14:19:19] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[14:19:19] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[14:19:19] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[14:19:19] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[14:19:19] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[14:19:19] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[14:19:19] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[14:19:19] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[14:19:19] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[14:19:19] ============= [PASSED] drm_test_rect_intersect =============
[14:19:19] ================ drm_test_rect_calc_hscale  ================
[14:19:19] [PASSED] normal use
[14:19:19] [PASSED] out of max range
[14:19:19] [PASSED] out of min range
[14:19:19] [PASSED] zero dst
[14:19:19] [PASSED] negative src
[14:19:19] [PASSED] negative dst
[14:19:19] ============ [PASSED] drm_test_rect_calc_hscale ============
[14:19:19] ================ drm_test_rect_calc_vscale  ================
[14:19:19] [PASSED] normal use
[14:19:19] [PASSED] out of max range
[14:19:19] [PASSED] out of min range
[14:19:19] [PASSED] zero dst
[14:19:19] [PASSED] negative src
[14:19:19] [PASSED] negative dst
[14:19:19] ============ [PASSED] drm_test_rect_calc_vscale ============
[14:19:19] ================== drm_test_rect_rotate  ===================
[14:19:19] [PASSED] reflect-x
[14:19:19] [PASSED] reflect-y
[14:19:19] [PASSED] rotate-0
[14:19:19] [PASSED] rotate-90
[14:19:19] [PASSED] rotate-180
[14:19:19] [PASSED] rotate-270
[14:19:19] ============== [PASSED] drm_test_rect_rotate ===============
[14:19:19] ================ drm_test_rect_rotate_inv  =================
[14:19:19] [PASSED] reflect-x
[14:19:19] [PASSED] reflect-y
[14:19:19] [PASSED] rotate-0
[14:19:19] [PASSED] rotate-90
[14:19:19] [PASSED] rotate-180
[14:19:19] [PASSED] rotate-270
[14:19:19] ============ [PASSED] drm_test_rect_rotate_inv =============
stty: 'standard input': Inappropriate ioctl for device
[14:19:19] ==================== [PASSED] drm_rect =====================
[14:19:19] ============================================================
[14:19:19] Testing complete. Ran 608 tests: passed: 608
[14:19:19] Elapsed time: 22.923s total, 1.707s configuring, 21.044s building, 0.133s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[14:19:19] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[14:19:21] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[14:19:29] Starting KUnit Kernel (1/1)...
[14:19:29] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[14:19:29] ================= ttm_device (5 subtests) ==================
[14:19:29] [PASSED] ttm_device_init_basic
[14:19:29] [PASSED] ttm_device_init_multiple
[14:19:29] [PASSED] ttm_device_fini_basic
[14:19:29] [PASSED] ttm_device_init_no_vma_man
[14:19:29] ================== ttm_device_init_pools  ==================
[14:19:29] [PASSED] No DMA allocations, no DMA32 required
[14:19:29] [PASSED] DMA allocations, DMA32 required
[14:19:29] [PASSED] No DMA allocations, DMA32 required
[14:19:29] [PASSED] DMA allocations, no DMA32 required
[14:19:29] ============== [PASSED] ttm_device_init_pools ==============
[14:19:29] =================== [PASSED] ttm_device ====================
[14:19:29] ================== ttm_pool (8 subtests) ===================
[14:19:29] ================== ttm_pool_alloc_basic  ===================
[14:19:29] [PASSED] One page
[14:19:29] [PASSED] More than one page
[14:19:29] [PASSED] Above the allocation limit
[14:19:29] [PASSED] One page, with coherent DMA mappings enabled
[14:19:29] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[14:19:29] ============== [PASSED] ttm_pool_alloc_basic ===============
[14:19:29] ============== ttm_pool_alloc_basic_dma_addr  ==============
[14:19:29] [PASSED] One page
[14:19:29] [PASSED] More than one page
[14:19:29] [PASSED] Above the allocation limit
[14:19:29] [PASSED] One page, with coherent DMA mappings enabled
[14:19:29] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[14:19:29] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[14:19:29] [PASSED] ttm_pool_alloc_order_caching_match
[14:19:29] [PASSED] ttm_pool_alloc_caching_mismatch
[14:19:29] [PASSED] ttm_pool_alloc_order_mismatch
[14:19:29] [PASSED] ttm_pool_free_dma_alloc
[14:19:29] [PASSED] ttm_pool_free_no_dma_alloc
[14:19:29] [PASSED] ttm_pool_fini_basic
[14:19:29] ==================== [PASSED] ttm_pool =====================
[14:19:29] ================ ttm_resource (8 subtests) =================
[14:19:29] ================= ttm_resource_init_basic  =================
[14:19:29] [PASSED] Init resource in TTM_PL_SYSTEM
[14:19:29] [PASSED] Init resource in TTM_PL_VRAM
[14:19:29] [PASSED] Init resource in a private placement
[14:19:29] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[14:19:29] ============= [PASSED] ttm_resource_init_basic =============
[14:19:29] [PASSED] ttm_resource_init_pinned
[14:19:29] [PASSED] ttm_resource_fini_basic
[14:19:29] [PASSED] ttm_resource_manager_init_basic
[14:19:29] [PASSED] ttm_resource_manager_usage_basic
[14:19:29] [PASSED] ttm_resource_manager_set_used_basic
[14:19:29] [PASSED] ttm_sys_man_alloc_basic
[14:19:29] [PASSED] ttm_sys_man_free_basic
[14:19:29] ================== [PASSED] ttm_resource ===================
[14:19:29] =================== ttm_tt (15 subtests) ===================
[14:19:29] ==================== ttm_tt_init_basic  ====================
[14:19:29] [PASSED] Page-aligned size
[14:19:29] [PASSED] Extra pages requested
[14:19:29] ================ [PASSED] ttm_tt_init_basic ================
[14:19:29] [PASSED] ttm_tt_init_misaligned
[14:19:29] [PASSED] ttm_tt_fini_basic
[14:19:29] [PASSED] ttm_tt_fini_sg
[14:19:29] [PASSED] ttm_tt_fini_shmem
[14:19:29] [PASSED] ttm_tt_create_basic
[14:19:29] [PASSED] ttm_tt_create_invalid_bo_type
[14:19:29] [PASSED] ttm_tt_create_ttm_exists
[14:19:29] [PASSED] ttm_tt_create_failed
[14:19:29] [PASSED] ttm_tt_destroy_basic
[14:19:29] [PASSED] ttm_tt_populate_null_ttm
[14:19:29] [PASSED] ttm_tt_populate_populated_ttm
[14:19:29] [PASSED] ttm_tt_unpopulate_basic
[14:19:29] [PASSED] ttm_tt_unpopulate_empty_ttm
[14:19:29] [PASSED] ttm_tt_swapin_basic
[14:19:29] ===================== [PASSED] ttm_tt ======================
[14:19:29] =================== ttm_bo (14 subtests) ===================
[14:19:29] =========== ttm_bo_reserve_optimistic_no_ticket  ===========
[14:19:29] [PASSED] Cannot be interrupted and sleeps
[14:19:29] [PASSED] Cannot be interrupted, locks straight away
[14:19:29] [PASSED] Can be interrupted, sleeps
[14:19:29] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[14:19:29] [PASSED] ttm_bo_reserve_locked_no_sleep
[14:19:29] [PASSED] ttm_bo_reserve_no_wait_ticket
[14:19:29] [PASSED] ttm_bo_reserve_double_resv
[14:19:29] [PASSED] ttm_bo_reserve_interrupted
[14:19:29] [PASSED] ttm_bo_reserve_deadlock
[14:19:29] [PASSED] ttm_bo_unreserve_basic
[14:19:29] [PASSED] ttm_bo_unreserve_pinned
[14:19:29] [PASSED] ttm_bo_unreserve_bulk
[14:19:29] [PASSED] ttm_bo_put_basic
[14:19:29] [PASSED] ttm_bo_put_shared_resv
[14:19:29] [PASSED] ttm_bo_pin_basic
[14:19:29] [PASSED] ttm_bo_pin_unpin_resource
[14:19:29] [PASSED] ttm_bo_multiple_pin_one_unpin
[14:19:29] ===================== [PASSED] ttm_bo ======================
[14:19:29] ============== ttm_bo_validate (22 subtests) ===============
[14:19:29] ============== ttm_bo_init_reserved_sys_man  ===============
[14:19:29] [PASSED] Buffer object for userspace
[14:19:29] [PASSED] Kernel buffer object
[14:19:29] [PASSED] Shared buffer object
[14:19:29] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[14:19:29] ============== ttm_bo_init_reserved_mock_man  ==============
[14:19:29] [PASSED] Buffer object for userspace
[14:19:29] [PASSED] Kernel buffer object
[14:19:29] [PASSED] Shared buffer object
[14:19:29] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[14:19:29] [PASSED] ttm_bo_init_reserved_resv
[14:19:29] ================== ttm_bo_validate_basic  ==================
[14:19:29] [PASSED] Buffer object for userspace
[14:19:29] [PASSED] Kernel buffer object
[14:19:29] [PASSED] Shared buffer object
[14:19:29] ============== [PASSED] ttm_bo_validate_basic ==============
[14:19:29] [PASSED] ttm_bo_validate_invalid_placement
[14:19:29] ============= ttm_bo_validate_same_placement  ==============
[14:19:29] [PASSED] System manager
[14:19:29] [PASSED] VRAM manager
[14:19:29] ========= [PASSED] ttm_bo_validate_same_placement ==========
[14:19:29] [PASSED] ttm_bo_validate_failed_alloc
[14:19:29] [PASSED] ttm_bo_validate_pinned
[14:19:29] [PASSED] ttm_bo_validate_busy_placement
[14:19:29] ================ ttm_bo_validate_multihop  =================
[14:19:29] [PASSED] Buffer object for userspace
[14:19:29] [PASSED] Kernel buffer object
[14:19:29] [PASSED] Shared buffer object
[14:19:29] ============ [PASSED] ttm_bo_validate_multihop =============
[14:19:29] ========== ttm_bo_validate_no_placement_signaled  ==========
[14:19:29] [PASSED] Buffer object in system domain, no page vector
[14:19:29] [PASSED] Buffer object in system domain with an existing page vector
[14:19:29] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[14:19:29] ======== ttm_bo_validate_no_placement_not_signaled  ========
[14:19:29] [PASSED] Buffer object for userspace
[14:19:29] [PASSED] Kernel buffer object
[14:19:29] [PASSED] Shared buffer object
[14:19:29] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[14:19:29] [PASSED] ttm_bo_validate_move_fence_signaled
[14:19:29] ========= ttm_bo_validate_move_fence_not_signaled  =========
[14:19:29] [PASSED] Waits for GPU
[14:19:29] [PASSED] Tries to lock straight away
[14:19:29] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[14:19:29] [PASSED] ttm_bo_validate_swapout
[14:19:29] [PASSED] ttm_bo_validate_happy_evict
[14:19:29] [PASSED] ttm_bo_validate_all_pinned_evict
[14:19:29] [PASSED] ttm_bo_validate_allowed_only_evict
[14:19:29] [PASSED] ttm_bo_validate_deleted_evict
[14:19:29] [PASSED] ttm_bo_validate_busy_domain_evict
[14:19:29] [PASSED] ttm_bo_validate_evict_gutting
[14:19:29] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[14:19:29] ================= [PASSED] ttm_bo_validate =================
[14:19:29] ============================================================
[14:19:29] Testing complete. Ran 102 tests: passed: 102
[14:19:29] Elapsed time: 10.175s total, 1.800s configuring, 7.758s building, 0.533s running

+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



^ permalink raw reply	[flat|nested] 11+ messages in thread

* ✗ CI.Build: failure for PCI: add CONFIG_MMU dependency
  2025-04-07 10:38 [RFC] PCI: add CONFIG_MMU dependency Arnd Bergmann
                   ` (2 preceding siblings ...)
  2025-04-07 14:19 ` ✓ CI.KUnit: success " Patchwork
@ 2025-04-07 14:23 ` Patchwork
  2025-04-07 16:02 ` [RFC] " Jeff Hugo
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2025-04-07 14:23 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: intel-xe

== Series Details ==

Series: PCI: add CONFIG_MMU dependency
URL   : https://patchwork.freedesktop.org/series/147320/
State : failure

== Summary ==

CC [M]  net/netfilter/xt_TCPMSS.o
  CC [M]  drivers/mfd/intel_pmc_bxt.o
  CC [M]  net/netfilter/xt_TCPOPTSTRIP.o
  CC [M]  net/netfilter/xt_TEE.o
  AR      kernel/built-in.a
  CC [M]  drivers/mfd/viperboard.o
  CC [M]  net/netfilter/xt_TRACE.o
  CC [M]  drivers/mfd/lm3533-core.o
  CC [M]  drivers/mfd/lm3533-ctrlbank.o
  CC [M]  net/netfilter/xt_IDLETIMER.o
  CC [M]  drivers/mfd/retu-mfd.o
  CC [M]  drivers/mfd/iqs62x.o
  CC [M]  net/netfilter/xt_addrtype.o
  CC [M]  drivers/mfd/menf21bmc.o
  CC [M]  net/netfilter/xt_bpf.o
  CC [M]  drivers/mfd/dln2.o
  CC [M]  net/netfilter/xt_cluster.o
  CC [M]  drivers/mfd/rt4831.o
  CC [M]  drivers/mfd/rt5033.o
  CC [M]  net/netfilter/xt_comment.o
  CC [M]  drivers/mfd/rt5120.o
  CC [M]  net/netfilter/xt_connbytes.o
  CC [M]  net/netfilter/xt_connlabel.o
  CC      lib/crc32.o
  CC [M]  net/netfilter/xt_connlimit.o
  CC [M]  drivers/mfd/sky81452.o
  LD [M]  fs/nfs/nfsv4.o
  CC      lib/crc64.o
  CC [M]  net/netfilter/xt_conntrack.o
  CC [M]  drivers/mfd/intel_soc_pmic_bxtwc.o
  CC [M]  net/netfilter/xt_cpu.o
  CC [M]  drivers/mfd/intel_soc_pmic_chtdc_ti.o
  CC [M]  net/netfilter/xt_dccp.o
  CC [M]  drivers/mfd/intel_soc_pmic_mrfld.o
  CC [M]  net/netfilter/xt_devgroup.o
  CC [M]  drivers/mfd/rave-sp.o
  CC [M]  drivers/mfd/simple-mfd-i2c.o
  CC [M]  drivers/mfd/smpro-core.o
  CC [M]  net/netfilter/xt_dscp.o
  CC [M]  drivers/mfd/intel-m10-bmc-core.o
  CC [M]  net/netfilter/xt_ecn.o
  CC [M]  net/netfilter/xt_esp.o
  CC [M]  drivers/mfd/intel-m10-bmc-spi.o
  CC [M]  net/netfilter/xt_hashlimit.o
  CC [M]  drivers/mfd/atc260x-core.o
  CC [M]  net/netfilter/xt_helper.o
  CC [M]  drivers/mfd/atc260x-i2c.o
  CC [M]  net/netfilter/xt_hl.o
  CC [M]  net/netfilter/xt_ipcomp.o
  CC [M]  net/netfilter/xt_iprange.o
  CC [M]  net/netfilter/xt_l2tp.o
  CC [M]  net/netfilter/xt_length.o
  CC [M]  net/netfilter/xt_limit.o
  CC [M]  net/netfilter/xt_mac.o
  CC [M]  net/netfilter/xt_multiport.o
  CC [M]  net/netfilter/xt_nfacct.o
  CC [M]  net/netfilter/xt_osf.o
  CC [M]  net/netfilter/xt_owner.o
  CC [M]  net/netfilter/xt_cgroup.o
  CC [M]  net/netfilter/xt_physdev.o
  AR      fs/built-in.a
  CC [M]  net/netfilter/xt_pkttype.o
  CC [M]  net/netfilter/xt_policy.o
  CC [M]  net/netfilter/xt_quota.o
  CC [M]  net/netfilter/xt_rateest.o
  CC [M]  net/netfilter/xt_realm.o
  CC [M]  net/netfilter/xt_recent.o
  CC [M]  net/netfilter/xt_sctp.o
  CC [M]  net/netfilter/xt_socket.o
  CC [M]  net/netfilter/xt_state.o
  CC [M]  net/netfilter/xt_statistic.o
  AR      lib/built-in.a
  CC [M]  net/netfilter/xt_string.o
  CC [M]  net/netfilter/xt_tcpmss.o
  CC [M]  net/netfilter/xt_time.o
  CC [M]  net/netfilter/xt_u32.o
  LD [M]  drivers/mfd/arizona.o
  LD [M]  drivers/mfd/wm8994.o
  LD [M]  drivers/mfd/madera.o
  LD [M]  drivers/mfd/ocelot-soc.o
  LD [M]  drivers/mfd/mt6397.o
  LD [M]  drivers/mfd/si476x-core.o
  AR      drivers/mfd/built-in.a
  LD [M]  net/netfilter/nf_conntrack.o
  LD [M]  net/netfilter/nf_conntrack_h323.o
  LD [M]  net/netfilter/nf_nat.o
  LD [M]  net/netfilter/nf_tables.o
  LD [M]  net/netfilter/nf_flow_table.o
  AR      net/netfilter/built-in.a
make[3]: *** [../scripts/Makefile.build:461: drivers] Error 2
make[3]: *** Waiting for unfinished jobs....
  AR      net/built-in.a
  CC [M]  kernel/kheaders.o
make[2]: *** [/kernel/Makefile:2006: .] Error 2
make[1]: *** [/kernel/Makefile:248: __sub-make] Error 2
make[1]: Leaving directory '/kernel/build64-default'
make: *** [Makefile:248: __sub-make] Error 2
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [RFC] PCI: add CONFIG_MMU dependency
  2025-04-07 10:38 [RFC] PCI: add CONFIG_MMU dependency Arnd Bergmann
                   ` (3 preceding siblings ...)
  2025-04-07 14:23 ` ✗ CI.Build: failure " Patchwork
@ 2025-04-07 16:02 ` Jeff Hugo
  2025-04-07 19:05 ` Martin K. Petersen
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Jeff Hugo @ 2025-04-07 16:02 UTC (permalink / raw)
  To: Arnd Bergmann, Bjorn Helgaas
  Cc: Arnd Bergmann, Carl Vanderlip, Oded Gabbay, Takashi Sakamoto,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Simona Vetter, Alex Deucher, Christian König, Dave Airlie,
	Jocelyn Falempe, Patrik Jakobsson, Xinliang Liu, Tian Tao,
	Xinwei Kong, Sumit Semwal, Yongqin Liu, John Stultz, Sui Jingfeng,
	Lyude Paul, Danilo Krummrich, Gerd Hoffmann, Zack Rusin,
	Broadcom internal kernel review list, Lucas De Marchi,
	Thomas Hellström, Rodrigo Vivi, Andrew Lunn, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Saurav Kashyap,
	Javed Hasan, GR-QLogic-Storage-Upstream, James E.J. Bottomley,
	Martin K. Petersen, Nilesh Javali, Manish Rangankar,
	Alex Williamson, Geert Uytterhoeven, Javier Martinez Canillas,
	Jani Nikula, Mario Limonciello, Thomas Weißschuh, Lijo Lazar,
	Niklas Schnelle, Dmitry Baryshkov, linux-arm-msm, dri-devel,
	linux-kernel, linux1394-devel, amd-gfx, nouveau, virtualization,
	spice-devel, intel-xe, netdev, linux-pci, linux-scsi, kvm

On 4/7/2025 4:38 AM, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> It turns out that there are no platforms that have PCI but don't have an MMU,
> so adding a Kconfig dependency on CONFIG_PCI simplifies build testing kernels
> for those platforms a lot, and avoids a lot of inadvertent build regressions.
> 
> Add a dependency for CONFIG_PCI and remove all the ones for PCI specific
> device drivers that are currently marked not having it.
> 
> Link: https://lore.kernel.org/lkml/a41f1b20-a76c-43d8-8c36-f12744327a54@app.fastmail.com/
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>   drivers/accel/qaic/Kconfig              | 1 -

For qaic:
Acked-by: Jeff Hugo <jeff.hugo@oss.qualcomm.com>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [RFC] PCI: add CONFIG_MMU dependency
  2025-04-07 10:38 [RFC] PCI: add CONFIG_MMU dependency Arnd Bergmann
                   ` (4 preceding siblings ...)
  2025-04-07 16:02 ` [RFC] " Jeff Hugo
@ 2025-04-07 19:05 ` Martin K. Petersen
  2025-04-07 21:17 ` Deucher, Alexander
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Martin K. Petersen @ 2025-04-07 19:05 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Bjorn Helgaas, Arnd Bergmann, Jeff Hugo, Carl Vanderlip,
	Oded Gabbay, Takashi Sakamoto, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Alex Deucher,
	Christian König, Dave Airlie, Jocelyn Falempe,
	Patrik Jakobsson, Xinliang Liu, Tian Tao, Xinwei Kong,
	Sumit Semwal, Yongqin Liu, John Stultz, Sui Jingfeng, Lyude Paul,
	Danilo Krummrich, Gerd Hoffmann, Zack Rusin,
	Broadcom internal kernel review list, Lucas De Marchi,
	Thomas Hellström, Rodrigo Vivi, Andrew Lunn, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Saurav Kashyap,
	Javed Hasan, GR-QLogic-Storage-Upstream, James E.J. Bottomley,
	Martin K. Petersen, Nilesh Javali, Manish Rangankar,
	Alex Williamson, Geert Uytterhoeven, Javier Martinez Canillas,
	Jani Nikula, Mario Limonciello, Thomas Weißschuh, Lijo Lazar,
	Niklas Schnelle, Dmitry Baryshkov, linux-arm-msm, dri-devel,
	linux-kernel, linux1394-devel, amd-gfx, nouveau, virtualization,
	spice-devel, intel-xe, netdev, linux-pci, linux-scsi, kvm


Arnd,

> It turns out that there are no platforms that have PCI but don't have
> an MMU, so adding a Kconfig dependency on CONFIG_PCI simplifies build
> testing kernels for those platforms a lot, and avoids a lot of
> inadvertent build regressions.
>
> Add a dependency for CONFIG_PCI and remove all the ones for PCI
> specific device drivers that are currently marked not having it.

Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> # SCSI

-- 
Martin K. Petersen

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: [RFC] PCI: add CONFIG_MMU dependency
  2025-04-07 10:38 [RFC] PCI: add CONFIG_MMU dependency Arnd Bergmann
                   ` (5 preceding siblings ...)
  2025-04-07 19:05 ` Martin K. Petersen
@ 2025-04-07 21:17 ` Deucher, Alexander
  2025-04-08  7:09 ` Thomas Zimmermann
  2025-04-08 10:22 ` Geert Uytterhoeven
  8 siblings, 0 replies; 11+ messages in thread
From: Deucher, Alexander @ 2025-04-07 21:17 UTC (permalink / raw)
  To: Arnd Bergmann, Bjorn Helgaas
  Cc: Arnd Bergmann, Jeff Hugo, Carl Vanderlip, Oded Gabbay,
	Takashi Sakamoto, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Koenig, Christian,
	Dave Airlie, Jocelyn Falempe, Patrik Jakobsson, Xinliang Liu,
	Tian Tao, Xinwei Kong, Sumit Semwal, Yongqin Liu, John Stultz,
	Sui Jingfeng, Lyude Paul, Danilo Krummrich, Gerd Hoffmann,
	Zack Rusin, Broadcom internal kernel review list, Lucas De Marchi,
	Thomas Hellström, Rodrigo Vivi, Andrew Lunn, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Saurav Kashyap,
	Javed Hasan, GR-QLogic-Storage-Upstream@marvell.com,
	James E.J. Bottomley, Martin K. Petersen, Nilesh Javali,
	Manish Rangankar, Alex Williamson, Geert Uytterhoeven,
	Javier Martinez Canillas, Jani Nikula, Limonciello, Mario,
	Thomas Weißschuh, Lazar, Lijo, Niklas Schnelle,
	Dmitry Baryshkov, linux-arm-msm@vger.kernel.org,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	linux1394-devel@lists.sourceforge.net,
	amd-gfx@lists.freedesktop.org, nouveau@lists.freedesktop.org,
	virtualization@lists.linux.dev, spice-devel@lists.freedesktop.org,
	intel-xe@lists.freedesktop.org, netdev@vger.kernel.org,
	linux-pci@vger.kernel.org, linux-scsi@vger.kernel.org,
	kvm@vger.kernel.org

[Public]

> -----Original Message-----
> From: Arnd Bergmann <arnd@kernel.org>
> Sent: Monday, April 7, 2025 6:38 AM
> To: Bjorn Helgaas <bhelgaas@google.com>
> Cc: Arnd Bergmann <arnd@arndb.de>; Jeff Hugo
> <jeff.hugo@oss.qualcomm.com>; Carl Vanderlip <quic_carlv@quicinc.com>; Oded
> Gabbay <ogabbay@kernel.org>; Takashi Sakamoto <o-takashi@sakamocchi.jp>;
> Maarten Lankhorst <maarten.lankhorst@linux.intel.com>; Maxime Ripard
> <mripard@kernel.org>; Thomas Zimmermann <tzimmermann@suse.de>; David
> Airlie <airlied@gmail.com>; Simona Vetter <simona@ffwll.ch>; Deucher, Alexander
> <Alexander.Deucher@amd.com>; Koenig, Christian
> <Christian.Koenig@amd.com>; Dave Airlie <airlied@redhat.com>; Jocelyn
> Falempe <jfalempe@redhat.com>; Patrik Jakobsson
> <patrik.r.jakobsson@gmail.com>; Xinliang Liu <xinliang.liu@linaro.org>; Tian Tao
> <tiantao6@hisilicon.com>; Xinwei Kong <kong.kongxinwei@hisilicon.com>; Sumit
> Semwal <sumit.semwal@linaro.org>; Yongqin Liu <yongqin.liu@linaro.org>; John
> Stultz <jstultz@google.com>; Sui Jingfeng <suijingfeng@loongson.cn>; Lyude Paul
> <lyude@redhat.com>; Danilo Krummrich <dakr@kernel.org>; Gerd Hoffmann
> <kraxel@redhat.com>; Zack Rusin <zack.rusin@broadcom.com>; Broadcom
> internal kernel review list <bcm-kernel-feedback-list@broadcom.com>; Lucas De
> Marchi <lucas.demarchi@intel.com>; Thomas Hellström
> <thomas.hellstrom@linux.intel.com>; Rodrigo Vivi <rodrigo.vivi@intel.com>;
> Andrew Lunn <andrew+netdev@lunn.ch>; David S. Miller
> <davem@davemloft.net>; Eric Dumazet <edumazet@google.com>; Jakub Kicinski
> <kuba@kernel.org>; Paolo Abeni <pabeni@redhat.com>; Saurav Kashyap
> <skashyap@marvell.com>; Javed Hasan <jhasan@marvell.com>; GR-QLogic-
> Storage-Upstream@marvell.com; James E.J. Bottomley
> <James.Bottomley@HansenPartnership.com>; Martin K. Petersen
> <martin.petersen@oracle.com>; Nilesh Javali <njavali@marvell.com>; Manish
> Rangankar <mrangankar@marvell.com>; Alex Williamson
> <alex.williamson@redhat.com>; Geert Uytterhoeven <geert+renesas@glider.be>;
> Javier Martinez Canillas <javierm@redhat.com>; Jani Nikula
> <jani.nikula@intel.com>; Limonciello, Mario <Mario.Limonciello@amd.com>;
> Thomas Weißschuh <linux@weissschuh.net>; Lazar, Lijo <Lijo.Lazar@amd.com>;
> Niklas Schnelle <schnelle@linux.ibm.com>; Dmitry Baryshkov
> <lumag@kernel.org>; linux-arm-msm@vger.kernel.org; dri-
> devel@lists.freedesktop.org; linux-kernel@vger.kernel.org; linux1394-
> devel@lists.sourceforge.net; amd-gfx@lists.freedesktop.org;
> nouveau@lists.freedesktop.org; virtualization@lists.linux.dev; spice-
> devel@lists.freedesktop.org; intel-xe@lists.freedesktop.org;
> netdev@vger.kernel.org; linux-pci@vger.kernel.org; linux-scsi@vger.kernel.org;
> kvm@vger.kernel.org
> Subject: [RFC] PCI: add CONFIG_MMU dependency
>
> From: Arnd Bergmann <arnd@arndb.de>
>
> It turns out that there are no platforms that have PCI but don't have an MMU, so
> adding a Kconfig dependency on CONFIG_PCI simplifies build testing kernels for
> those platforms a lot, and avoids a lot of inadvertent build regressions.
>
> Add a dependency for CONFIG_PCI and remove all the ones for PCI specific
> device drivers that are currently marked not having it.
>
> Link: https://lore.kernel.org/lkml/a41f1b20-a76c-43d8-8c36-
> f12744327a54@app.fastmail.com/
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

For radeon, amdgpu:
Acked-by: Alex Deucher <alexander.deucher@amd.com>



> ---
>  drivers/accel/qaic/Kconfig              | 1 -
>  drivers/firewire/Kconfig                | 2 +-
>  drivers/gpu/drm/Kconfig                 | 2 +-
>  drivers/gpu/drm/amd/amdgpu/Kconfig      | 3 +--
>  drivers/gpu/drm/ast/Kconfig             | 2 +-
>  drivers/gpu/drm/gma500/Kconfig          | 2 +-
>  drivers/gpu/drm/hisilicon/hibmc/Kconfig | 1 -
>  drivers/gpu/drm/loongson/Kconfig        | 2 +-
>  drivers/gpu/drm/mgag200/Kconfig         | 2 +-
>  drivers/gpu/drm/nouveau/Kconfig         | 3 +--
>  drivers/gpu/drm/qxl/Kconfig             | 2 +-
>  drivers/gpu/drm/radeon/Kconfig          | 2 +-
>  drivers/gpu/drm/tiny/Kconfig            | 2 +-
>  drivers/gpu/drm/vmwgfx/Kconfig          | 2 +-
>  drivers/gpu/drm/xe/Kconfig              | 2 +-
>  drivers/net/ethernet/broadcom/Kconfig   | 1 -
>  drivers/pci/Kconfig                     | 1 +
>  drivers/pci/pci.c                       | 4 ++--
>  drivers/scsi/bnx2fc/Kconfig             | 1 -
>  drivers/scsi/bnx2i/Kconfig              | 1 -
>  drivers/vfio/pci/Kconfig                | 2 +-
>  21 files changed, 17 insertions(+), 23 deletions(-)
>
> diff --git a/drivers/accel/qaic/Kconfig b/drivers/accel/qaic/Kconfig index
> a9f866230058..5e405a19c157 100644
> --- a/drivers/accel/qaic/Kconfig
> +++ b/drivers/accel/qaic/Kconfig
> @@ -8,7 +8,6 @@ config DRM_ACCEL_QAIC
>       depends on DRM_ACCEL
>       depends on PCI && HAS_IOMEM
>       depends on MHI_BUS
> -     depends on MMU
>       select CRC32
>       help
>         Enables driver for Qualcomm's Cloud AI accelerator PCIe cards that are
> diff --git a/drivers/firewire/Kconfig b/drivers/firewire/Kconfig index
> 905c82e26ce7..a5f5e250223a 100644
> --- a/drivers/firewire/Kconfig
> +++ b/drivers/firewire/Kconfig
> @@ -83,7 +83,7 @@ config
> FIREWIRE_KUNIT_SELF_ID_SEQUENCE_HELPER_TEST
>
>  config FIREWIRE_OHCI
>       tristate "OHCI-1394 controllers"
> -     depends on PCI && FIREWIRE && MMU
> +     depends on PCI && FIREWIRE
>       help
>         Enable this driver if you have a FireWire controller based
>         on the OHCI specification.  For all practical purposes, this diff --git
> a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig index
> 2cba2b6ebe1c..6e95d204597e 100644
> --- a/drivers/gpu/drm/Kconfig
> +++ b/drivers/gpu/drm/Kconfig
> @@ -462,7 +462,7 @@ source "drivers/gpu/drm/imagination/Kconfig"
>
>  config DRM_HYPERV
>       tristate "DRM Support for Hyper-V synthetic video device"
> -     depends on DRM && PCI && MMU && HYPERV
> +     depends on DRM && PCI && HYPERV
>       select DRM_CLIENT_SELECTION
>       select DRM_KMS_HELPER
>       select DRM_GEM_SHMEM_HELPER
> diff --git a/drivers/gpu/drm/amd/amdgpu/Kconfig
> b/drivers/gpu/drm/amd/amdgpu/Kconfig
> index 1a11cab741ac..058e3b3ad520 100644
> --- a/drivers/gpu/drm/amd/amdgpu/Kconfig
> +++ b/drivers/gpu/drm/amd/amdgpu/Kconfig
> @@ -2,7 +2,7 @@
>
>  config DRM_AMDGPU
>       tristate "AMD GPU"
> -     depends on DRM && PCI && MMU
> +     depends on DRM && PCI
>       depends on !UML
>       select FW_LOADER
>       select DRM_CLIENT
> @@ -68,7 +68,6 @@ config DRM_AMDGPU_CIK
>  config DRM_AMDGPU_USERPTR
>       bool "Always enable userptr write support"
>       depends on DRM_AMDGPU
> -     depends on MMU
>       select HMM_MIRROR
>       select MMU_NOTIFIER
>       help
> diff --git a/drivers/gpu/drm/ast/Kconfig b/drivers/gpu/drm/ast/Kconfig index
> da0663542e8a..242fbccdf844 100644
> --- a/drivers/gpu/drm/ast/Kconfig
> +++ b/drivers/gpu/drm/ast/Kconfig
> @@ -1,7 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0-only  config DRM_AST
>       tristate "AST server chips"
> -     depends on DRM && PCI && MMU
> +     depends on DRM && PCI
>       select DRM_CLIENT_SELECTION
>       select DRM_GEM_SHMEM_HELPER
>       select DRM_KMS_HELPER
> diff --git a/drivers/gpu/drm/gma500/Kconfig b/drivers/gpu/drm/gma500/Kconfig index
> aa2ea128aa2f..a2acaa699dd5 100644
> --- a/drivers/gpu/drm/gma500/Kconfig
> +++ b/drivers/gpu/drm/gma500/Kconfig
> @@ -1,7 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0-only  config DRM_GMA500
>       tristate "Intel GMA500/600/3600/3650 KMS Framebuffer"
> -     depends on DRM && PCI && X86 && MMU && HAS_IOPORT
> +     depends on DRM && PCI && X86 && HAS_IOPORT
>       select DRM_CLIENT_SELECTION
>       select DRM_KMS_HELPER
>       select FB_IOMEM_HELPERS if DRM_FBDEV_EMULATION diff --git
> a/drivers/gpu/drm/hisilicon/hibmc/Kconfig b/drivers/gpu/drm/hisilicon/hibmc/Kconfig
> index 98d77d74999d..d1f3f5793f34 100644
> --- a/drivers/gpu/drm/hisilicon/hibmc/Kconfig
> +++ b/drivers/gpu/drm/hisilicon/hibmc/Kconfig
> @@ -2,7 +2,6 @@
>  config DRM_HISI_HIBMC
>       tristate "DRM Support for Hisilicon Hibmc"
>       depends on DRM && PCI
> -     depends on MMU
>       select DRM_CLIENT_SELECTION
>       select DRM_DISPLAY_HELPER
>       select DRM_DISPLAY_DP_HELPER
> diff --git a/drivers/gpu/drm/loongson/Kconfig b/drivers/gpu/drm/loongson/Kconfig
> index 552edfec7afb..d739d51cf54c 100644
> --- a/drivers/gpu/drm/loongson/Kconfig
> +++ b/drivers/gpu/drm/loongson/Kconfig
> @@ -2,7 +2,7 @@
>
>  config DRM_LOONGSON
>       tristate "DRM support for Loongson Graphics"
> -     depends on DRM && PCI && MMU
> +     depends on DRM && PCI
>       depends on LOONGARCH || MIPS || COMPILE_TEST
>       select DRM_CLIENT_SELECTION
>       select DRM_KMS_HELPER
> diff --git a/drivers/gpu/drm/mgag200/Kconfig b/drivers/gpu/drm/mgag200/Kconfig
> index 412dcbea0e2d..a962ae564a75 100644
> --- a/drivers/gpu/drm/mgag200/Kconfig
> +++ b/drivers/gpu/drm/mgag200/Kconfig
> @@ -1,7 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0-only  config DRM_MGAG200
>       tristate "Matrox G200"
> -     depends on DRM && PCI && MMU
> +     depends on DRM && PCI
>       select DRM_CLIENT_SELECTION
>       select DRM_GEM_SHMEM_HELPER
>       select DRM_KMS_HELPER
> diff --git a/drivers/gpu/drm/nouveau/Kconfig b/drivers/gpu/drm/nouveau/Kconfig
> index 7b3e979c51ec..d1587639ebb0 100644
> --- a/drivers/gpu/drm/nouveau/Kconfig
> +++ b/drivers/gpu/drm/nouveau/Kconfig
> @@ -1,7 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0-only  config DRM_NOUVEAU
>       tristate "Nouveau (NVIDIA) cards"
> -     depends on DRM && PCI && MMU
> +     depends on DRM && PCI
>       select IOMMU_API
>       select FW_LOADER
>       select FW_CACHE if PM_SLEEP
> @@ -94,7 +94,6 @@ config DRM_NOUVEAU_SVM
>       bool "(EXPERIMENTAL) Enable SVM (Shared Virtual Memory) support"
>       depends on DEVICE_PRIVATE
>       depends on DRM_NOUVEAU
> -     depends on MMU
>       depends on STAGING
>       select HMM_MIRROR
>       select MMU_NOTIFIER
> diff --git a/drivers/gpu/drm/qxl/Kconfig b/drivers/gpu/drm/qxl/Kconfig index
> 69427eb8bed2..d8f24bcae34b 100644
> --- a/drivers/gpu/drm/qxl/Kconfig
> +++ b/drivers/gpu/drm/qxl/Kconfig
> @@ -1,7 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0-only  config DRM_QXL
>       tristate "QXL virtual GPU"
> -     depends on DRM && PCI && MMU && HAS_IOPORT
> +     depends on DRM && PCI && HAS_IOPORT
>       select DRM_CLIENT_SELECTION
>       select DRM_KMS_HELPER
>       select DRM_TTM
> diff --git a/drivers/gpu/drm/radeon/Kconfig b/drivers/gpu/drm/radeon/Kconfig index
> f51bace9555d..c479f0c0dd5c 100644
> --- a/drivers/gpu/drm/radeon/Kconfig
> +++ b/drivers/gpu/drm/radeon/Kconfig
> @@ -2,7 +2,7 @@
>
>  config DRM_RADEON
>       tristate "ATI Radeon"
> -     depends on DRM && PCI && MMU
> +     depends on DRM && PCI
>       depends on AGP || !AGP
>       select FW_LOADER
>       select DRM_CLIENT_SELECTION
> diff --git a/drivers/gpu/drm/tiny/Kconfig b/drivers/gpu/drm/tiny/Kconfig index
> 54c84c9801c1..6ca12fe7f57a 100644
> --- a/drivers/gpu/drm/tiny/Kconfig
> +++ b/drivers/gpu/drm/tiny/Kconfig
> @@ -37,7 +37,7 @@ config DRM_BOCHS
>
>  config DRM_CIRRUS_QEMU
>       tristate "Cirrus driver for QEMU emulated device"
> -     depends on DRM && PCI && MMU
> +     depends on DRM && PCI
>       select DRM_CLIENT_SELECTION
>       select DRM_KMS_HELPER
>       select DRM_GEM_SHMEM_HELPER
> diff --git a/drivers/gpu/drm/vmwgfx/Kconfig b/drivers/gpu/drm/vmwgfx/Kconfig index
> 6c3c2922ae8b..aab646b91ca9 100644
> --- a/drivers/gpu/drm/vmwgfx/Kconfig
> +++ b/drivers/gpu/drm/vmwgfx/Kconfig
> @@ -1,7 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0
>  config DRM_VMWGFX
>       tristate "DRM driver for VMware Virtual GPU"
> -     depends on DRM && PCI && MMU
> +     depends on DRM && PCI
>       depends on (X86 && HYPERVISOR_GUEST) || ARM64
>       select DRM_CLIENT_SELECTION
>       select DRM_TTM
> diff --git a/drivers/gpu/drm/xe/Kconfig b/drivers/gpu/drm/xe/Kconfig index
> 5c2f459a2925..2dec62737ff6 100644
> --- a/drivers/gpu/drm/xe/Kconfig
> +++ b/drivers/gpu/drm/xe/Kconfig
> @@ -1,7 +1,7 @@
>  # SPDX-License-Identifier: GPL-2.0-only  config DRM_XE
>       tristate "Intel Xe Graphics"
> -     depends on DRM && PCI && MMU && (m || (y && KUNIT=y))
> +     depends on DRM && PCI && (m || (y && KUNIT=y))
>       select INTERVAL_TREE
>       # we need shmfs for the swappable backing store, and in particular
>       # the shmem_readpage() which depends upon tmpfs diff --git
> a/drivers/net/ethernet/broadcom/Kconfig b/drivers/net/ethernet/broadcom/Kconfig
> index eeec8bf17cf4..aa43984a05cf 100644
> --- a/drivers/net/ethernet/broadcom/Kconfig
> +++ b/drivers/net/ethernet/broadcom/Kconfig
> @@ -96,7 +96,6 @@ config BNX2
>  config CNIC
>       tristate "QLogic CNIC support"
>       depends on PCI && (IPV6 || IPV6=n)
> -     depends on MMU
>       select BNX2
>       select UIO
>       help
> diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig index
> da28295b4aac..9c0e4aaf4e8c 100644
> --- a/drivers/pci/Kconfig
> +++ b/drivers/pci/Kconfig
> @@ -21,6 +21,7 @@ config GENERIC_PCI_IOMAP  menuconfig PCI
>       bool "PCI support"
>       depends on HAVE_PCI
> +     depends on MMU
>       help
>         This option enables support for the PCI local bus, including
>         support for PCI-X and the foundations for PCI Express support.
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 4d7c9f64ea24..60a20a0ac41f
> 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -4257,7 +4257,7 @@ unsigned long __weak pci_address_to_pio(phys_addr_t
> address)  #ifndef pci_remap_iospace  int pci_remap_iospace(const struct resource
> *res, phys_addr_t phys_addr)  { -#if defined(PCI_IOBASE) &&
> defined(CONFIG_MMU)
> +#if defined(PCI_IOBASE)
>       unsigned long vaddr = (unsigned long)PCI_IOBASE + res->start;
>
>       if (!(res->flags & IORESOURCE_IO))
> @@ -4290,7 +4290,7 @@ EXPORT_SYMBOL(pci_remap_iospace);
>   */
>  void pci_unmap_iospace(struct resource *res)  { -#if defined(PCI_IOBASE) &&
> defined(CONFIG_MMU)
> +#if defined(PCI_IOBASE)
>       unsigned long vaddr = (unsigned long)PCI_IOBASE + res->start;
>
>       vunmap_range(vaddr, vaddr + resource_size(res)); diff --git
> a/drivers/scsi/bnx2fc/Kconfig b/drivers/scsi/bnx2fc/Kconfig index
> ecdc0f0f4f4e..3cf7e08df809 100644
> --- a/drivers/scsi/bnx2fc/Kconfig
> +++ b/drivers/scsi/bnx2fc/Kconfig
> @@ -5,7 +5,6 @@ config SCSI_BNX2X_FCOE
>       depends on (IPV6 || IPV6=n)
>       depends on LIBFC
>       depends on LIBFCOE
> -     depends on MMU
>       select NETDEVICES
>       select ETHERNET
>       select NET_VENDOR_BROADCOM
> diff --git a/drivers/scsi/bnx2i/Kconfig b/drivers/scsi/bnx2i/Kconfig index
> 0cc06c2ce0b8..75ace2302fed 100644
> --- a/drivers/scsi/bnx2i/Kconfig
> +++ b/drivers/scsi/bnx2i/Kconfig
> @@ -4,7 +4,6 @@ config SCSI_BNX2_ISCSI
>       depends on NET
>       depends on PCI
>       depends on (IPV6 || IPV6=n)
> -     depends on MMU
>       select SCSI_ISCSI_ATTRS
>       select NETDEVICES
>       select ETHERNET
> diff --git a/drivers/vfio/pci/Kconfig b/drivers/vfio/pci/Kconfig index
> c3bcb6911c53..2b0172f54665 100644
> --- a/drivers/vfio/pci/Kconfig
> +++ b/drivers/vfio/pci/Kconfig
> @@ -1,6 +1,6 @@
>  # SPDX-License-Identifier: GPL-2.0-only  menu "VFIO support for PCI devices"
> -     depends on PCI && MMU
> +     depends on PCI
>
>  config VFIO_PCI_CORE
>       tristate
> --
> 2.39.5


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [RFC] PCI: add CONFIG_MMU dependency
  2025-04-07 10:38 [RFC] PCI: add CONFIG_MMU dependency Arnd Bergmann
                   ` (6 preceding siblings ...)
  2025-04-07 21:17 ` Deucher, Alexander
@ 2025-04-08  7:09 ` Thomas Zimmermann
  2025-04-08 10:22 ` Geert Uytterhoeven
  8 siblings, 0 replies; 11+ messages in thread
From: Thomas Zimmermann @ 2025-04-08  7:09 UTC (permalink / raw)
  To: Arnd Bergmann, Bjorn Helgaas
  Cc: Arnd Bergmann, Jeff Hugo, Carl Vanderlip, Oded Gabbay,
	Takashi Sakamoto, Maarten Lankhorst, Maxime Ripard, David Airlie,
	Simona Vetter, Alex Deucher, Christian König, Dave Airlie,
	Jocelyn Falempe, Patrik Jakobsson, Xinliang Liu, Tian Tao,
	Xinwei Kong, Sumit Semwal, Yongqin Liu, John Stultz, Sui Jingfeng,
	Lyude Paul, Danilo Krummrich, Gerd Hoffmann, Zack Rusin,
	Broadcom internal kernel review list, Lucas De Marchi,
	Thomas Hellström, Rodrigo Vivi, Andrew Lunn, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Saurav Kashyap,
	Javed Hasan, GR-QLogic-Storage-Upstream, James E.J. Bottomley,
	Martin K. Petersen, Nilesh Javali, Manish Rangankar,
	Alex Williamson, Geert Uytterhoeven, Javier Martinez Canillas,
	Jani Nikula, Mario Limonciello, Thomas Weißschuh, Lijo Lazar,
	Niklas Schnelle, Dmitry Baryshkov, linux-arm-msm, dri-devel,
	linux-kernel, linux1394-devel, amd-gfx, nouveau, virtualization,
	spice-devel, intel-xe, netdev, linux-pci, linux-scsi, kvm



Am 07.04.25 um 12:38 schrieb Arnd Bergmann:
> From: Arnd Bergmann <arnd@arndb.de>
>
> It turns out that there are no platforms that have PCI but don't have an MMU,
> so adding a Kconfig dependency on CONFIG_PCI simplifies build testing kernels
> for those platforms a lot, and avoids a lot of inadvertent build regressions.
>
> Add a dependency for CONFIG_PCI and remove all the ones for PCI specific
> device drivers that are currently marked not having it.
>
> Link: https://lore.kernel.org/lkml/a41f1b20-a76c-43d8-8c36-f12744327a54@app.fastmail.com/
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

For gpu/drm/

Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>

> ---
>   drivers/accel/qaic/Kconfig              | 1 -
>   drivers/firewire/Kconfig                | 2 +-
>   drivers/gpu/drm/Kconfig                 | 2 +-
>   drivers/gpu/drm/amd/amdgpu/Kconfig      | 3 +--
>   drivers/gpu/drm/ast/Kconfig             | 2 +-
>   drivers/gpu/drm/gma500/Kconfig          | 2 +-
>   drivers/gpu/drm/hisilicon/hibmc/Kconfig | 1 -
>   drivers/gpu/drm/loongson/Kconfig        | 2 +-
>   drivers/gpu/drm/mgag200/Kconfig         | 2 +-
>   drivers/gpu/drm/nouveau/Kconfig         | 3 +--
>   drivers/gpu/drm/qxl/Kconfig             | 2 +-
>   drivers/gpu/drm/radeon/Kconfig          | 2 +-
>   drivers/gpu/drm/tiny/Kconfig            | 2 +-
>   drivers/gpu/drm/vmwgfx/Kconfig          | 2 +-
>   drivers/gpu/drm/xe/Kconfig              | 2 +-
>   drivers/net/ethernet/broadcom/Kconfig   | 1 -
>   drivers/pci/Kconfig                     | 1 +
>   drivers/pci/pci.c                       | 4 ++--
>   drivers/scsi/bnx2fc/Kconfig             | 1 -
>   drivers/scsi/bnx2i/Kconfig              | 1 -
>   drivers/vfio/pci/Kconfig                | 2 +-
>   21 files changed, 17 insertions(+), 23 deletions(-)
>
> diff --git a/drivers/accel/qaic/Kconfig b/drivers/accel/qaic/Kconfig
> index a9f866230058..5e405a19c157 100644
> --- a/drivers/accel/qaic/Kconfig
> +++ b/drivers/accel/qaic/Kconfig
> @@ -8,7 +8,6 @@ config DRM_ACCEL_QAIC
>   	depends on DRM_ACCEL
>   	depends on PCI && HAS_IOMEM
>   	depends on MHI_BUS
> -	depends on MMU
>   	select CRC32
>   	help
>   	  Enables driver for Qualcomm's Cloud AI accelerator PCIe cards that are
> diff --git a/drivers/firewire/Kconfig b/drivers/firewire/Kconfig
> index 905c82e26ce7..a5f5e250223a 100644
> --- a/drivers/firewire/Kconfig
> +++ b/drivers/firewire/Kconfig
> @@ -83,7 +83,7 @@ config FIREWIRE_KUNIT_SELF_ID_SEQUENCE_HELPER_TEST
>   
>   config FIREWIRE_OHCI
>   	tristate "OHCI-1394 controllers"
> -	depends on PCI && FIREWIRE && MMU
> +	depends on PCI && FIREWIRE
>   	help
>   	  Enable this driver if you have a FireWire controller based
>   	  on the OHCI specification.  For all practical purposes, this
> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
> index 2cba2b6ebe1c..6e95d204597e 100644
> --- a/drivers/gpu/drm/Kconfig
> +++ b/drivers/gpu/drm/Kconfig
> @@ -462,7 +462,7 @@ source "drivers/gpu/drm/imagination/Kconfig"
>   
>   config DRM_HYPERV
>   	tristate "DRM Support for Hyper-V synthetic video device"
> -	depends on DRM && PCI && MMU && HYPERV
> +	depends on DRM && PCI && HYPERV
>   	select DRM_CLIENT_SELECTION
>   	select DRM_KMS_HELPER
>   	select DRM_GEM_SHMEM_HELPER
> diff --git a/drivers/gpu/drm/amd/amdgpu/Kconfig b/drivers/gpu/drm/amd/amdgpu/Kconfig
> index 1a11cab741ac..058e3b3ad520 100644
> --- a/drivers/gpu/drm/amd/amdgpu/Kconfig
> +++ b/drivers/gpu/drm/amd/amdgpu/Kconfig
> @@ -2,7 +2,7 @@
>   
>   config DRM_AMDGPU
>   	tristate "AMD GPU"
> -	depends on DRM && PCI && MMU
> +	depends on DRM && PCI
>   	depends on !UML
>   	select FW_LOADER
>   	select DRM_CLIENT
> @@ -68,7 +68,6 @@ config DRM_AMDGPU_CIK
>   config DRM_AMDGPU_USERPTR
>   	bool "Always enable userptr write support"
>   	depends on DRM_AMDGPU
> -	depends on MMU
>   	select HMM_MIRROR
>   	select MMU_NOTIFIER
>   	help
> diff --git a/drivers/gpu/drm/ast/Kconfig b/drivers/gpu/drm/ast/Kconfig
> index da0663542e8a..242fbccdf844 100644
> --- a/drivers/gpu/drm/ast/Kconfig
> +++ b/drivers/gpu/drm/ast/Kconfig
> @@ -1,7 +1,7 @@
>   # SPDX-License-Identifier: GPL-2.0-only
>   config DRM_AST
>   	tristate "AST server chips"
> -	depends on DRM && PCI && MMU
> +	depends on DRM && PCI
>   	select DRM_CLIENT_SELECTION
>   	select DRM_GEM_SHMEM_HELPER
>   	select DRM_KMS_HELPER
> diff --git a/drivers/gpu/drm/gma500/Kconfig b/drivers/gpu/drm/gma500/Kconfig
> index aa2ea128aa2f..a2acaa699dd5 100644
> --- a/drivers/gpu/drm/gma500/Kconfig
> +++ b/drivers/gpu/drm/gma500/Kconfig
> @@ -1,7 +1,7 @@
>   # SPDX-License-Identifier: GPL-2.0-only
>   config DRM_GMA500
>   	tristate "Intel GMA500/600/3600/3650 KMS Framebuffer"
> -	depends on DRM && PCI && X86 && MMU && HAS_IOPORT
> +	depends on DRM && PCI && X86 && HAS_IOPORT
>   	select DRM_CLIENT_SELECTION
>   	select DRM_KMS_HELPER
>   	select FB_IOMEM_HELPERS if DRM_FBDEV_EMULATION
> diff --git a/drivers/gpu/drm/hisilicon/hibmc/Kconfig b/drivers/gpu/drm/hisilicon/hibmc/Kconfig
> index 98d77d74999d..d1f3f5793f34 100644
> --- a/drivers/gpu/drm/hisilicon/hibmc/Kconfig
> +++ b/drivers/gpu/drm/hisilicon/hibmc/Kconfig
> @@ -2,7 +2,6 @@
>   config DRM_HISI_HIBMC
>   	tristate "DRM Support for Hisilicon Hibmc"
>   	depends on DRM && PCI
> -	depends on MMU
>   	select DRM_CLIENT_SELECTION
>   	select DRM_DISPLAY_HELPER
>   	select DRM_DISPLAY_DP_HELPER
> diff --git a/drivers/gpu/drm/loongson/Kconfig b/drivers/gpu/drm/loongson/Kconfig
> index 552edfec7afb..d739d51cf54c 100644
> --- a/drivers/gpu/drm/loongson/Kconfig
> +++ b/drivers/gpu/drm/loongson/Kconfig
> @@ -2,7 +2,7 @@
>   
>   config DRM_LOONGSON
>   	tristate "DRM support for Loongson Graphics"
> -	depends on DRM && PCI && MMU
> +	depends on DRM && PCI
>   	depends on LOONGARCH || MIPS || COMPILE_TEST
>   	select DRM_CLIENT_SELECTION
>   	select DRM_KMS_HELPER
> diff --git a/drivers/gpu/drm/mgag200/Kconfig b/drivers/gpu/drm/mgag200/Kconfig
> index 412dcbea0e2d..a962ae564a75 100644
> --- a/drivers/gpu/drm/mgag200/Kconfig
> +++ b/drivers/gpu/drm/mgag200/Kconfig
> @@ -1,7 +1,7 @@
>   # SPDX-License-Identifier: GPL-2.0-only
>   config DRM_MGAG200
>   	tristate "Matrox G200"
> -	depends on DRM && PCI && MMU
> +	depends on DRM && PCI
>   	select DRM_CLIENT_SELECTION
>   	select DRM_GEM_SHMEM_HELPER
>   	select DRM_KMS_HELPER
> diff --git a/drivers/gpu/drm/nouveau/Kconfig b/drivers/gpu/drm/nouveau/Kconfig
> index 7b3e979c51ec..d1587639ebb0 100644
> --- a/drivers/gpu/drm/nouveau/Kconfig
> +++ b/drivers/gpu/drm/nouveau/Kconfig
> @@ -1,7 +1,7 @@
>   # SPDX-License-Identifier: GPL-2.0-only
>   config DRM_NOUVEAU
>   	tristate "Nouveau (NVIDIA) cards"
> -	depends on DRM && PCI && MMU
> +	depends on DRM && PCI
>   	select IOMMU_API
>   	select FW_LOADER
>   	select FW_CACHE if PM_SLEEP
> @@ -94,7 +94,6 @@ config DRM_NOUVEAU_SVM
>   	bool "(EXPERIMENTAL) Enable SVM (Shared Virtual Memory) support"
>   	depends on DEVICE_PRIVATE
>   	depends on DRM_NOUVEAU
> -	depends on MMU
>   	depends on STAGING
>   	select HMM_MIRROR
>   	select MMU_NOTIFIER
> diff --git a/drivers/gpu/drm/qxl/Kconfig b/drivers/gpu/drm/qxl/Kconfig
> index 69427eb8bed2..d8f24bcae34b 100644
> --- a/drivers/gpu/drm/qxl/Kconfig
> +++ b/drivers/gpu/drm/qxl/Kconfig
> @@ -1,7 +1,7 @@
>   # SPDX-License-Identifier: GPL-2.0-only
>   config DRM_QXL
>   	tristate "QXL virtual GPU"
> -	depends on DRM && PCI && MMU && HAS_IOPORT
> +	depends on DRM && PCI && HAS_IOPORT
>   	select DRM_CLIENT_SELECTION
>   	select DRM_KMS_HELPER
>   	select DRM_TTM
> diff --git a/drivers/gpu/drm/radeon/Kconfig b/drivers/gpu/drm/radeon/Kconfig
> index f51bace9555d..c479f0c0dd5c 100644
> --- a/drivers/gpu/drm/radeon/Kconfig
> +++ b/drivers/gpu/drm/radeon/Kconfig
> @@ -2,7 +2,7 @@
>   
>   config DRM_RADEON
>   	tristate "ATI Radeon"
> -	depends on DRM && PCI && MMU
> +	depends on DRM && PCI
>   	depends on AGP || !AGP
>   	select FW_LOADER
>   	select DRM_CLIENT_SELECTION
> diff --git a/drivers/gpu/drm/tiny/Kconfig b/drivers/gpu/drm/tiny/Kconfig
> index 54c84c9801c1..6ca12fe7f57a 100644
> --- a/drivers/gpu/drm/tiny/Kconfig
> +++ b/drivers/gpu/drm/tiny/Kconfig
> @@ -37,7 +37,7 @@ config DRM_BOCHS
>   
>   config DRM_CIRRUS_QEMU
>   	tristate "Cirrus driver for QEMU emulated device"
> -	depends on DRM && PCI && MMU
> +	depends on DRM && PCI
>   	select DRM_CLIENT_SELECTION
>   	select DRM_KMS_HELPER
>   	select DRM_GEM_SHMEM_HELPER
> diff --git a/drivers/gpu/drm/vmwgfx/Kconfig b/drivers/gpu/drm/vmwgfx/Kconfig
> index 6c3c2922ae8b..aab646b91ca9 100644
> --- a/drivers/gpu/drm/vmwgfx/Kconfig
> +++ b/drivers/gpu/drm/vmwgfx/Kconfig
> @@ -1,7 +1,7 @@
>   # SPDX-License-Identifier: GPL-2.0
>   config DRM_VMWGFX
>   	tristate "DRM driver for VMware Virtual GPU"
> -	depends on DRM && PCI && MMU
> +	depends on DRM && PCI
>   	depends on (X86 && HYPERVISOR_GUEST) || ARM64
>   	select DRM_CLIENT_SELECTION
>   	select DRM_TTM
> diff --git a/drivers/gpu/drm/xe/Kconfig b/drivers/gpu/drm/xe/Kconfig
> index 5c2f459a2925..2dec62737ff6 100644
> --- a/drivers/gpu/drm/xe/Kconfig
> +++ b/drivers/gpu/drm/xe/Kconfig
> @@ -1,7 +1,7 @@
>   # SPDX-License-Identifier: GPL-2.0-only
>   config DRM_XE
>   	tristate "Intel Xe Graphics"
> -	depends on DRM && PCI && MMU && (m || (y && KUNIT=y))
> +	depends on DRM && PCI && (m || (y && KUNIT=y))
>   	select INTERVAL_TREE
>   	# we need shmfs for the swappable backing store, and in particular
>   	# the shmem_readpage() which depends upon tmpfs
> diff --git a/drivers/net/ethernet/broadcom/Kconfig b/drivers/net/ethernet/broadcom/Kconfig
> index eeec8bf17cf4..aa43984a05cf 100644
> --- a/drivers/net/ethernet/broadcom/Kconfig
> +++ b/drivers/net/ethernet/broadcom/Kconfig
> @@ -96,7 +96,6 @@ config BNX2
>   config CNIC
>   	tristate "QLogic CNIC support"
>   	depends on PCI && (IPV6 || IPV6=n)
> -	depends on MMU
>   	select BNX2
>   	select UIO
>   	help
> diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
> index da28295b4aac..9c0e4aaf4e8c 100644
> --- a/drivers/pci/Kconfig
> +++ b/drivers/pci/Kconfig
> @@ -21,6 +21,7 @@ config GENERIC_PCI_IOMAP
>   menuconfig PCI
>   	bool "PCI support"
>   	depends on HAVE_PCI
> +	depends on MMU
>   	help
>   	  This option enables support for the PCI local bus, including
>   	  support for PCI-X and the foundations for PCI Express support.
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> index 4d7c9f64ea24..60a20a0ac41f 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -4257,7 +4257,7 @@ unsigned long __weak pci_address_to_pio(phys_addr_t address)
>   #ifndef pci_remap_iospace
>   int pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr)
>   {
> -#if defined(PCI_IOBASE) && defined(CONFIG_MMU)
> +#if defined(PCI_IOBASE)
>   	unsigned long vaddr = (unsigned long)PCI_IOBASE + res->start;
>   
>   	if (!(res->flags & IORESOURCE_IO))
> @@ -4290,7 +4290,7 @@ EXPORT_SYMBOL(pci_remap_iospace);
>    */
>   void pci_unmap_iospace(struct resource *res)
>   {
> -#if defined(PCI_IOBASE) && defined(CONFIG_MMU)
> +#if defined(PCI_IOBASE)
>   	unsigned long vaddr = (unsigned long)PCI_IOBASE + res->start;
>   
>   	vunmap_range(vaddr, vaddr + resource_size(res));
> diff --git a/drivers/scsi/bnx2fc/Kconfig b/drivers/scsi/bnx2fc/Kconfig
> index ecdc0f0f4f4e..3cf7e08df809 100644
> --- a/drivers/scsi/bnx2fc/Kconfig
> +++ b/drivers/scsi/bnx2fc/Kconfig
> @@ -5,7 +5,6 @@ config SCSI_BNX2X_FCOE
>   	depends on (IPV6 || IPV6=n)
>   	depends on LIBFC
>   	depends on LIBFCOE
> -	depends on MMU
>   	select NETDEVICES
>   	select ETHERNET
>   	select NET_VENDOR_BROADCOM
> diff --git a/drivers/scsi/bnx2i/Kconfig b/drivers/scsi/bnx2i/Kconfig
> index 0cc06c2ce0b8..75ace2302fed 100644
> --- a/drivers/scsi/bnx2i/Kconfig
> +++ b/drivers/scsi/bnx2i/Kconfig
> @@ -4,7 +4,6 @@ config SCSI_BNX2_ISCSI
>   	depends on NET
>   	depends on PCI
>   	depends on (IPV6 || IPV6=n)
> -	depends on MMU
>   	select SCSI_ISCSI_ATTRS
>   	select NETDEVICES
>   	select ETHERNET
> diff --git a/drivers/vfio/pci/Kconfig b/drivers/vfio/pci/Kconfig
> index c3bcb6911c53..2b0172f54665 100644
> --- a/drivers/vfio/pci/Kconfig
> +++ b/drivers/vfio/pci/Kconfig
> @@ -1,6 +1,6 @@
>   # SPDX-License-Identifier: GPL-2.0-only
>   menu "VFIO support for PCI devices"
> -	depends on PCI && MMU
> +	depends on PCI
>   
>   config VFIO_PCI_CORE
>   	tristate

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [RFC] PCI: add CONFIG_MMU dependency
  2025-04-07 10:38 [RFC] PCI: add CONFIG_MMU dependency Arnd Bergmann
                   ` (7 preceding siblings ...)
  2025-04-08  7:09 ` Thomas Zimmermann
@ 2025-04-08 10:22 ` Geert Uytterhoeven
  2025-04-08 12:37   ` Arnd Bergmann
  8 siblings, 1 reply; 11+ messages in thread
From: Geert Uytterhoeven @ 2025-04-08 10:22 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Bjorn Helgaas, Arnd Bergmann, Jeff Hugo, Carl Vanderlip,
	Oded Gabbay, Takashi Sakamoto, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Alex Deucher,
	Christian König, Dave Airlie, Jocelyn Falempe,
	Patrik Jakobsson, Xinliang Liu, Tian Tao, Xinwei Kong,
	Sumit Semwal, Yongqin Liu, John Stultz, Sui Jingfeng, Lyude Paul,
	Danilo Krummrich, Gerd Hoffmann, Zack Rusin,
	Broadcom internal kernel review list, Lucas De Marchi,
	Thomas Hellström, Rodrigo Vivi, Andrew Lunn, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Saurav Kashyap,
	Javed Hasan, GR-QLogic-Storage-Upstream, James E.J. Bottomley,
	Martin K. Petersen, Nilesh Javali, Manish Rangankar,
	Alex Williamson, Geert Uytterhoeven, Javier Martinez Canillas,
	Jani Nikula, Mario Limonciello, Thomas Weißschuh, Lijo Lazar,
	Niklas Schnelle, Dmitry Baryshkov, linux-arm-msm, dri-devel,
	linux-kernel, linux1394-devel, amd-gfx, nouveau, virtualization,
	spice-devel, intel-xe, netdev, linux-pci, linux-scsi, kvm,
	Greg Ungerer

Hi Arnd,

CC Gerg

On Mon, 7 Apr 2025 at 12:40, Arnd Bergmann <arnd@kernel.org> wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> It turns out that there are no platforms that have PCI but don't have an MMU,
> so adding a Kconfig dependency on CONFIG_PCI simplifies build testing kernels
> for those platforms a lot, and avoids a lot of inadvertent build regressions.
>
> Add a dependency for CONFIG_PCI and remove all the ones for PCI specific
> device drivers that are currently marked not having it.
>
> Link: https://lore.kernel.org/lkml/a41f1b20-a76c-43d8-8c36-f12744327a54@app.fastmail.com/
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Thanks for your patch!

> --- a/drivers/pci/Kconfig
> +++ b/drivers/pci/Kconfig
> @@ -21,6 +21,7 @@ config GENERIC_PCI_IOMAP
>  menuconfig PCI
>         bool "PCI support"
>         depends on HAVE_PCI
> +       depends on MMU
>         help
>           This option enables support for the PCI local bus, including
>           support for PCI-X and the foundations for PCI Express support.

While having an MMU is a hardware feature, I consider disabling MMU
support software configuration.  So this change prevents people from
disabling MMU support on a system that has both a PCI bus and an MMU.
But other people may not agree, or care?

Gr{oetje,eeting}s,

                        Geert


--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [RFC] PCI: add CONFIG_MMU dependency
  2025-04-08 10:22 ` Geert Uytterhoeven
@ 2025-04-08 12:37   ` Arnd Bergmann
  0 siblings, 0 replies; 11+ messages in thread
From: Arnd Bergmann @ 2025-04-08 12:37 UTC (permalink / raw)
  To: Geert Uytterhoeven, Arnd Bergmann
  Cc: Bjorn Helgaas, Jeff Hugo, Carl Vanderlip, Oded Gabbay,
	Takashi Sakamoto, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, Dave Airlie, Simona Vetter, Alex Deucher,
	Christian König, Dave Airlie, Jocelyn Falempe,
	Patrik Jakobsson, Xinliang Liu, Tian Tao, Xinwei Kong,
	Sumit Semwal, Yongqin Liu, John Stultz, Sui Jingfeng, Lyude Paul,
	Danilo Krummrich, Gerd Hoffmann, Zack Rusin,
	Broadcom internal kernel review list, Lucas De Marchi,
	Thomas Hellström, Rodrigo Vivi, Andrew Lunn,
	David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Saurav Kashyap, Javed Hasan, GR-QLogic-Storage-Upstream,
	James E . J . Bottomley, Martin K. Petersen, Nilesh Javali,
	Manish Rangankar, Alex Williamson, Geert Uytterhoeven,
	Javier Martinez Canillas, Jani Nikula, Mario Limonciello,
	Thomas Weißschuh, Lijo Lazar, Niklas Schnelle,
	Dmitry Baryshkov, linux-arm-msm, dri-devel, linux-kernel,
	linux1394-devel, amd-gfx, nouveau@lists.freedesktop.org,
	virtualization, spice-devel, intel-xe, Netdev, linux-pci,
	linux-scsi, kvm, Greg Ungerer

On Tue, Apr 8, 2025, at 12:22, Geert Uytterhoeven wrote:
> On Mon, 7 Apr 2025 at 12:40, Arnd Bergmann <arnd@kernel.org> wrote:
>
>> --- a/drivers/pci/Kconfig
>> +++ b/drivers/pci/Kconfig
>> @@ -21,6 +21,7 @@ config GENERIC_PCI_IOMAP
>>  menuconfig PCI
>>         bool "PCI support"
>>         depends on HAVE_PCI
>> +       depends on MMU
>>         help
>>           This option enables support for the PCI local bus, including
>>           support for PCI-X and the foundations for PCI Express support.
>
> While having an MMU is a hardware feature, I consider disabling MMU
> support software configuration.  So this change prevents people from
> disabling MMU support on a system that has both a PCI bus and an MMU.
> But other people may not agree, or care?

I created this patch after Greg said that the coldfire-v4 chips
that have an MMU are not really used without it any more, and
I had accidentally only build tested a patch without CONFIG_MMU.

On ARM, CONFIG_MMU can no longer be disabled on CPUs that have
one, this was a side-effect of the ARCH_MULTIPLATFORM conversion.

I just tried building an SH7751 kernel with MMU disabled but PCI
enable. This produces build errors in several files, clearly nobody
has tried this in a long time.

I'm not entirely sure about xtensa, but it seems that PCI is
only supported on the "virt" platform, which in turn cannot
turn off MMU, even if there are other platforms that can build
with out without MMU enabled.

     Arnd

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2025-04-08 12:37 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-07 10:38 [RFC] PCI: add CONFIG_MMU dependency Arnd Bergmann
2025-04-07 14:18 ` ✓ CI.Patch_applied: success for " Patchwork
2025-04-07 14:18 ` ✗ CI.checkpatch: warning " Patchwork
2025-04-07 14:19 ` ✓ CI.KUnit: success " Patchwork
2025-04-07 14:23 ` ✗ CI.Build: failure " Patchwork
2025-04-07 16:02 ` [RFC] " Jeff Hugo
2025-04-07 19:05 ` Martin K. Petersen
2025-04-07 21:17 ` Deucher, Alexander
2025-04-08  7:09 ` Thomas Zimmermann
2025-04-08 10:22 ` Geert Uytterhoeven
2025-04-08 12:37   ` Arnd Bergmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.