amd-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 0/5] Add support for getting EDID over ACPI to DRM
@ 2024-02-14 21:57 Mario Limonciello
  2024-02-14 21:57 ` [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers Mario Limonciello
                   ` (4 more replies)
  0 siblings, 5 replies; 26+ messages in thread
From: Mario Limonciello @ 2024-02-14 21:57 UTC (permalink / raw)
  To: Daniel Vetter, Jani Nikula, Alex Deucher, Hans de Goede,
	open list:DRM DRIVERS
  Cc: amd-gfx, open list:USB SUBSYSTEM, linux-fbdev, nouveau,
	intel-gfx, platform-driver-x86, intel-xe, linux-renesas-soc,
	open list:ACPI, open list, Melissa Wen, Mark Pearson,
	Mario Limonciello

This series adds the ability to fetch the EDID through ACPI for laptop
panels. Drivers need to opt into the behavior.

In this series it's enabled by default for all eDP or LVDS panels with
AMDGPU and certain panels for Nouveau.

Mario Limonciello (5):
  drm: Stop using `select ACPI_VIDEO` in all drivers
  drm: Stop using `select BACKLIGHT_CLASS_DEVICE`
  drm: Add support to get EDID from ACPI
  drm/amd: Fetch the EDID from _DDC if available for eDP
  drm/nouveau: Use drm_edid_read_acpi() helper

 drivers/gpu/drm/Kconfig                       |   1 +
 drivers/gpu/drm/amd/amdgpu/Kconfig            |   9 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu.h           |   1 +
 .../gpu/drm/amd/amdgpu/amdgpu_connectors.c    |   3 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c       |   8 ++
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |   4 +-
 .../amd/display/amdgpu_dm/amdgpu_dm_helpers.c |   2 +
 drivers/gpu/drm/bridge/Kconfig                |   2 +-
 drivers/gpu/drm/drm_edid.c                    | 109 ++++++++++++++++--
 drivers/gpu/drm/fsl-dcu/Kconfig               |   2 +-
 drivers/gpu/drm/gma500/Kconfig                |   7 +-
 drivers/gpu/drm/gud/Kconfig                   |   2 +-
 drivers/gpu/drm/i915/Kconfig                  |   9 +-
 drivers/gpu/drm/nouveau/Kconfig               |   9 +-
 drivers/gpu/drm/nouveau/nouveau_acpi.c        |  27 -----
 drivers/gpu/drm/nouveau/nouveau_acpi.h        |   2 -
 drivers/gpu/drm/nouveau/nouveau_connector.c   |  35 +++---
 drivers/gpu/drm/radeon/Kconfig                |   9 +-
 drivers/gpu/drm/renesas/shmobile/Kconfig      |   2 +-
 drivers/gpu/drm/solomon/Kconfig               |   2 +-
 drivers/gpu/drm/tilcdc/Kconfig                |   2 +-
 drivers/gpu/drm/tiny/Kconfig                  |  14 +--
 drivers/gpu/drm/xe/Kconfig                    |   8 +-
 drivers/platform/loongarch/Kconfig            |   2 +-
 drivers/platform/x86/Kconfig                  |   4 +-
 drivers/staging/olpc_dcon/Kconfig             |   2 +-
 drivers/usb/misc/Kconfig                      |   2 +-
 drivers/video/fbdev/core/Kconfig              |   2 +-
 include/drm/drm_connector.h                   |   6 +
 include/drm/drm_edid.h                        |   1 +
 30 files changed, 165 insertions(+), 123 deletions(-)

-- 
2.34.1


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

* [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
  2024-02-14 21:57 [PATCH v6 0/5] Add support for getting EDID over ACPI to DRM Mario Limonciello
@ 2024-02-14 21:57 ` Mario Limonciello
  2024-02-15 20:47   ` kernel test robot
                     ` (12 more replies)
  2024-02-14 21:57 ` [PATCH v6 2/5] drm: Stop using `select BACKLIGHT_CLASS_DEVICE` Mario Limonciello
                   ` (3 subsequent siblings)
  4 siblings, 13 replies; 26+ messages in thread
From: Mario Limonciello @ 2024-02-14 21:57 UTC (permalink / raw)
  To: Daniel Vetter, Jani Nikula, Alex Deucher, Hans de Goede,
	open list:DRM DRIVERS
  Cc: amd-gfx, open list:USB SUBSYSTEM, linux-fbdev, nouveau,
	intel-gfx, platform-driver-x86, intel-xe, linux-renesas-soc,
	open list:ACPI, open list, Melissa Wen, Mark Pearson,
	Mario Limonciello

Many DRM drivers (ab)use `select ACPI_VIDEO` and to avoid problems
will then select all the dependencies for ACPI_VIDEO.  This creates
a soft dependency, but makes it very hard to use ACPI_VIDEO in DRM
core.  Switch everything else over to use `depends on ACPI_VIDEO`
instead.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/Kconfig | 9 +--------
 drivers/gpu/drm/gma500/Kconfig     | 7 +------
 drivers/gpu/drm/i915/Kconfig       | 9 +--------
 drivers/gpu/drm/nouveau/Kconfig    | 9 +--------
 drivers/gpu/drm/radeon/Kconfig     | 9 +--------
 drivers/gpu/drm/xe/Kconfig         | 8 +-------
 drivers/platform/loongarch/Kconfig | 2 +-
 drivers/staging/olpc_dcon/Kconfig  | 2 +-
 drivers/video/fbdev/core/Kconfig   | 2 +-
 9 files changed, 9 insertions(+), 48 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/Kconfig b/drivers/gpu/drm/amd/amdgpu/Kconfig
index 22d88f8ef527..49c3b6eeef76 100644
--- a/drivers/gpu/drm/amd/amdgpu/Kconfig
+++ b/drivers/gpu/drm/amd/amdgpu/Kconfig
@@ -4,6 +4,7 @@ config DRM_AMDGPU
 	tristate "AMD GPU"
 	depends on DRM && PCI && MMU
 	depends on !UML
+	depends on ACPI_VIDEO || !ACPI
 	select FW_LOADER
 	select DRM_DISPLAY_DP_HELPER
 	select DRM_DISPLAY_HDMI_HELPER
@@ -17,18 +18,10 @@ config DRM_AMDGPU
 	select HWMON
 	select I2C
 	select I2C_ALGOBIT
-	select BACKLIGHT_CLASS_DEVICE
 	select INTERVAL_TREE
 	select DRM_BUDDY
 	select DRM_SUBALLOC_HELPER
 	select DRM_EXEC
-	# amdgpu depends on ACPI_VIDEO when ACPI is enabled, for select to work
-	# ACPI_VIDEO's dependencies must also be selected.
-	select INPUT if ACPI
-	select ACPI_VIDEO if ACPI
-	# On x86 ACPI_VIDEO also needs ACPI_WMI
-	select X86_PLATFORM_DEVICES if ACPI && X86
-	select ACPI_WMI if ACPI && X86
 	help
 	  Choose this option if you have a recent AMD Radeon graphics card.
 
diff --git a/drivers/gpu/drm/gma500/Kconfig b/drivers/gpu/drm/gma500/Kconfig
index efb4a2dd2f80..a974cdde4b9c 100644
--- a/drivers/gpu/drm/gma500/Kconfig
+++ b/drivers/gpu/drm/gma500/Kconfig
@@ -2,16 +2,11 @@
 config DRM_GMA500
 	tristate "Intel GMA500/600/3600/3650 KMS Framebuffer"
 	depends on DRM && PCI && X86 && MMU
+	depends on ACPI_VIDEO || !ACPI
 	select DRM_KMS_HELPER
 	select FB_IOMEM_HELPERS if DRM_FBDEV_EMULATION
 	select I2C
 	select I2C_ALGOBIT
-	# GMA500 depends on ACPI_VIDEO when ACPI is enabled, just like i915
-	select ACPI_VIDEO if ACPI
-	select BACKLIGHT_CLASS_DEVICE if ACPI
-	select INPUT if ACPI
-	select X86_PLATFORM_DEVICES if ACPI
-	select ACPI_WMI if ACPI
 	help
 	  Say yes for an experimental 2D KMS framebuffer driver for the
 	  Intel GMA500 (Poulsbo), Intel GMA600 (Moorestown/Oak Trail) and
diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
index b5d6e3352071..e99405c18c22 100644
--- a/drivers/gpu/drm/i915/Kconfig
+++ b/drivers/gpu/drm/i915/Kconfig
@@ -4,6 +4,7 @@ config DRM_I915
 	depends on DRM
 	depends on X86 && PCI
 	depends on !PREEMPT_RT
+	depends on ACPI_VIDEO || !ACPI
 	select INTEL_GTT if X86
 	select INTERVAL_TREE
 	# we need shmfs for the swappable backing store, and in particular
@@ -22,14 +23,6 @@ config DRM_I915
 	select I2C
 	select I2C_ALGOBIT
 	select IRQ_WORK
-	# i915 depends on ACPI_VIDEO when ACPI is enabled
-	# but for select to work, need to select ACPI_VIDEO's dependencies, ick
-	select BACKLIGHT_CLASS_DEVICE if ACPI
-	select INPUT if ACPI
-	select X86_PLATFORM_DEVICES if ACPI
-	select ACPI_WMI if ACPI
-	select ACPI_VIDEO if ACPI
-	select ACPI_BUTTON if ACPI
 	select SYNC_FILE
 	select IOSF_MBI if X86
 	select CRC32
diff --git a/drivers/gpu/drm/nouveau/Kconfig b/drivers/gpu/drm/nouveau/Kconfig
index 1e6aaf95ff7c..a3768484cbf5 100644
--- a/drivers/gpu/drm/nouveau/Kconfig
+++ b/drivers/gpu/drm/nouveau/Kconfig
@@ -2,6 +2,7 @@
 config DRM_NOUVEAU
 	tristate "Nouveau (NVIDIA) cards"
 	depends on DRM && PCI && MMU
+	depends on ACPI_VIDEO || !ACPI
 	select IOMMU_API
 	select FW_LOADER
 	select DRM_DISPLAY_DP_HELPER
@@ -15,16 +16,8 @@ config DRM_NOUVEAU
 	select DRM_SCHED
 	select I2C
 	select I2C_ALGOBIT
-	select BACKLIGHT_CLASS_DEVICE if DRM_NOUVEAU_BACKLIGHT
-	select X86_PLATFORM_DEVICES if ACPI && X86
-	select ACPI_WMI if ACPI && X86
-	select MXM_WMI if ACPI && X86
 	select POWER_SUPPLY
-	# Similar to i915, we need to select ACPI_VIDEO and it's dependencies
-	select BACKLIGHT_CLASS_DEVICE if ACPI && X86
-	select INPUT if ACPI && X86
 	select THERMAL if ACPI && X86
-	select ACPI_VIDEO if ACPI && X86
 	select SND_HDA_COMPONENT if SND_HDA_CORE
 	help
 	  Choose this option for open-source NVIDIA support.
diff --git a/drivers/gpu/drm/radeon/Kconfig b/drivers/gpu/drm/radeon/Kconfig
index f98356be0af2..05d134bb1cb2 100644
--- a/drivers/gpu/drm/radeon/Kconfig
+++ b/drivers/gpu/drm/radeon/Kconfig
@@ -4,6 +4,7 @@ config DRM_RADEON
 	tristate "ATI Radeon"
 	depends on DRM && PCI && MMU
 	depends on AGP || !AGP
+	depends on ACPI_VIDEO || !ACPI
 	select FW_LOADER
 	select DRM_DISPLAY_DP_HELPER
 	select DRM_DISPLAY_HELPER
@@ -15,17 +16,9 @@ config DRM_RADEON
 	select SND_HDA_COMPONENT if SND_HDA_CORE
 	select POWER_SUPPLY
 	select HWMON
-	select BACKLIGHT_CLASS_DEVICE
 	select INTERVAL_TREE
 	select I2C
 	select I2C_ALGOBIT
-	# radeon depends on ACPI_VIDEO when ACPI is enabled, for select to work
-	# ACPI_VIDEO's dependencies must also be selected.
-	select INPUT if ACPI
-	select ACPI_VIDEO if ACPI
-	# On x86 ACPI_VIDEO also needs ACPI_WMI
-	select X86_PLATFORM_DEVICES if ACPI && X86
-	select ACPI_WMI if ACPI && X86
 	help
 	  Choose this option if you have an ATI Radeon graphics card.  There
 	  are both PCI and AGP versions.  You don't need to choose this to
diff --git a/drivers/gpu/drm/xe/Kconfig b/drivers/gpu/drm/xe/Kconfig
index e36ae1f0d885..8a20f5a4d516 100644
--- a/drivers/gpu/drm/xe/Kconfig
+++ b/drivers/gpu/drm/xe/Kconfig
@@ -2,6 +2,7 @@
 config DRM_XE
 	tristate "Intel Xe Graphics"
 	depends on DRM && PCI && MMU && (m || (y && KUNIT=y)) && 64BIT
+	depends on ACPI_VIDEO || !ACPI
 	select INTERVAL_TREE
 	# we need shmfs for the swappable backing store, and in particular
 	# the shmem_readpage() which depends upon tmpfs
@@ -19,13 +20,6 @@ config DRM_XE
 	select DRM_MIPI_DSI
 	select RELAY
 	select IRQ_WORK
-	# xe depends on ACPI_VIDEO when ACPI is enabled
-	# but for select to work, need to select ACPI_VIDEO's dependencies, ick
-	select BACKLIGHT_CLASS_DEVICE if ACPI
-	select INPUT if ACPI
-	select ACPI_VIDEO if X86 && ACPI
-	select ACPI_BUTTON if ACPI
-	select ACPI_WMI if X86 && ACPI
 	select SYNC_FILE
 	select IOSF_MBI
 	select CRC32
diff --git a/drivers/platform/loongarch/Kconfig b/drivers/platform/loongarch/Kconfig
index 5633e4d73991..2c55bc98c727 100644
--- a/drivers/platform/loongarch/Kconfig
+++ b/drivers/platform/loongarch/Kconfig
@@ -22,7 +22,7 @@ config LOONGSON_LAPTOP
 	depends on BACKLIGHT_CLASS_DEVICE
 	depends on INPUT
 	depends on MACH_LOONGSON64
-	select ACPI_VIDEO
+	depends on ACPI_VIDEO
 	select INPUT_SPARSEKMAP
 	default y
 	help
diff --git a/drivers/staging/olpc_dcon/Kconfig b/drivers/staging/olpc_dcon/Kconfig
index d0ba34cc32f7..e1fe1f2b767a 100644
--- a/drivers/staging/olpc_dcon/Kconfig
+++ b/drivers/staging/olpc_dcon/Kconfig
@@ -4,7 +4,7 @@ config FB_OLPC_DCON
 	depends on OLPC && FB && BROKEN
 	depends on I2C
 	depends on GPIO_CS5535 && ACPI
-	select BACKLIGHT_CLASS_DEVICE
+	depends on BACKLIGHT_CLASS_DEVICE
 	help
 	  In order to support very low power operation, the XO laptop uses a
 	  secondary Display CONtroller, or DCON.  This secondary controller
diff --git a/drivers/video/fbdev/core/Kconfig b/drivers/video/fbdev/core/Kconfig
index db09fe87fcd4..d5c9249cdb5d 100644
--- a/drivers/video/fbdev/core/Kconfig
+++ b/drivers/video/fbdev/core/Kconfig
@@ -179,7 +179,7 @@ config FB_SYSMEM_HELPERS_DEFERRED
 config FB_BACKLIGHT
 	tristate
 	depends on FB
-	select BACKLIGHT_CLASS_DEVICE
+	depends on BACKLIGHT_CLASS_DEVICE
 
 config FB_MODE_HELPERS
 	bool "Enable Video Mode Handling Helpers"
-- 
2.34.1


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

* [PATCH v6 2/5] drm: Stop using `select BACKLIGHT_CLASS_DEVICE`
  2024-02-14 21:57 [PATCH v6 0/5] Add support for getting EDID over ACPI to DRM Mario Limonciello
  2024-02-14 21:57 ` [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers Mario Limonciello
@ 2024-02-14 21:57 ` Mario Limonciello
  2024-02-14 21:57 ` [PATCH v6 3/5] drm: Add support to get EDID from ACPI Mario Limonciello
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 26+ messages in thread
From: Mario Limonciello @ 2024-02-14 21:57 UTC (permalink / raw)
  To: Daniel Vetter, Jani Nikula, Alex Deucher, Hans de Goede,
	open list:DRM DRIVERS
  Cc: amd-gfx, open list:USB SUBSYSTEM, linux-fbdev, nouveau,
	intel-gfx, platform-driver-x86, intel-xe, linux-renesas-soc,
	open list:ACPI, open list, Melissa Wen, Mark Pearson,
	Mario Limonciello

Many drivers ab(use) `select BACKLIGHT_CLASS_DEVICE` to avoid
dependency problems.  This however makes it impossible for DRM
core to be able to add a dependency on ACPI_VIDEO. Switch users
of `select BACKLIGHT_CLASS_DEVICE` to `depends on BACKLIGHT_CLASS_DEVICE`.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
 drivers/gpu/drm/bridge/Kconfig           |  2 +-
 drivers/gpu/drm/fsl-dcu/Kconfig          |  2 +-
 drivers/gpu/drm/gud/Kconfig              |  2 +-
 drivers/gpu/drm/renesas/shmobile/Kconfig |  2 +-
 drivers/gpu/drm/solomon/Kconfig          |  2 +-
 drivers/gpu/drm/tilcdc/Kconfig           |  2 +-
 drivers/gpu/drm/tiny/Kconfig             | 14 +++++++-------
 drivers/platform/x86/Kconfig             |  4 ++--
 drivers/usb/misc/Kconfig                 |  2 +-
 9 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig
index efd996f6c138..c4e0d506a389 100644
--- a/drivers/gpu/drm/bridge/Kconfig
+++ b/drivers/gpu/drm/bridge/Kconfig
@@ -218,9 +218,9 @@ config DRM_NXP_PTN3460
 config DRM_PARADE_PS8622
 	tristate "Parade eDP/LVDS bridge"
 	depends on OF
+	depends on BACKLIGHT_CLASS_DEVICE
 	select DRM_PANEL
 	select DRM_KMS_HELPER
-	select BACKLIGHT_CLASS_DEVICE
 	help
 	  Parade eDP-LVDS bridge chip driver.
 
diff --git a/drivers/gpu/drm/fsl-dcu/Kconfig b/drivers/gpu/drm/fsl-dcu/Kconfig
index 5ca71ef87325..93202786bec5 100644
--- a/drivers/gpu/drm/fsl-dcu/Kconfig
+++ b/drivers/gpu/drm/fsl-dcu/Kconfig
@@ -2,7 +2,7 @@
 config DRM_FSL_DCU
 	tristate "DRM Support for Freescale DCU"
 	depends on DRM && OF && ARM && COMMON_CLK
-	select BACKLIGHT_CLASS_DEVICE
+	depends on BACKLIGHT_CLASS_DEVICE
 	select DRM_GEM_DMA_HELPER
 	select DRM_KMS_HELPER
 	select DRM_PANEL
diff --git a/drivers/gpu/drm/gud/Kconfig b/drivers/gpu/drm/gud/Kconfig
index 9c1e61f9eec3..44553514ad64 100644
--- a/drivers/gpu/drm/gud/Kconfig
+++ b/drivers/gpu/drm/gud/Kconfig
@@ -3,10 +3,10 @@
 config DRM_GUD
 	tristate "GUD USB Display"
 	depends on DRM && USB && MMU
+	depends on BACKLIGHT_CLASS_DEVICE
 	select LZ4_COMPRESS
 	select DRM_KMS_HELPER
 	select DRM_GEM_SHMEM_HELPER
-	select BACKLIGHT_CLASS_DEVICE
 	help
 	  This is a DRM display driver for GUD USB Displays or display
 	  adapters.
diff --git a/drivers/gpu/drm/renesas/shmobile/Kconfig b/drivers/gpu/drm/renesas/shmobile/Kconfig
index 027220b8fe1c..6b36dee443eb 100644
--- a/drivers/gpu/drm/renesas/shmobile/Kconfig
+++ b/drivers/gpu/drm/renesas/shmobile/Kconfig
@@ -3,7 +3,7 @@ config DRM_SHMOBILE
 	tristate "DRM Support for SH Mobile"
 	depends on DRM && PM
 	depends on ARCH_RENESAS || ARCH_SHMOBILE || COMPILE_TEST
-	select BACKLIGHT_CLASS_DEVICE
+	depends on BACKLIGHT_CLASS_DEVICE
 	select DRM_KMS_HELPER
 	select DRM_GEM_DMA_HELPER
 	select VIDEOMODE_HELPERS
diff --git a/drivers/gpu/drm/solomon/Kconfig b/drivers/gpu/drm/solomon/Kconfig
index c3ee956c2bb9..2b36ac8e0913 100644
--- a/drivers/gpu/drm/solomon/Kconfig
+++ b/drivers/gpu/drm/solomon/Kconfig
@@ -1,7 +1,7 @@
 config DRM_SSD130X
 	tristate "DRM support for Solomon SSD13xx OLED displays"
 	depends on DRM && MMU
-	select BACKLIGHT_CLASS_DEVICE
+	depends on BACKLIGHT_CLASS_DEVICE
 	select DRM_GEM_SHMEM_HELPER
 	select DRM_KMS_HELPER
 	help
diff --git a/drivers/gpu/drm/tilcdc/Kconfig b/drivers/gpu/drm/tilcdc/Kconfig
index d3bd2d7a181e..640adf075bba 100644
--- a/drivers/gpu/drm/tilcdc/Kconfig
+++ b/drivers/gpu/drm/tilcdc/Kconfig
@@ -2,12 +2,12 @@
 config DRM_TILCDC
 	tristate "DRM Support for TI LCDC Display Controller"
 	depends on DRM && OF && ARM
+	depends on BACKLIGHT_CLASS_DEVICE
 	select DRM_KMS_HELPER
 	select DRM_GEM_DMA_HELPER
 	select DRM_BRIDGE
 	select DRM_PANEL_BRIDGE
 	select VIDEOMODE_HELPERS
-	select BACKLIGHT_CLASS_DEVICE
 	help
 	  Choose this option if you have an TI SoC with LCDC display
 	  controller, for example AM33xx in beagle-bone, DA8xx, or
diff --git a/drivers/gpu/drm/tiny/Kconfig b/drivers/gpu/drm/tiny/Kconfig
index f6889f649bc1..d5160a6b5d72 100644
--- a/drivers/gpu/drm/tiny/Kconfig
+++ b/drivers/gpu/drm/tiny/Kconfig
@@ -67,10 +67,10 @@ config DRM_OFDRM
 config DRM_PANEL_MIPI_DBI
 	tristate "DRM support for MIPI DBI compatible panels"
 	depends on DRM && SPI
+	depends on BACKLIGHT_CLASS_DEVICE
 	select DRM_KMS_HELPER
 	select DRM_GEM_DMA_HELPER
 	select DRM_MIPI_DBI
-	select BACKLIGHT_CLASS_DEVICE
 	select VIDEOMODE_HELPERS
 	help
 	  Say Y here if you want to enable support for MIPI DBI compatible
@@ -99,10 +99,10 @@ config DRM_SIMPLEDRM
 config TINYDRM_HX8357D
 	tristate "DRM support for HX8357D display panels"
 	depends on DRM && SPI
+	depends on BACKLIGHT_CLASS_DEVICE
 	select DRM_KMS_HELPER
 	select DRM_GEM_DMA_HELPER
 	select DRM_MIPI_DBI
-	select BACKLIGHT_CLASS_DEVICE
 	help
 	  DRM driver for the following HX8357D panels:
 	  * YX350HV15-T 3.5" 340x350 TFT (Adafruit 3.5")
@@ -112,7 +112,7 @@ config TINYDRM_HX8357D
 config TINYDRM_ILI9163
 	tristate "DRM support for ILI9163 display panels"
 	depends on DRM && SPI
-	select BACKLIGHT_CLASS_DEVICE
+	depends on BACKLIGHT_CLASS_DEVICE
 	select DRM_GEM_DMA_HELPER
 	select DRM_KMS_HELPER
 	select DRM_MIPI_DBI
@@ -137,10 +137,10 @@ config TINYDRM_ILI9225
 config TINYDRM_ILI9341
 	tristate "DRM support for ILI9341 display panels"
 	depends on DRM && SPI
+	depends on BACKLIGHT_CLASS_DEVICE
 	select DRM_KMS_HELPER
 	select DRM_GEM_DMA_HELPER
 	select DRM_MIPI_DBI
-	select BACKLIGHT_CLASS_DEVICE
 	help
 	  DRM driver for the following Ilitek ILI9341 panels:
 	  * YX240QV29-T 2.4" 240x320 TFT (Adafruit 2.4")
@@ -150,10 +150,10 @@ config TINYDRM_ILI9341
 config TINYDRM_ILI9486
 	tristate "DRM support for ILI9486 display panels"
 	depends on DRM && SPI
+	depends on BACKLIGHT_CLASS_DEVICE
 	select DRM_KMS_HELPER
 	select DRM_GEM_DMA_HELPER
 	select DRM_MIPI_DBI
-	select BACKLIGHT_CLASS_DEVICE
 	help
 	  DRM driver for the following Ilitek ILI9486 panels:
 	  * PISCREEN 3.5" 320x480 TFT (Ozzmaker 3.5")
@@ -164,10 +164,10 @@ config TINYDRM_ILI9486
 config TINYDRM_MI0283QT
 	tristate "DRM support for MI0283QT"
 	depends on DRM && SPI
+	depends on BACKLIGHT_CLASS_DEVICE
 	select DRM_KMS_HELPER
 	select DRM_GEM_DMA_HELPER
 	select DRM_MIPI_DBI
-	select BACKLIGHT_CLASS_DEVICE
 	help
 	  DRM driver for the Multi-Inno MI0283QT display panel
 	  If M is selected the module will be called mi0283qt.
@@ -201,10 +201,10 @@ config TINYDRM_ST7586
 config TINYDRM_ST7735R
 	tristate "DRM support for Sitronix ST7715R/ST7735R display panels"
 	depends on DRM && SPI
+	depends on BACKLIGHT_CLASS_DEVICE
 	select DRM_KMS_HELPER
 	select DRM_GEM_DMA_HELPER
 	select DRM_MIPI_DBI
-	select BACKLIGHT_CLASS_DEVICE
 	help
 	  DRM driver for Sitronix ST7715R/ST7735R with one of the following
 	  LCDs:
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index bdd302274b9a..509bcf6ac88b 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -753,7 +753,7 @@ config SAMSUNG_LAPTOP
 config SAMSUNG_Q10
 	tristate "Samsung Q10 Extras"
 	depends on ACPI
-	select BACKLIGHT_CLASS_DEVICE
+	depends on BACKLIGHT_CLASS_DEVICE
 	help
 	  This driver provides support for backlight control on Samsung Q10
 	  and related laptops, including Dell Latitude X200.
@@ -852,7 +852,7 @@ config ACPI_CMPC
 	tristate "CMPC Laptop Extras"
 	depends on ACPI && INPUT
 	depends on RFKILL || RFKILL=n
-	select BACKLIGHT_CLASS_DEVICE
+	depends on BACKLIGHT_CLASS_DEVICE
 	help
 	  Support for Intel Classmate PC ACPI devices, including some
 	  keys as input device, backlight device, tablet and accelerometer
diff --git a/drivers/usb/misc/Kconfig b/drivers/usb/misc/Kconfig
index c510af7baa0d..2251ddabbfb8 100644
--- a/drivers/usb/misc/Kconfig
+++ b/drivers/usb/misc/Kconfig
@@ -139,7 +139,7 @@ config USB_IDMOUSE
 
 config USB_APPLEDISPLAY
 	tristate "Apple Cinema Display support"
-	select BACKLIGHT_CLASS_DEVICE
+	depends on BACKLIGHT_CLASS_DEVICE
 	help
 	  Say Y here if you want to control the backlight of Apple Cinema
 	  Displays over USB. This driver provides a sysfs interface.
-- 
2.34.1


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

* [PATCH v6 3/5] drm: Add support to get EDID from ACPI
  2024-02-14 21:57 [PATCH v6 0/5] Add support for getting EDID over ACPI to DRM Mario Limonciello
  2024-02-14 21:57 ` [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers Mario Limonciello
  2024-02-14 21:57 ` [PATCH v6 2/5] drm: Stop using `select BACKLIGHT_CLASS_DEVICE` Mario Limonciello
@ 2024-02-14 21:57 ` Mario Limonciello
  2024-02-14 23:13   ` Ville Syrjälä
  2024-02-15 14:09   ` Jani Nikula
  2024-02-14 21:57 ` [PATCH v6 4/5] drm/amd: Fetch the EDID from _DDC if available for eDP Mario Limonciello
  2024-02-14 21:57 ` [PATCH v6 5/5] drm/nouveau: Use drm_edid_read_acpi() helper Mario Limonciello
  4 siblings, 2 replies; 26+ messages in thread
From: Mario Limonciello @ 2024-02-14 21:57 UTC (permalink / raw)
  To: Daniel Vetter, Jani Nikula, Alex Deucher, Hans de Goede,
	open list:DRM DRIVERS
  Cc: amd-gfx, open list:USB SUBSYSTEM, linux-fbdev, nouveau,
	intel-gfx, platform-driver-x86, intel-xe, linux-renesas-soc,
	open list:ACPI, open list, Melissa Wen, Mark Pearson,
	Mario Limonciello

Some manufacturers have intentionally put an EDID that differs from
the EDID on the internal panel on laptops.  Drivers that prefer to
fetch this EDID can set a bit on the drm_connector to indicate that
the DRM EDID helpers should try to fetch it and it is preferred if
it's present.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
 drivers/gpu/drm/Kconfig     |   1 +
 drivers/gpu/drm/drm_edid.c  | 109 +++++++++++++++++++++++++++++++++---
 include/drm/drm_connector.h |   6 ++
 include/drm/drm_edid.h      |   1 +
 4 files changed, 109 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 872edb47bb53..3db89e6af01d 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -8,6 +8,7 @@
 menuconfig DRM
 	tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
 	depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA
+	depends on (ACPI_VIDEO || ACPI_VIDEO=n)
 	select DRM_PANEL_ORIENTATION_QUIRKS
 	select DRM_KMS_HELPER if DRM_FBDEV_EMULATION
 	select FB_CORE if DRM_FBDEV_EMULATION
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 923c4423151c..cdc30c6d05d5 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -28,6 +28,7 @@
  * DEALINGS IN THE SOFTWARE.
  */
 
+#include <acpi/video.h>
 #include <linux/bitfield.h>
 #include <linux/cec.h>
 #include <linux/hdmi.h>
@@ -2188,6 +2189,58 @@ drm_do_probe_ddc_edid(void *data, u8 *buf, unsigned int block, size_t len)
 	return ret == xfers ? 0 : -1;
 }
 
+/**
+ * drm_do_probe_acpi_edid() - get EDID information via ACPI _DDC
+ * @data: struct drm_connector
+ * @buf: EDID data buffer to be filled
+ * @block: 128 byte EDID block to start fetching from
+ * @len: EDID data buffer length to fetch
+ *
+ * Try to fetch EDID information by calling acpi_video_get_edid() function.
+ *
+ * Return: 0 on success or error code on failure.
+ */
+static int
+drm_do_probe_acpi_edid(void *data, u8 *buf, unsigned int block, size_t len)
+{
+	struct drm_connector *connector = data;
+	struct drm_device *ddev = connector->dev;
+	struct acpi_device *acpidev = ACPI_COMPANION(ddev->dev);
+	unsigned char start = block * EDID_LENGTH;
+	void *edid;
+	int r;
+
+	if (!acpidev)
+		return -ENODEV;
+
+	switch (connector->connector_type) {
+	case DRM_MODE_CONNECTOR_LVDS:
+	case DRM_MODE_CONNECTOR_eDP:
+		break;
+	default:
+		return -EINVAL;
+	}
+
+	/* fetch the entire edid from BIOS */
+	r = acpi_video_get_edid(acpidev, ACPI_VIDEO_DISPLAY_LCD, -1, &edid);
+	if (r < 0) {
+		DRM_DEBUG_KMS("Failed to get EDID from ACPI: %d\n", r);
+		return r;
+	}
+	if (len > r || start > r || start + len > r) {
+		r = -EINVAL;
+		goto cleanup;
+	}
+
+	memcpy(buf, edid + start, len);
+	r = 0;
+
+cleanup:
+	kfree(edid);
+
+	return r;
+}
+
 static void connector_bad_edid(struct drm_connector *connector,
 			       const struct edid *edid, int num_blocks)
 {
@@ -2621,7 +2674,8 @@ EXPORT_SYMBOL(drm_probe_ddc);
  * @connector: connector we're probing
  * @adapter: I2C adapter to use for DDC
  *
- * Poke the given I2C channel to grab EDID data if possible.  If found,
+ * If the connector allows it, try to fetch EDID data using ACPI. If not found
+ * poke the given I2C channel to grab EDID data if possible.  If found,
  * attach it to the connector.
  *
  * Return: Pointer to valid EDID or NULL if we couldn't find any.
@@ -2629,20 +2683,50 @@ EXPORT_SYMBOL(drm_probe_ddc);
 struct edid *drm_get_edid(struct drm_connector *connector,
 			  struct i2c_adapter *adapter)
 {
-	struct edid *edid;
+	struct edid *edid = NULL;
 
 	if (connector->force == DRM_FORCE_OFF)
 		return NULL;
 
-	if (connector->force == DRM_FORCE_UNSPECIFIED && !drm_probe_ddc(adapter))
-		return NULL;
+	if (connector->acpi_edid_allowed)
+		edid = _drm_do_get_edid(connector, drm_do_probe_acpi_edid, connector, NULL);
+
+	if (!edid) {
+		if (connector->force == DRM_FORCE_UNSPECIFIED && !drm_probe_ddc(adapter))
+			return NULL;
+		edid = _drm_do_get_edid(connector, drm_do_probe_ddc_edid, adapter, NULL);
+	}
 
-	edid = _drm_do_get_edid(connector, drm_do_probe_ddc_edid, adapter, NULL);
 	drm_connector_update_edid_property(connector, edid);
 	return edid;
 }
 EXPORT_SYMBOL(drm_get_edid);
 
+/**
+ * drm_edid_read_acpi - get EDID data, if available
+ * @connector: connector we're probing
+ *
+ * Use the BIOS to attempt to grab EDID data if possible.
+ *
+ * The returned pointer must be freed using drm_edid_free().
+ *
+ * Return: Pointer to valid EDID or NULL if we couldn't find any.
+ */
+const struct drm_edid *drm_edid_read_acpi(struct drm_connector *connector)
+{
+	const struct drm_edid *drm_edid;
+
+	if (connector->force == DRM_FORCE_OFF)
+		return NULL;
+
+	drm_edid = drm_edid_read_custom(connector, drm_do_probe_acpi_edid, connector);
+
+	/* Note: Do *not* call connector updates here. */
+
+	return drm_edid;
+}
+EXPORT_SYMBOL(drm_edid_read_acpi);
+
 /**
  * drm_edid_read_custom - Read EDID data using given EDID block read function
  * @connector: Connector to use
@@ -2727,10 +2811,11 @@ const struct drm_edid *drm_edid_read_ddc(struct drm_connector *connector,
 EXPORT_SYMBOL(drm_edid_read_ddc);
 
 /**
- * drm_edid_read - Read EDID data using connector's I2C adapter
+ * drm_edid_read - Read EDID data using BIOS or connector's I2C adapter
  * @connector: Connector to use
  *
- * Read EDID using the connector's I2C adapter.
+ * Read EDID from BIOS if allowed by connector or by using the connector's
+ * I2C adapter.
  *
  * The EDID may be overridden using debugfs override_edid or firmware EDID
  * (drm_edid_load_firmware() and drm.edid_firmware parameter), in this priority
@@ -2742,10 +2827,18 @@ EXPORT_SYMBOL(drm_edid_read_ddc);
  */
 const struct drm_edid *drm_edid_read(struct drm_connector *connector)
 {
+	const struct drm_edid *drm_edid = NULL;
+
 	if (drm_WARN_ON(connector->dev, !connector->ddc))
 		return NULL;
 
-	return drm_edid_read_ddc(connector, connector->ddc);
+	if (connector->acpi_edid_allowed)
+		drm_edid = drm_edid_read_acpi(connector);
+
+	if (!drm_edid)
+		drm_edid = drm_edid_read_ddc(connector, connector->ddc);
+
+	return drm_edid;
 }
 EXPORT_SYMBOL(drm_edid_read);
 
diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
index fe88d7fc6b8f..74ed47f37a69 100644
--- a/include/drm/drm_connector.h
+++ b/include/drm/drm_connector.h
@@ -1886,6 +1886,12 @@ struct drm_connector {
 
 	/** @hdr_sink_metadata: HDR Metadata Information read from sink */
 	struct hdr_sink_metadata hdr_sink_metadata;
+
+	/**
+	 * @acpi_edid_allowed: Get the EDID from the BIOS, if available.
+	 * This is only applicable to eDP and LVDS displays.
+	 */
+	bool acpi_edid_allowed;
 };
 
 #define obj_to_connector(x) container_of(x, struct drm_connector, base)
diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h
index 7923bc00dc7a..1c1ee927de9c 100644
--- a/include/drm/drm_edid.h
+++ b/include/drm/drm_edid.h
@@ -459,5 +459,6 @@ bool drm_edid_is_digital(const struct drm_edid *drm_edid);
 
 const u8 *drm_find_edid_extension(const struct drm_edid *drm_edid,
 				  int ext_id, int *ext_index);
+const struct drm_edid *drm_edid_read_acpi(struct drm_connector *connector);
 
 #endif /* __DRM_EDID_H__ */
-- 
2.34.1


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

* [PATCH v6 4/5] drm/amd: Fetch the EDID from _DDC if available for eDP
  2024-02-14 21:57 [PATCH v6 0/5] Add support for getting EDID over ACPI to DRM Mario Limonciello
                   ` (2 preceding siblings ...)
  2024-02-14 21:57 ` [PATCH v6 3/5] drm: Add support to get EDID from ACPI Mario Limonciello
@ 2024-02-14 21:57 ` Mario Limonciello
  2024-02-14 21:57 ` [PATCH v6 5/5] drm/nouveau: Use drm_edid_read_acpi() helper Mario Limonciello
  4 siblings, 0 replies; 26+ messages in thread
From: Mario Limonciello @ 2024-02-14 21:57 UTC (permalink / raw)
  To: Daniel Vetter, Jani Nikula, Alex Deucher, Hans de Goede,
	open list:DRM DRIVERS
  Cc: amd-gfx, open list:USB SUBSYSTEM, linux-fbdev, nouveau,
	intel-gfx, platform-driver-x86, intel-xe, linux-renesas-soc,
	open list:ACPI, open list, Melissa Wen, Mark Pearson,
	Mario Limonciello

Some manufacturers have intentionally put an EDID that differs from
the EDID on the internal panel on laptops.

Attempt to fetch this EDID if it exists and prefer it over the EDID
that is provided by the panel. If a user prefers to use the EDID from
the panel, offer a module parameter that would disable this.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu.h                       | 1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c            | 3 +++
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c                   | 8 ++++++++
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c         | 4 +++-
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 2 ++
 5 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
index 312dfaec7b4a..fcec39a62a39 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
@@ -215,6 +215,7 @@ extern int amdgpu_smartshift_bias;
 extern int amdgpu_use_xgmi_p2p;
 extern int amdgpu_mtype_local;
 extern bool enforce_isolation;
+extern bool acpi_edid;
 #ifdef CONFIG_HSA_AMD
 extern int sched_policy;
 extern bool debug_evictions;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
index 9caba10315a8..9165a199ac9b 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
@@ -281,6 +281,9 @@ static void amdgpu_connector_get_edid(struct drm_connector *connector)
 	if (amdgpu_connector->edid)
 		return;
 
+	/* if the BIOS specifies the EDID via _DDC, prefer this */
+	connector->acpi_edid_allowed = acpi_edid;
+
 	/* on hw with routers, select right port */
 	if (amdgpu_connector->router.ddc_valid)
 		amdgpu_i2c_router_select_ddc_port(amdgpu_connector);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index 161ecf9b4174..9676df447a57 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -166,6 +166,7 @@ uint amdgpu_sdma_phase_quantum = 32;
 char *amdgpu_disable_cu;
 char *amdgpu_virtual_display;
 bool enforce_isolation;
+bool acpi_edid = true;
 /*
  * OverDrive(bit 14) disabled by default
  * GFX DCS(bit 19) disabled by default
@@ -990,6 +991,13 @@ MODULE_PARM_DESC(wbrf,
 	"Enable Wifi RFI interference mitigation (0 = disabled, 1 = enabled, -1 = auto(default)");
 module_param_named(wbrf, amdgpu_wbrf, int, 0444);
 
+/**
+ * DOC: acpi_edid (bool)
+ * Try to fetch EDID for eDP display from BIOS using ACPI _DDC method.
+ */
+module_param(acpi_edid, bool, 0444);
+MODULE_PARM_DESC(acpi_edid, "Fetch EDID for eDP display from BIOS");
+
 /* These devices are not supported by amdgpu.
  * They are supported by the mach64, r128, radeon drivers
  */
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 467796d97313..504577ea36e7 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -6649,8 +6649,10 @@ static void amdgpu_dm_connector_funcs_force(struct drm_connector *connector)
 	 * Note: drm_get_edid gets edid in the following order:
 	 * 1) override EDID if set via edid_override debugfs,
 	 * 2) firmware EDID if set via edid_firmware module parameter
-	 * 3) regular DDC read.
+	 * 3) ACPI EDID if allowed via module parameter
+	 * 4) regular DDC read.
 	 */
+	connector->acpi_edid_allowed = acpi_edid;
 	edid = drm_get_edid(connector, &amdgpu_connector->ddc_bus->aux.ddc);
 	if (!edid) {
 		DRM_ERROR("No EDID found on connector: %s.\n", connector->name);
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
index 85b7f58a7f35..d570a1b6141b 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
@@ -910,6 +910,8 @@ enum dc_edid_status dm_helpers_read_local_edid(
 	 * do check sum and retry to make sure read correct edid.
 	 */
 	do {
+		/* prefer ACPI over panel for eDP */
+		connector->acpi_edid_allowed = acpi_edid;
 
 		edid = drm_get_edid(&aconnector->base, ddc);
 
-- 
2.34.1


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

* [PATCH v6 5/5] drm/nouveau: Use drm_edid_read_acpi() helper
  2024-02-14 21:57 [PATCH v6 0/5] Add support for getting EDID over ACPI to DRM Mario Limonciello
                   ` (3 preceding siblings ...)
  2024-02-14 21:57 ` [PATCH v6 4/5] drm/amd: Fetch the EDID from _DDC if available for eDP Mario Limonciello
@ 2024-02-14 21:57 ` Mario Limonciello
  4 siblings, 0 replies; 26+ messages in thread
From: Mario Limonciello @ 2024-02-14 21:57 UTC (permalink / raw)
  To: Daniel Vetter, Jani Nikula, Alex Deucher, Hans de Goede,
	open list:DRM DRIVERS
  Cc: amd-gfx, open list:USB SUBSYSTEM, linux-fbdev, nouveau,
	intel-gfx, platform-driver-x86, intel-xe, linux-renesas-soc,
	open list:ACPI, open list, Melissa Wen, Mark Pearson,
	Mario Limonciello

Rather than inventing a wrapper to acpi_video_get_edid() use the
one provided by drm. This fixes two problems:
1. A memory leak that the memory provided by the ACPI call was
   never freed.
2. Validation of the BIOS provided blob.

Convert the usage in nouveau_connector_detect_lvds() to use
struct drm_edid at the same time.

Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
 drivers/gpu/drm/nouveau/nouveau_acpi.c      | 27 ----------------
 drivers/gpu/drm/nouveau/nouveau_acpi.h      |  2 --
 drivers/gpu/drm/nouveau/nouveau_connector.c | 35 +++++++++------------
 3 files changed, 14 insertions(+), 50 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_acpi.c b/drivers/gpu/drm/nouveau/nouveau_acpi.c
index 8f0c69aad248..de9daafb3fbb 100644
--- a/drivers/gpu/drm/nouveau/nouveau_acpi.c
+++ b/drivers/gpu/drm/nouveau/nouveau_acpi.c
@@ -360,33 +360,6 @@ void nouveau_unregister_dsm_handler(void) {}
 void nouveau_switcheroo_optimus_dsm(void) {}
 #endif
 
-void *
-nouveau_acpi_edid(struct drm_device *dev, struct drm_connector *connector)
-{
-	struct acpi_device *acpidev;
-	int type, ret;
-	void *edid;
-
-	switch (connector->connector_type) {
-	case DRM_MODE_CONNECTOR_LVDS:
-	case DRM_MODE_CONNECTOR_eDP:
-		type = ACPI_VIDEO_DISPLAY_LCD;
-		break;
-	default:
-		return NULL;
-	}
-
-	acpidev = ACPI_COMPANION(dev->dev);
-	if (!acpidev)
-		return NULL;
-
-	ret = acpi_video_get_edid(acpidev, type, -1, &edid);
-	if (ret < 0)
-		return NULL;
-
-	return kmemdup(edid, EDID_LENGTH, GFP_KERNEL);
-}
-
 bool nouveau_acpi_video_backlight_use_native(void)
 {
 	return acpi_video_backlight_use_native();
diff --git a/drivers/gpu/drm/nouveau/nouveau_acpi.h b/drivers/gpu/drm/nouveau/nouveau_acpi.h
index e39dd8b94b8b..6a3def8e6cca 100644
--- a/drivers/gpu/drm/nouveau/nouveau_acpi.h
+++ b/drivers/gpu/drm/nouveau/nouveau_acpi.h
@@ -10,7 +10,6 @@ bool nouveau_is_v1_dsm(void);
 void nouveau_register_dsm_handler(void);
 void nouveau_unregister_dsm_handler(void);
 void nouveau_switcheroo_optimus_dsm(void);
-void *nouveau_acpi_edid(struct drm_device *, struct drm_connector *);
 bool nouveau_acpi_video_backlight_use_native(void);
 void nouveau_acpi_video_register_backlight(void);
 #else
@@ -19,7 +18,6 @@ static inline bool nouveau_is_v1_dsm(void) { return false; };
 static inline void nouveau_register_dsm_handler(void) {}
 static inline void nouveau_unregister_dsm_handler(void) {}
 static inline void nouveau_switcheroo_optimus_dsm(void) {}
-static inline void *nouveau_acpi_edid(struct drm_device *dev, struct drm_connector *connector) { return NULL; }
 static inline bool nouveau_acpi_video_backlight_use_native(void) { return true; }
 static inline void nouveau_acpi_video_register_backlight(void) {}
 #endif
diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c
index 856b3ef5edb8..492035dc8453 100644
--- a/drivers/gpu/drm/nouveau/nouveau_connector.c
+++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
@@ -687,22 +687,13 @@ nouveau_connector_detect_lvds(struct drm_connector *connector, bool force)
 	struct nouveau_drm *drm = nouveau_drm(dev);
 	struct nouveau_connector *nv_connector = nouveau_connector(connector);
 	struct nouveau_encoder *nv_encoder = NULL;
-	struct edid *edid = NULL;
+	const struct drm_edid *drm_edid = NULL;
 	enum drm_connector_status status = connector_status_disconnected;
 
 	nv_encoder = find_encoder(connector, DCB_OUTPUT_LVDS);
 	if (!nv_encoder)
 		goto out;
 
-	/* Try retrieving EDID via DDC */
-	if (!drm->vbios.fp_no_ddc) {
-		status = nouveau_connector_detect(connector, force);
-		if (status == connector_status_connected) {
-			edid = nv_connector->edid;
-			goto out;
-		}
-	}
-
 	/* On some laptops (Sony, i'm looking at you) there appears to
 	 * be no direct way of accessing the panel's EDID.  The only
 	 * option available to us appears to be to ask ACPI for help..
@@ -712,10 +703,14 @@ nouveau_connector_detect_lvds(struct drm_connector *connector, bool force)
 	 * the nouveau decides an entry in the VBIOS FP mode table is
 	 * valid - it's not (rh#613284)
 	 */
-	if (nv_encoder->dcb->lvdsconf.use_acpi_for_edid) {
-		edid = nouveau_acpi_edid(dev, connector);
-		if (edid) {
-			status = connector_status_connected;
+	if (nv_encoder->dcb->lvdsconf.use_acpi_for_edid)
+		connector->acpi_edid_allowed = true;
+
+	/* Try retrieving EDID via BIOS or DDC */
+	if (!drm->vbios.fp_no_ddc || nv_encoder->dcb->lvdsconf.use_acpi_for_edid) {
+		status = nouveau_connector_detect(connector, force);
+		if (status == connector_status_connected) {
+			drm_edid = drm_edid_alloc(nv_connector->edid, EDID_LENGTH);
 			goto out;
 		}
 	}
@@ -734,12 +729,9 @@ nouveau_connector_detect_lvds(struct drm_connector *connector, bool force)
 	 * stored for the panel stored in them.
 	 */
 	if (!drm->vbios.fp_no_ddc) {
-		edid = (struct edid *)nouveau_bios_embedded_edid(dev);
-		if (edid) {
-			edid = kmemdup(edid, EDID_LENGTH, GFP_KERNEL);
-			if (edid)
-				status = connector_status_connected;
-		}
+		drm_edid = drm_edid_alloc(nouveau_bios_embedded_edid(dev), EDID_LENGTH);
+		if (drm_edid)
+			status = connector_status_connected;
 	}
 
 out:
@@ -750,7 +742,8 @@ nouveau_connector_detect_lvds(struct drm_connector *connector, bool force)
 		status = connector_status_unknown;
 #endif
 
-	nouveau_connector_set_edid(nv_connector, edid);
+	drm_edid_connector_update(connector, drm_edid);
+	drm_edid_free(drm_edid);
 	if (nv_encoder)
 		nouveau_connector_set_encoder(connector, nv_encoder);
 	return status;
-- 
2.34.1


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

* Re: [PATCH v6 3/5] drm: Add support to get EDID from ACPI
  2024-02-14 21:57 ` [PATCH v6 3/5] drm: Add support to get EDID from ACPI Mario Limonciello
@ 2024-02-14 23:13   ` Ville Syrjälä
  2024-02-15 14:13     ` Jani Nikula
  2024-02-15 18:20     ` Mario Limonciello
  2024-02-15 14:09   ` Jani Nikula
  1 sibling, 2 replies; 26+ messages in thread
From: Ville Syrjälä @ 2024-02-14 23:13 UTC (permalink / raw)
  To: Mario Limonciello
  Cc: Daniel Vetter, Jani Nikula, Alex Deucher, Hans de Goede,
	open list:DRM DRIVERS, amd-gfx, open list:USB SUBSYSTEM,
	linux-fbdev, nouveau, intel-gfx, platform-driver-x86, intel-xe,
	linux-renesas-soc, open list:ACPI, open list, Melissa Wen,
	Mark Pearson

On Wed, Feb 14, 2024 at 03:57:54PM -0600, Mario Limonciello wrote:
> Some manufacturers have intentionally put an EDID that differs from
> the EDID on the internal panel on laptops.  Drivers that prefer to
> fetch this EDID can set a bit on the drm_connector to indicate that
> the DRM EDID helpers should try to fetch it and it is preferred if
> it's present.
> 
> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
> ---
>  drivers/gpu/drm/Kconfig     |   1 +
>  drivers/gpu/drm/drm_edid.c  | 109 +++++++++++++++++++++++++++++++++---
>  include/drm/drm_connector.h |   6 ++
>  include/drm/drm_edid.h      |   1 +
>  4 files changed, 109 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
> index 872edb47bb53..3db89e6af01d 100644
> --- a/drivers/gpu/drm/Kconfig
> +++ b/drivers/gpu/drm/Kconfig
> @@ -8,6 +8,7 @@
>  menuconfig DRM
>  	tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
>  	depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA
> +	depends on (ACPI_VIDEO || ACPI_VIDEO=n)
>  	select DRM_PANEL_ORIENTATION_QUIRKS
>  	select DRM_KMS_HELPER if DRM_FBDEV_EMULATION
>  	select FB_CORE if DRM_FBDEV_EMULATION
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 923c4423151c..cdc30c6d05d5 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -28,6 +28,7 @@
>   * DEALINGS IN THE SOFTWARE.
>   */
>  
> +#include <acpi/video.h>
>  #include <linux/bitfield.h>
>  #include <linux/cec.h>
>  #include <linux/hdmi.h>
> @@ -2188,6 +2189,58 @@ drm_do_probe_ddc_edid(void *data, u8 *buf, unsigned int block, size_t len)
>  	return ret == xfers ? 0 : -1;
>  }
>  
> +/**
> + * drm_do_probe_acpi_edid() - get EDID information via ACPI _DDC
> + * @data: struct drm_connector
> + * @buf: EDID data buffer to be filled
> + * @block: 128 byte EDID block to start fetching from
> + * @len: EDID data buffer length to fetch
> + *
> + * Try to fetch EDID information by calling acpi_video_get_edid() function.
> + *
> + * Return: 0 on success or error code on failure.
> + */
> +static int
> +drm_do_probe_acpi_edid(void *data, u8 *buf, unsigned int block, size_t len)
> +{
> +	struct drm_connector *connector = data;
> +	struct drm_device *ddev = connector->dev;
> +	struct acpi_device *acpidev = ACPI_COMPANION(ddev->dev);
> +	unsigned char start = block * EDID_LENGTH;
> +	void *edid;
> +	int r;
> +
> +	if (!acpidev)
> +		return -ENODEV;
> +
> +	switch (connector->connector_type) {
> +	case DRM_MODE_CONNECTOR_LVDS:
> +	case DRM_MODE_CONNECTOR_eDP:
> +		break;
> +	default:
> +		return -EINVAL;
> +	}

We could have other types of connectors that want this too.
I don't see any real benefit in having this check tbh. Drivers
should simply notset the flag on connectors where it won't work,
and only the driver can really know that.

> +	/* fetch the entire edid from BIOS */
> +	r = acpi_video_get_edid(acpidev, ACPI_VIDEO_DISPLAY_LCD, -1, &edid);
> +	if (r < 0) {
> +		DRM_DEBUG_KMS("Failed to get EDID from ACPI: %d\n", r);
> +		return r;
> +	}
> +	if (len > r || start > r || start + len > r) {
> +		r = -EINVAL;
> +		goto cleanup;
> +	}
> +
> +	memcpy(buf, edid + start, len);
> +	r = 0;
> +
> +cleanup:
> +	kfree(edid);
> +
> +	return r;
> +}
> +
>  static void connector_bad_edid(struct drm_connector *connector,
>  			       const struct edid *edid, int num_blocks)
>  {
> @@ -2621,7 +2674,8 @@ EXPORT_SYMBOL(drm_probe_ddc);
>   * @connector: connector we're probing
>   * @adapter: I2C adapter to use for DDC
>   *
> - * Poke the given I2C channel to grab EDID data if possible.  If found,
> + * If the connector allows it, try to fetch EDID data using ACPI. If not found
> + * poke the given I2C channel to grab EDID data if possible.  If found,
>   * attach it to the connector.
>   *
>   * Return: Pointer to valid EDID or NULL if we couldn't find any.
> @@ -2629,20 +2683,50 @@ EXPORT_SYMBOL(drm_probe_ddc);
>  struct edid *drm_get_edid(struct drm_connector *connector,
>  			  struct i2c_adapter *adapter)
>  {
> -	struct edid *edid;
> +	struct edid *edid = NULL;
>  
>  	if (connector->force == DRM_FORCE_OFF)
>  		return NULL;
>  
> -	if (connector->force == DRM_FORCE_UNSPECIFIED && !drm_probe_ddc(adapter))
> -		return NULL;
> +	if (connector->acpi_edid_allowed)
> +		edid = _drm_do_get_edid(connector, drm_do_probe_acpi_edid, connector, NULL);
> +
> +	if (!edid) {
> +		if (connector->force == DRM_FORCE_UNSPECIFIED && !drm_probe_ddc(adapter))
> +			return NULL;
> +		edid = _drm_do_get_edid(connector, drm_do_probe_ddc_edid, adapter, NULL);
> +	}
>  
> -	edid = _drm_do_get_edid(connector, drm_do_probe_ddc_edid, adapter, NULL);
>  	drm_connector_update_edid_property(connector, edid);
>  	return edid;
>  }
>  EXPORT_SYMBOL(drm_get_edid);
>  
> +/**
> + * drm_edid_read_acpi - get EDID data, if available
> + * @connector: connector we're probing
> + *
> + * Use the BIOS to attempt to grab EDID data if possible.
> + *
> + * The returned pointer must be freed using drm_edid_free().
> + *
> + * Return: Pointer to valid EDID or NULL if we couldn't find any.
> + */
> +const struct drm_edid *drm_edid_read_acpi(struct drm_connector *connector)
> +{
> +	const struct drm_edid *drm_edid;
> +
> +	if (connector->force == DRM_FORCE_OFF)
> +		return NULL;
> +
> +	drm_edid = drm_edid_read_custom(connector, drm_do_probe_acpi_edid, connector);
> +
> +	/* Note: Do *not* call connector updates here. */
> +
> +	return drm_edid;
> +}
> +EXPORT_SYMBOL(drm_edid_read_acpi);
> +
>  /**
>   * drm_edid_read_custom - Read EDID data using given EDID block read function
>   * @connector: Connector to use
> @@ -2727,10 +2811,11 @@ const struct drm_edid *drm_edid_read_ddc(struct drm_connector *connector,
>  EXPORT_SYMBOL(drm_edid_read_ddc);
>  
>  /**
> - * drm_edid_read - Read EDID data using connector's I2C adapter
> + * drm_edid_read - Read EDID data using BIOS or connector's I2C adapter
>   * @connector: Connector to use
>   *
> - * Read EDID using the connector's I2C adapter.
> + * Read EDID from BIOS if allowed by connector or by using the connector's
> + * I2C adapter.
>   *
>   * The EDID may be overridden using debugfs override_edid or firmware EDID
>   * (drm_edid_load_firmware() and drm.edid_firmware parameter), in this priority
> @@ -2742,10 +2827,18 @@ EXPORT_SYMBOL(drm_edid_read_ddc);
>   */
>  const struct drm_edid *drm_edid_read(struct drm_connector *connector)
>  {
> +	const struct drm_edid *drm_edid = NULL;
> +
>  	if (drm_WARN_ON(connector->dev, !connector->ddc))
>  		return NULL;
>  
> -	return drm_edid_read_ddc(connector, connector->ddc);
> +	if (connector->acpi_edid_allowed)

That should probably be called 'prefer_acpi_edid' or something
since it's the first choice when the flag is set.

But I'm not so sure there's any real benefit in having this
flag at all. You anyway have to modify the driver to use this,
so why not just have the driver do the call directly instead of
adding this extra detour via the flag?

> +		drm_edid = drm_edid_read_acpi(connector);
> +
> +	if (!drm_edid)
> +		drm_edid = drm_edid_read_ddc(connector, connector->ddc);
> +
> +	return drm_edid;
>  }
>  EXPORT_SYMBOL(drm_edid_read);
>  
> diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
> index fe88d7fc6b8f..74ed47f37a69 100644
> --- a/include/drm/drm_connector.h
> +++ b/include/drm/drm_connector.h
> @@ -1886,6 +1886,12 @@ struct drm_connector {
>  
>  	/** @hdr_sink_metadata: HDR Metadata Information read from sink */
>  	struct hdr_sink_metadata hdr_sink_metadata;
> +
> +	/**
> +	 * @acpi_edid_allowed: Get the EDID from the BIOS, if available.
> +	 * This is only applicable to eDP and LVDS displays.
> +	 */
> +	bool acpi_edid_allowed;

Aren't there other bools/small stuff in there for tighter packing?

>  };
>  
>  #define obj_to_connector(x) container_of(x, struct drm_connector, base)
> diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h
> index 7923bc00dc7a..1c1ee927de9c 100644
> --- a/include/drm/drm_edid.h
> +++ b/include/drm/drm_edid.h
> @@ -459,5 +459,6 @@ bool drm_edid_is_digital(const struct drm_edid *drm_edid);
>  
>  const u8 *drm_find_edid_extension(const struct drm_edid *drm_edid,
>  				  int ext_id, int *ext_index);
> +const struct drm_edid *drm_edid_read_acpi(struct drm_connector *connector);
>  
>  #endif /* __DRM_EDID_H__ */
> -- 
> 2.34.1

-- 
Ville Syrjälä
Intel

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

* Re: [PATCH v6 3/5] drm: Add support to get EDID from ACPI
  2024-02-14 21:57 ` [PATCH v6 3/5] drm: Add support to get EDID from ACPI Mario Limonciello
  2024-02-14 23:13   ` Ville Syrjälä
@ 2024-02-15 14:09   ` Jani Nikula
  1 sibling, 0 replies; 26+ messages in thread
From: Jani Nikula @ 2024-02-15 14:09 UTC (permalink / raw)
  To: Mario Limonciello, Daniel Vetter, Alex Deucher, Hans de Goede,
	open list:DRM DRIVERS
  Cc: amd-gfx, open list:USB SUBSYSTEM, linux-fbdev, nouveau,
	intel-gfx, platform-driver-x86, intel-xe, linux-renesas-soc,
	open list:ACPI, open list, Melissa Wen, Mark Pearson,
	Mario Limonciello

On Wed, 14 Feb 2024, Mario Limonciello <mario.limonciello@amd.com> wrote:
> Some manufacturers have intentionally put an EDID that differs from
> the EDID on the internal panel on laptops.  Drivers that prefer to
> fetch this EDID can set a bit on the drm_connector to indicate that
> the DRM EDID helpers should try to fetch it and it is preferred if
> it's present.

I just replied to a previous version of the patch [1]. Looks like all
the comments there still hold.

BR,
Jani.


[1] https://lore.kernel.org/r/87eddd6d41.fsf@intel.com


>
> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
> ---
>  drivers/gpu/drm/Kconfig     |   1 +
>  drivers/gpu/drm/drm_edid.c  | 109 +++++++++++++++++++++++++++++++++---
>  include/drm/drm_connector.h |   6 ++
>  include/drm/drm_edid.h      |   1 +
>  4 files changed, 109 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
> index 872edb47bb53..3db89e6af01d 100644
> --- a/drivers/gpu/drm/Kconfig
> +++ b/drivers/gpu/drm/Kconfig
> @@ -8,6 +8,7 @@
>  menuconfig DRM
>  	tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
>  	depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA
> +	depends on (ACPI_VIDEO || ACPI_VIDEO=n)
>  	select DRM_PANEL_ORIENTATION_QUIRKS
>  	select DRM_KMS_HELPER if DRM_FBDEV_EMULATION
>  	select FB_CORE if DRM_FBDEV_EMULATION
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 923c4423151c..cdc30c6d05d5 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -28,6 +28,7 @@
>   * DEALINGS IN THE SOFTWARE.
>   */
>  
> +#include <acpi/video.h>
>  #include <linux/bitfield.h>
>  #include <linux/cec.h>
>  #include <linux/hdmi.h>
> @@ -2188,6 +2189,58 @@ drm_do_probe_ddc_edid(void *data, u8 *buf, unsigned int block, size_t len)
>  	return ret == xfers ? 0 : -1;
>  }
>  
> +/**
> + * drm_do_probe_acpi_edid() - get EDID information via ACPI _DDC
> + * @data: struct drm_connector
> + * @buf: EDID data buffer to be filled
> + * @block: 128 byte EDID block to start fetching from
> + * @len: EDID data buffer length to fetch
> + *
> + * Try to fetch EDID information by calling acpi_video_get_edid() function.
> + *
> + * Return: 0 on success or error code on failure.
> + */
> +static int
> +drm_do_probe_acpi_edid(void *data, u8 *buf, unsigned int block, size_t len)
> +{
> +	struct drm_connector *connector = data;
> +	struct drm_device *ddev = connector->dev;
> +	struct acpi_device *acpidev = ACPI_COMPANION(ddev->dev);
> +	unsigned char start = block * EDID_LENGTH;
> +	void *edid;
> +	int r;
> +
> +	if (!acpidev)
> +		return -ENODEV;
> +
> +	switch (connector->connector_type) {
> +	case DRM_MODE_CONNECTOR_LVDS:
> +	case DRM_MODE_CONNECTOR_eDP:
> +		break;
> +	default:
> +		return -EINVAL;
> +	}
> +
> +	/* fetch the entire edid from BIOS */
> +	r = acpi_video_get_edid(acpidev, ACPI_VIDEO_DISPLAY_LCD, -1, &edid);
> +	if (r < 0) {
> +		DRM_DEBUG_KMS("Failed to get EDID from ACPI: %d\n", r);
> +		return r;
> +	}
> +	if (len > r || start > r || start + len > r) {
> +		r = -EINVAL;
> +		goto cleanup;
> +	}
> +
> +	memcpy(buf, edid + start, len);
> +	r = 0;
> +
> +cleanup:
> +	kfree(edid);
> +
> +	return r;
> +}
> +
>  static void connector_bad_edid(struct drm_connector *connector,
>  			       const struct edid *edid, int num_blocks)
>  {
> @@ -2621,7 +2674,8 @@ EXPORT_SYMBOL(drm_probe_ddc);
>   * @connector: connector we're probing
>   * @adapter: I2C adapter to use for DDC
>   *
> - * Poke the given I2C channel to grab EDID data if possible.  If found,
> + * If the connector allows it, try to fetch EDID data using ACPI. If not found
> + * poke the given I2C channel to grab EDID data if possible.  If found,
>   * attach it to the connector.
>   *
>   * Return: Pointer to valid EDID or NULL if we couldn't find any.
> @@ -2629,20 +2683,50 @@ EXPORT_SYMBOL(drm_probe_ddc);
>  struct edid *drm_get_edid(struct drm_connector *connector,
>  			  struct i2c_adapter *adapter)
>  {
> -	struct edid *edid;
> +	struct edid *edid = NULL;
>  
>  	if (connector->force == DRM_FORCE_OFF)
>  		return NULL;
>  
> -	if (connector->force == DRM_FORCE_UNSPECIFIED && !drm_probe_ddc(adapter))
> -		return NULL;
> +	if (connector->acpi_edid_allowed)
> +		edid = _drm_do_get_edid(connector, drm_do_probe_acpi_edid, connector, NULL);
> +
> +	if (!edid) {
> +		if (connector->force == DRM_FORCE_UNSPECIFIED && !drm_probe_ddc(adapter))
> +			return NULL;
> +		edid = _drm_do_get_edid(connector, drm_do_probe_ddc_edid, adapter, NULL);
> +	}
>  
> -	edid = _drm_do_get_edid(connector, drm_do_probe_ddc_edid, adapter, NULL);
>  	drm_connector_update_edid_property(connector, edid);
>  	return edid;
>  }
>  EXPORT_SYMBOL(drm_get_edid);
>  
> +/**
> + * drm_edid_read_acpi - get EDID data, if available
> + * @connector: connector we're probing
> + *
> + * Use the BIOS to attempt to grab EDID data if possible.
> + *
> + * The returned pointer must be freed using drm_edid_free().
> + *
> + * Return: Pointer to valid EDID or NULL if we couldn't find any.
> + */
> +const struct drm_edid *drm_edid_read_acpi(struct drm_connector *connector)
> +{
> +	const struct drm_edid *drm_edid;
> +
> +	if (connector->force == DRM_FORCE_OFF)
> +		return NULL;
> +
> +	drm_edid = drm_edid_read_custom(connector, drm_do_probe_acpi_edid, connector);
> +
> +	/* Note: Do *not* call connector updates here. */
> +
> +	return drm_edid;
> +}
> +EXPORT_SYMBOL(drm_edid_read_acpi);
> +
>  /**
>   * drm_edid_read_custom - Read EDID data using given EDID block read function
>   * @connector: Connector to use
> @@ -2727,10 +2811,11 @@ const struct drm_edid *drm_edid_read_ddc(struct drm_connector *connector,
>  EXPORT_SYMBOL(drm_edid_read_ddc);
>  
>  /**
> - * drm_edid_read - Read EDID data using connector's I2C adapter
> + * drm_edid_read - Read EDID data using BIOS or connector's I2C adapter
>   * @connector: Connector to use
>   *
> - * Read EDID using the connector's I2C adapter.
> + * Read EDID from BIOS if allowed by connector or by using the connector's
> + * I2C adapter.
>   *
>   * The EDID may be overridden using debugfs override_edid or firmware EDID
>   * (drm_edid_load_firmware() and drm.edid_firmware parameter), in this priority
> @@ -2742,10 +2827,18 @@ EXPORT_SYMBOL(drm_edid_read_ddc);
>   */
>  const struct drm_edid *drm_edid_read(struct drm_connector *connector)
>  {
> +	const struct drm_edid *drm_edid = NULL;
> +
>  	if (drm_WARN_ON(connector->dev, !connector->ddc))
>  		return NULL;
>  
> -	return drm_edid_read_ddc(connector, connector->ddc);
> +	if (connector->acpi_edid_allowed)
> +		drm_edid = drm_edid_read_acpi(connector);
> +
> +	if (!drm_edid)
> +		drm_edid = drm_edid_read_ddc(connector, connector->ddc);
> +
> +	return drm_edid;
>  }
>  EXPORT_SYMBOL(drm_edid_read);
>  
> diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
> index fe88d7fc6b8f..74ed47f37a69 100644
> --- a/include/drm/drm_connector.h
> +++ b/include/drm/drm_connector.h
> @@ -1886,6 +1886,12 @@ struct drm_connector {
>  
>  	/** @hdr_sink_metadata: HDR Metadata Information read from sink */
>  	struct hdr_sink_metadata hdr_sink_metadata;
> +
> +	/**
> +	 * @acpi_edid_allowed: Get the EDID from the BIOS, if available.
> +	 * This is only applicable to eDP and LVDS displays.
> +	 */
> +	bool acpi_edid_allowed;
>  };
>  
>  #define obj_to_connector(x) container_of(x, struct drm_connector, base)
> diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h
> index 7923bc00dc7a..1c1ee927de9c 100644
> --- a/include/drm/drm_edid.h
> +++ b/include/drm/drm_edid.h
> @@ -459,5 +459,6 @@ bool drm_edid_is_digital(const struct drm_edid *drm_edid);
>  
>  const u8 *drm_find_edid_extension(const struct drm_edid *drm_edid,
>  				  int ext_id, int *ext_index);
> +const struct drm_edid *drm_edid_read_acpi(struct drm_connector *connector);
>  
>  #endif /* __DRM_EDID_H__ */

-- 
Jani Nikula, Intel

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

* Re: [PATCH v6 3/5] drm: Add support to get EDID from ACPI
  2024-02-14 23:13   ` Ville Syrjälä
@ 2024-02-15 14:13     ` Jani Nikula
  2024-02-15 18:20     ` Mario Limonciello
  1 sibling, 0 replies; 26+ messages in thread
From: Jani Nikula @ 2024-02-15 14:13 UTC (permalink / raw)
  To: Ville Syrjälä, Mario Limonciello
  Cc: Daniel Vetter, Alex Deucher, Hans de Goede,
	open list:DRM DRIVERS, amd-gfx, open list:USB SUBSYSTEM,
	linux-fbdev, nouveau, intel-gfx, platform-driver-x86, intel-xe,
	linux-renesas-soc, open list:ACPI, open list, Melissa Wen,
	Mark Pearson

On Thu, 15 Feb 2024, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Wed, Feb 14, 2024 at 03:57:54PM -0600, Mario Limonciello wrote:
>> +static int
>> +drm_do_probe_acpi_edid(void *data, u8 *buf, unsigned int block, size_t len)
>> +{
>> +	struct drm_connector *connector = data;
>> +	struct drm_device *ddev = connector->dev;
>> +	struct acpi_device *acpidev = ACPI_COMPANION(ddev->dev);
>> +	unsigned char start = block * EDID_LENGTH;
>> +	void *edid;
>> +	int r;
>> +
>> +	if (!acpidev)
>> +		return -ENODEV;
>> +
>> +	switch (connector->connector_type) {
>> +	case DRM_MODE_CONNECTOR_LVDS:
>> +	case DRM_MODE_CONNECTOR_eDP:
>> +		break;
>> +	default:
>> +		return -EINVAL;
>> +	}
>
> We could have other types of connectors that want this too.
> I don't see any real benefit in having this check tbh. Drivers
> should simply notset the flag on connectors where it won't work,
> and only the driver can really know that.

Agreed.

>>  const struct drm_edid *drm_edid_read(struct drm_connector *connector)
>>  {
>> +	const struct drm_edid *drm_edid = NULL;
>> +
>>  	if (drm_WARN_ON(connector->dev, !connector->ddc))
>>  		return NULL;
>>  
>> -	return drm_edid_read_ddc(connector, connector->ddc);
>> +	if (connector->acpi_edid_allowed)
>
> That should probably be called 'prefer_acpi_edid' or something
> since it's the first choice when the flag is set.
>
> But I'm not so sure there's any real benefit in having this
> flag at all. You anyway have to modify the driver to use this,
> so why not just have the driver do the call directly instead of
> adding this extra detour via the flag?

Heh, round and round we go [1].


BR,
Jani.

[1] https://lore.kernel.org/r/87sf23auxv.fsf@intel.com


-- 
Jani Nikula, Intel

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

* Re: [PATCH v6 3/5] drm: Add support to get EDID from ACPI
  2024-02-14 23:13   ` Ville Syrjälä
  2024-02-15 14:13     ` Jani Nikula
@ 2024-02-15 18:20     ` Mario Limonciello
  2024-02-15 18:47       ` Ville Syrjälä
  1 sibling, 1 reply; 26+ messages in thread
From: Mario Limonciello @ 2024-02-15 18:20 UTC (permalink / raw)
  To: Ville Syrjälä
  Cc: Daniel Vetter, Jani Nikula, Alex Deucher, Hans de Goede,
	open list:DRM DRIVERS, amd-gfx, open list:USB SUBSYSTEM,
	linux-fbdev, nouveau, intel-gfx, platform-driver-x86, intel-xe,
	linux-renesas-soc, open list:ACPI, open list, Melissa Wen,
	Mark Pearson

On 2/14/2024 17:13, Ville Syrjälä wrote:
> On Wed, Feb 14, 2024 at 03:57:54PM -0600, Mario Limonciello wrote:
>> Some manufacturers have intentionally put an EDID that differs from
>> the EDID on the internal panel on laptops.  Drivers that prefer to
>> fetch this EDID can set a bit on the drm_connector to indicate that
>> the DRM EDID helpers should try to fetch it and it is preferred if
>> it's present.
>>
>> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
>> ---
>>   drivers/gpu/drm/Kconfig     |   1 +
>>   drivers/gpu/drm/drm_edid.c  | 109 +++++++++++++++++++++++++++++++++---
>>   include/drm/drm_connector.h |   6 ++
>>   include/drm/drm_edid.h      |   1 +
>>   4 files changed, 109 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
>> index 872edb47bb53..3db89e6af01d 100644
>> --- a/drivers/gpu/drm/Kconfig
>> +++ b/drivers/gpu/drm/Kconfig
>> @@ -8,6 +8,7 @@
>>   menuconfig DRM
>>   	tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
>>   	depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA
>> +	depends on (ACPI_VIDEO || ACPI_VIDEO=n)
>>   	select DRM_PANEL_ORIENTATION_QUIRKS
>>   	select DRM_KMS_HELPER if DRM_FBDEV_EMULATION
>>   	select FB_CORE if DRM_FBDEV_EMULATION
>> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
>> index 923c4423151c..cdc30c6d05d5 100644
>> --- a/drivers/gpu/drm/drm_edid.c
>> +++ b/drivers/gpu/drm/drm_edid.c
>> @@ -28,6 +28,7 @@
>>    * DEALINGS IN THE SOFTWARE.
>>    */
>>   
>> +#include <acpi/video.h>
>>   #include <linux/bitfield.h>
>>   #include <linux/cec.h>
>>   #include <linux/hdmi.h>
>> @@ -2188,6 +2189,58 @@ drm_do_probe_ddc_edid(void *data, u8 *buf, unsigned int block, size_t len)
>>   	return ret == xfers ? 0 : -1;
>>   }
>>   
>> +/**
>> + * drm_do_probe_acpi_edid() - get EDID information via ACPI _DDC
>> + * @data: struct drm_connector
>> + * @buf: EDID data buffer to be filled
>> + * @block: 128 byte EDID block to start fetching from
>> + * @len: EDID data buffer length to fetch
>> + *
>> + * Try to fetch EDID information by calling acpi_video_get_edid() function.
>> + *
>> + * Return: 0 on success or error code on failure.
>> + */
>> +static int
>> +drm_do_probe_acpi_edid(void *data, u8 *buf, unsigned int block, size_t len)
>> +{
>> +	struct drm_connector *connector = data;
>> +	struct drm_device *ddev = connector->dev;
>> +	struct acpi_device *acpidev = ACPI_COMPANION(ddev->dev);
>> +	unsigned char start = block * EDID_LENGTH;
>> +	void *edid;
>> +	int r;
>> +
>> +	if (!acpidev)
>> +		return -ENODEV;
>> +
>> +	switch (connector->connector_type) {
>> +	case DRM_MODE_CONNECTOR_LVDS:
>> +	case DRM_MODE_CONNECTOR_eDP:
>> +		break;
>> +	default:
>> +		return -EINVAL;
>> +	}
> 
> We could have other types of connectors that want this too.
> I don't see any real benefit in having this check tbh. Drivers
> should simply notset the flag on connectors where it won't work,
> and only the driver can really know that.

Ack.

> 
>> +	/* fetch the entire edid from BIOS */
>> +	r = acpi_video_get_edid(acpidev, ACPI_VIDEO_DISPLAY_LCD, -1, &edid);
>> +	if (r < 0) {
>> +		DRM_DEBUG_KMS("Failed to get EDID from ACPI: %d\n", r);
>> +		return r;
>> +	}
>> +	if (len > r || start > r || start + len > r) {
>> +		r = -EINVAL;
>> +		goto cleanup;
>> +	}
>> +
>> +	memcpy(buf, edid + start, len);
>> +	r = 0;
>> +
>> +cleanup:
>> +	kfree(edid);
>> +
>> +	return r;
>> +}
>> +
>>   static void connector_bad_edid(struct drm_connector *connector,
>>   			       const struct edid *edid, int num_blocks)
>>   {
>> @@ -2621,7 +2674,8 @@ EXPORT_SYMBOL(drm_probe_ddc);
>>    * @connector: connector we're probing
>>    * @adapter: I2C adapter to use for DDC
>>    *
>> - * Poke the given I2C channel to grab EDID data if possible.  If found,
>> + * If the connector allows it, try to fetch EDID data using ACPI. If not found
>> + * poke the given I2C channel to grab EDID data if possible.  If found,
>>    * attach it to the connector.
>>    *
>>    * Return: Pointer to valid EDID or NULL if we couldn't find any.
>> @@ -2629,20 +2683,50 @@ EXPORT_SYMBOL(drm_probe_ddc);
>>   struct edid *drm_get_edid(struct drm_connector *connector,
>>   			  struct i2c_adapter *adapter)
>>   {
>> -	struct edid *edid;
>> +	struct edid *edid = NULL;
>>   
>>   	if (connector->force == DRM_FORCE_OFF)
>>   		return NULL;
>>   
>> -	if (connector->force == DRM_FORCE_UNSPECIFIED && !drm_probe_ddc(adapter))
>> -		return NULL;
>> +	if (connector->acpi_edid_allowed)
>> +		edid = _drm_do_get_edid(connector, drm_do_probe_acpi_edid, connector, NULL);
>> +
>> +	if (!edid) {
>> +		if (connector->force == DRM_FORCE_UNSPECIFIED && !drm_probe_ddc(adapter))
>> +			return NULL;
>> +		edid = _drm_do_get_edid(connector, drm_do_probe_ddc_edid, adapter, NULL);
>> +	}
>>   
>> -	edid = _drm_do_get_edid(connector, drm_do_probe_ddc_edid, adapter, NULL);
>>   	drm_connector_update_edid_property(connector, edid);
>>   	return edid;
>>   }
>>   EXPORT_SYMBOL(drm_get_edid);
>>   
>> +/**
>> + * drm_edid_read_acpi - get EDID data, if available
>> + * @connector: connector we're probing
>> + *
>> + * Use the BIOS to attempt to grab EDID data if possible.
>> + *
>> + * The returned pointer must be freed using drm_edid_free().
>> + *
>> + * Return: Pointer to valid EDID or NULL if we couldn't find any.
>> + */
>> +const struct drm_edid *drm_edid_read_acpi(struct drm_connector *connector)
>> +{
>> +	const struct drm_edid *drm_edid;
>> +
>> +	if (connector->force == DRM_FORCE_OFF)
>> +		return NULL;
>> +
>> +	drm_edid = drm_edid_read_custom(connector, drm_do_probe_acpi_edid, connector);
>> +
>> +	/* Note: Do *not* call connector updates here. */
>> +
>> +	return drm_edid;
>> +}
>> +EXPORT_SYMBOL(drm_edid_read_acpi);
>> +
>>   /**
>>    * drm_edid_read_custom - Read EDID data using given EDID block read function
>>    * @connector: Connector to use
>> @@ -2727,10 +2811,11 @@ const struct drm_edid *drm_edid_read_ddc(struct drm_connector *connector,
>>   EXPORT_SYMBOL(drm_edid_read_ddc);
>>   
>>   /**
>> - * drm_edid_read - Read EDID data using connector's I2C adapter
>> + * drm_edid_read - Read EDID data using BIOS or connector's I2C adapter
>>    * @connector: Connector to use
>>    *
>> - * Read EDID using the connector's I2C adapter.
>> + * Read EDID from BIOS if allowed by connector or by using the connector's
>> + * I2C adapter.
>>    *
>>    * The EDID may be overridden using debugfs override_edid or firmware EDID
>>    * (drm_edid_load_firmware() and drm.edid_firmware parameter), in this priority
>> @@ -2742,10 +2827,18 @@ EXPORT_SYMBOL(drm_edid_read_ddc);
>>    */
>>   const struct drm_edid *drm_edid_read(struct drm_connector *connector)
>>   {
>> +	const struct drm_edid *drm_edid = NULL;
>> +
>>   	if (drm_WARN_ON(connector->dev, !connector->ddc))
>>   		return NULL;
>>   
>> -	return drm_edid_read_ddc(connector, connector->ddc);
>> +	if (connector->acpi_edid_allowed)
> 
> That should probably be called 'prefer_acpi_edid' or something
> since it's the first choice when the flag is set.

OK.

> 
> But I'm not so sure there's any real benefit in having this
> flag at all. You anyway have to modify the driver to use this,
> so why not just have the driver do the call directly instead of
> adding this extra detour via the flag?

This was proposed by Maxime Ripard during v4.

https://lore.kernel.org/dri-devel/ysm2e3vczov7z7vezmexe35fjnkhsakud3elsgggedhk2lknlz@cx7j44y354db/

> 
>> +		drm_edid = drm_edid_read_acpi(connector);
>> +
>> +	if (!drm_edid)
>> +		drm_edid = drm_edid_read_ddc(connector, connector->ddc);
>> +
>> +	return drm_edid;
>>   }
>>   EXPORT_SYMBOL(drm_edid_read);
>>   
>> diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
>> index fe88d7fc6b8f..74ed47f37a69 100644
>> --- a/include/drm/drm_connector.h
>> +++ b/include/drm/drm_connector.h
>> @@ -1886,6 +1886,12 @@ struct drm_connector {
>>   
>>   	/** @hdr_sink_metadata: HDR Metadata Information read from sink */
>>   	struct hdr_sink_metadata hdr_sink_metadata;
>> +
>> +	/**
>> +	 * @acpi_edid_allowed: Get the EDID from the BIOS, if available.
>> +	 * This is only applicable to eDP and LVDS displays.
>> +	 */
>> +	bool acpi_edid_allowed;
> 
> Aren't there other bools/small stuff in there for tighter packing?

Does the compiler automatically do the packing if you put bools nearby 
in a struct?  If so; TIL.

> 
>>   };
>>   
>>   #define obj_to_connector(x) container_of(x, struct drm_connector, base)
>> diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h
>> index 7923bc00dc7a..1c1ee927de9c 100644
>> --- a/include/drm/drm_edid.h
>> +++ b/include/drm/drm_edid.h
>> @@ -459,5 +459,6 @@ bool drm_edid_is_digital(const struct drm_edid *drm_edid);
>>   
>>   const u8 *drm_find_edid_extension(const struct drm_edid *drm_edid,
>>   				  int ext_id, int *ext_index);
>> +const struct drm_edid *drm_edid_read_acpi(struct drm_connector *connector);
>>   
>>   #endif /* __DRM_EDID_H__ */
>> -- 
>> 2.34.1
> 


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

* Re: [PATCH v6 3/5] drm: Add support to get EDID from ACPI
  2024-02-15 18:20     ` Mario Limonciello
@ 2024-02-15 18:47       ` Ville Syrjälä
  2024-02-15 19:03         ` Mario Limonciello
  0 siblings, 1 reply; 26+ messages in thread
From: Ville Syrjälä @ 2024-02-15 18:47 UTC (permalink / raw)
  To: Mario Limonciello
  Cc: Daniel Vetter, Jani Nikula, Alex Deucher, Hans de Goede,
	open list:DRM DRIVERS, amd-gfx, open list:USB SUBSYSTEM,
	linux-fbdev, nouveau, intel-gfx, platform-driver-x86, intel-xe,
	linux-renesas-soc, open list:ACPI, open list, Melissa Wen,
	Mark Pearson

On Thu, Feb 15, 2024 at 12:20:56PM -0600, Mario Limonciello wrote:
> On 2/14/2024 17:13, Ville Syrjälä wrote:
> > On Wed, Feb 14, 2024 at 03:57:54PM -0600, Mario Limonciello wrote:
> >> Some manufacturers have intentionally put an EDID that differs from
> >> the EDID on the internal panel on laptops.  Drivers that prefer to
> >> fetch this EDID can set a bit on the drm_connector to indicate that
> >> the DRM EDID helpers should try to fetch it and it is preferred if
> >> it's present.
> >>
> >> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
> >> ---
> >>   drivers/gpu/drm/Kconfig     |   1 +
> >>   drivers/gpu/drm/drm_edid.c  | 109 +++++++++++++++++++++++++++++++++---
> >>   include/drm/drm_connector.h |   6 ++
> >>   include/drm/drm_edid.h      |   1 +
> >>   4 files changed, 109 insertions(+), 8 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
> >> index 872edb47bb53..3db89e6af01d 100644
> >> --- a/drivers/gpu/drm/Kconfig
> >> +++ b/drivers/gpu/drm/Kconfig
> >> @@ -8,6 +8,7 @@
> >>   menuconfig DRM
> >>   	tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
> >>   	depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA
> >> +	depends on (ACPI_VIDEO || ACPI_VIDEO=n)
> >>   	select DRM_PANEL_ORIENTATION_QUIRKS
> >>   	select DRM_KMS_HELPER if DRM_FBDEV_EMULATION
> >>   	select FB_CORE if DRM_FBDEV_EMULATION
> >> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> >> index 923c4423151c..cdc30c6d05d5 100644
> >> --- a/drivers/gpu/drm/drm_edid.c
> >> +++ b/drivers/gpu/drm/drm_edid.c
> >> @@ -28,6 +28,7 @@
> >>    * DEALINGS IN THE SOFTWARE.
> >>    */
> >>   
> >> +#include <acpi/video.h>
> >>   #include <linux/bitfield.h>
> >>   #include <linux/cec.h>
> >>   #include <linux/hdmi.h>
> >> @@ -2188,6 +2189,58 @@ drm_do_probe_ddc_edid(void *data, u8 *buf, unsigned int block, size_t len)
> >>   	return ret == xfers ? 0 : -1;
> >>   }
> >>   
> >> +/**
> >> + * drm_do_probe_acpi_edid() - get EDID information via ACPI _DDC
> >> + * @data: struct drm_connector
> >> + * @buf: EDID data buffer to be filled
> >> + * @block: 128 byte EDID block to start fetching from
> >> + * @len: EDID data buffer length to fetch
> >> + *
> >> + * Try to fetch EDID information by calling acpi_video_get_edid() function.
> >> + *
> >> + * Return: 0 on success or error code on failure.
> >> + */
> >> +static int
> >> +drm_do_probe_acpi_edid(void *data, u8 *buf, unsigned int block, size_t len)
> >> +{
> >> +	struct drm_connector *connector = data;
> >> +	struct drm_device *ddev = connector->dev;
> >> +	struct acpi_device *acpidev = ACPI_COMPANION(ddev->dev);
> >> +	unsigned char start = block * EDID_LENGTH;
> >> +	void *edid;
> >> +	int r;
> >> +
> >> +	if (!acpidev)
> >> +		return -ENODEV;
> >> +
> >> +	switch (connector->connector_type) {
> >> +	case DRM_MODE_CONNECTOR_LVDS:
> >> +	case DRM_MODE_CONNECTOR_eDP:
> >> +		break;
> >> +	default:
> >> +		return -EINVAL;
> >> +	}
> > 
> > We could have other types of connectors that want this too.
> > I don't see any real benefit in having this check tbh. Drivers
> > should simply notset the flag on connectors where it won't work,
> > and only the driver can really know that.
> 
> Ack.
> 
> > 
> >> +	/* fetch the entire edid from BIOS */
> >> +	r = acpi_video_get_edid(acpidev, ACPI_VIDEO_DISPLAY_LCD, -1, &edid);
> >> +	if (r < 0) {
> >> +		DRM_DEBUG_KMS("Failed to get EDID from ACPI: %d\n", r);
> >> +		return r;
> >> +	}
> >> +	if (len > r || start > r || start + len > r) {
> >> +		r = -EINVAL;
> >> +		goto cleanup;
> >> +	}
> >> +
> >> +	memcpy(buf, edid + start, len);
> >> +	r = 0;
> >> +
> >> +cleanup:
> >> +	kfree(edid);
> >> +
> >> +	return r;
> >> +}
> >> +
> >>   static void connector_bad_edid(struct drm_connector *connector,
> >>   			       const struct edid *edid, int num_blocks)
> >>   {
> >> @@ -2621,7 +2674,8 @@ EXPORT_SYMBOL(drm_probe_ddc);
> >>    * @connector: connector we're probing
> >>    * @adapter: I2C adapter to use for DDC
> >>    *
> >> - * Poke the given I2C channel to grab EDID data if possible.  If found,
> >> + * If the connector allows it, try to fetch EDID data using ACPI. If not found
> >> + * poke the given I2C channel to grab EDID data if possible.  If found,
> >>    * attach it to the connector.
> >>    *
> >>    * Return: Pointer to valid EDID or NULL if we couldn't find any.
> >> @@ -2629,20 +2683,50 @@ EXPORT_SYMBOL(drm_probe_ddc);
> >>   struct edid *drm_get_edid(struct drm_connector *connector,
> >>   			  struct i2c_adapter *adapter)
> >>   {
> >> -	struct edid *edid;
> >> +	struct edid *edid = NULL;
> >>   
> >>   	if (connector->force == DRM_FORCE_OFF)
> >>   		return NULL;
> >>   
> >> -	if (connector->force == DRM_FORCE_UNSPECIFIED && !drm_probe_ddc(adapter))
> >> -		return NULL;
> >> +	if (connector->acpi_edid_allowed)
> >> +		edid = _drm_do_get_edid(connector, drm_do_probe_acpi_edid, connector, NULL);
> >> +
> >> +	if (!edid) {
> >> +		if (connector->force == DRM_FORCE_UNSPECIFIED && !drm_probe_ddc(adapter))
> >> +			return NULL;
> >> +		edid = _drm_do_get_edid(connector, drm_do_probe_ddc_edid, adapter, NULL);
> >> +	}
> >>   
> >> -	edid = _drm_do_get_edid(connector, drm_do_probe_ddc_edid, adapter, NULL);
> >>   	drm_connector_update_edid_property(connector, edid);
> >>   	return edid;
> >>   }
> >>   EXPORT_SYMBOL(drm_get_edid);
> >>   
> >> +/**
> >> + * drm_edid_read_acpi - get EDID data, if available
> >> + * @connector: connector we're probing
> >> + *
> >> + * Use the BIOS to attempt to grab EDID data if possible.
> >> + *
> >> + * The returned pointer must be freed using drm_edid_free().
> >> + *
> >> + * Return: Pointer to valid EDID or NULL if we couldn't find any.
> >> + */
> >> +const struct drm_edid *drm_edid_read_acpi(struct drm_connector *connector)
> >> +{
> >> +	const struct drm_edid *drm_edid;
> >> +
> >> +	if (connector->force == DRM_FORCE_OFF)
> >> +		return NULL;
> >> +
> >> +	drm_edid = drm_edid_read_custom(connector, drm_do_probe_acpi_edid, connector);
> >> +
> >> +	/* Note: Do *not* call connector updates here. */
> >> +
> >> +	return drm_edid;
> >> +}
> >> +EXPORT_SYMBOL(drm_edid_read_acpi);
> >> +
> >>   /**
> >>    * drm_edid_read_custom - Read EDID data using given EDID block read function
> >>    * @connector: Connector to use
> >> @@ -2727,10 +2811,11 @@ const struct drm_edid *drm_edid_read_ddc(struct drm_connector *connector,
> >>   EXPORT_SYMBOL(drm_edid_read_ddc);
> >>   
> >>   /**
> >> - * drm_edid_read - Read EDID data using connector's I2C adapter
> >> + * drm_edid_read - Read EDID data using BIOS or connector's I2C adapter
> >>    * @connector: Connector to use
> >>    *
> >> - * Read EDID using the connector's I2C adapter.
> >> + * Read EDID from BIOS if allowed by connector or by using the connector's
> >> + * I2C adapter.
> >>    *
> >>    * The EDID may be overridden using debugfs override_edid or firmware EDID
> >>    * (drm_edid_load_firmware() and drm.edid_firmware parameter), in this priority
> >> @@ -2742,10 +2827,18 @@ EXPORT_SYMBOL(drm_edid_read_ddc);
> >>    */
> >>   const struct drm_edid *drm_edid_read(struct drm_connector *connector)
> >>   {
> >> +	const struct drm_edid *drm_edid = NULL;
> >> +
> >>   	if (drm_WARN_ON(connector->dev, !connector->ddc))
> >>   		return NULL;
> >>   
> >> -	return drm_edid_read_ddc(connector, connector->ddc);
> >> +	if (connector->acpi_edid_allowed)
> > 
> > That should probably be called 'prefer_acpi_edid' or something
> > since it's the first choice when the flag is set.
> 
> OK.
> 
> > 
> > But I'm not so sure there's any real benefit in having this
> > flag at all. You anyway have to modify the driver to use this,
> > so why not just have the driver do the call directly instead of
> > adding this extra detour via the flag?
> 
> This was proposed by Maxime Ripard during v4.
> 
> https://lore.kernel.org/dri-devel/ysm2e3vczov7z7vezmexe35fjnkhsakud3elsgggedhk2lknlz@cx7j44y354db/

Which somewhat ignores Jani's concerns about potentially
bogus EDIDs coming from ACPI, as well as not allowing
the driver to dictate the priority between ACPI vs. DDC
vs. whatever else methods are available. Eg. i915 has
at least one other place where it could get the EDID.
So I don't think i915 could use this version.

But as long we still have the individual methods available
as separate exported functions I suppose drivers can still
choose to stitch their own thing together.

I just don't see much point in having that midlayer.
I don't think drivers can just plug that thing straight
into an existing vfunc or can they? If not, then they still
have to implement the actual function where it gets called.
And once you're doing that, calling two functions instead of
one seems about the same amount of work as setting that flag.

But if people think it's actually useful for them
I won't stand in the way.

> 
> > 
> >> +		drm_edid = drm_edid_read_acpi(connector);
> >> +
> >> +	if (!drm_edid)
> >> +		drm_edid = drm_edid_read_ddc(connector, connector->ddc);
> >> +
> >> +	return drm_edid;
> >>   }
> >>   EXPORT_SYMBOL(drm_edid_read);
> >>   
> >> diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
> >> index fe88d7fc6b8f..74ed47f37a69 100644
> >> --- a/include/drm/drm_connector.h
> >> +++ b/include/drm/drm_connector.h
> >> @@ -1886,6 +1886,12 @@ struct drm_connector {
> >>   
> >>   	/** @hdr_sink_metadata: HDR Metadata Information read from sink */
> >>   	struct hdr_sink_metadata hdr_sink_metadata;
> >> +
> >> +	/**
> >> +	 * @acpi_edid_allowed: Get the EDID from the BIOS, if available.
> >> +	 * This is only applicable to eDP and LVDS displays.
> >> +	 */
> >> +	bool acpi_edid_allowed;
> > 
> > Aren't there other bools/small stuff in there for tighter packing?
> 
> Does the compiler automatically do the packing if you put bools nearby 
> in a struct?  If so; TIL.

Yes. Well, depends on the types and their alignment requirements
of course, and/or whether you specified __packed or not.

You can use 'pahole' to find the holes in structures.

> 
> > 
> >>   };
> >>   
> >>   #define obj_to_connector(x) container_of(x, struct drm_connector, base)
> >> diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h
> >> index 7923bc00dc7a..1c1ee927de9c 100644
> >> --- a/include/drm/drm_edid.h
> >> +++ b/include/drm/drm_edid.h
> >> @@ -459,5 +459,6 @@ bool drm_edid_is_digital(const struct drm_edid *drm_edid);
> >>   
> >>   const u8 *drm_find_edid_extension(const struct drm_edid *drm_edid,
> >>   				  int ext_id, int *ext_index);
> >> +const struct drm_edid *drm_edid_read_acpi(struct drm_connector *connector);
> >>   
> >>   #endif /* __DRM_EDID_H__ */
> >> -- 
> >> 2.34.1
> > 

-- 
Ville Syrjälä
Intel

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

* Re: [PATCH v6 3/5] drm: Add support to get EDID from ACPI
  2024-02-15 18:47       ` Ville Syrjälä
@ 2024-02-15 19:03         ` Mario Limonciello
  2024-04-17 14:18           ` Geert Uytterhoeven
  0 siblings, 1 reply; 26+ messages in thread
From: Mario Limonciello @ 2024-02-15 19:03 UTC (permalink / raw)
  To: Ville Syrjälä
  Cc: Daniel Vetter, Jani Nikula, Alex Deucher, Hans de Goede,
	open list:DRM DRIVERS, amd-gfx, open list:USB SUBSYSTEM,
	linux-fbdev, nouveau, intel-gfx, platform-driver-x86, intel-xe,
	linux-renesas-soc, open list:ACPI, open list, Melissa Wen,
	Mark Pearson

On 2/15/2024 12:47, Ville Syrjälä wrote:
> On Thu, Feb 15, 2024 at 12:20:56PM -0600, Mario Limonciello wrote:
>> On 2/14/2024 17:13, Ville Syrjälä wrote:
>>> On Wed, Feb 14, 2024 at 03:57:54PM -0600, Mario Limonciello wrote:
>>>> Some manufacturers have intentionally put an EDID that differs from
>>>> the EDID on the internal panel on laptops.  Drivers that prefer to
>>>> fetch this EDID can set a bit on the drm_connector to indicate that
>>>> the DRM EDID helpers should try to fetch it and it is preferred if
>>>> it's present.
>>>>
>>>> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
>>>> ---
>>>>    drivers/gpu/drm/Kconfig     |   1 +
>>>>    drivers/gpu/drm/drm_edid.c  | 109 +++++++++++++++++++++++++++++++++---
>>>>    include/drm/drm_connector.h |   6 ++
>>>>    include/drm/drm_edid.h      |   1 +
>>>>    4 files changed, 109 insertions(+), 8 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
>>>> index 872edb47bb53..3db89e6af01d 100644
>>>> --- a/drivers/gpu/drm/Kconfig
>>>> +++ b/drivers/gpu/drm/Kconfig
>>>> @@ -8,6 +8,7 @@
>>>>    menuconfig DRM
>>>>    	tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
>>>>    	depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA
>>>> +	depends on (ACPI_VIDEO || ACPI_VIDEO=n)
>>>>    	select DRM_PANEL_ORIENTATION_QUIRKS
>>>>    	select DRM_KMS_HELPER if DRM_FBDEV_EMULATION
>>>>    	select FB_CORE if DRM_FBDEV_EMULATION
>>>> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
>>>> index 923c4423151c..cdc30c6d05d5 100644
>>>> --- a/drivers/gpu/drm/drm_edid.c
>>>> +++ b/drivers/gpu/drm/drm_edid.c
>>>> @@ -28,6 +28,7 @@
>>>>     * DEALINGS IN THE SOFTWARE.
>>>>     */
>>>>    
>>>> +#include <acpi/video.h>
>>>>    #include <linux/bitfield.h>
>>>>    #include <linux/cec.h>
>>>>    #include <linux/hdmi.h>
>>>> @@ -2188,6 +2189,58 @@ drm_do_probe_ddc_edid(void *data, u8 *buf, unsigned int block, size_t len)
>>>>    	return ret == xfers ? 0 : -1;
>>>>    }
>>>>    
>>>> +/**
>>>> + * drm_do_probe_acpi_edid() - get EDID information via ACPI _DDC
>>>> + * @data: struct drm_connector
>>>> + * @buf: EDID data buffer to be filled
>>>> + * @block: 128 byte EDID block to start fetching from
>>>> + * @len: EDID data buffer length to fetch
>>>> + *
>>>> + * Try to fetch EDID information by calling acpi_video_get_edid() function.
>>>> + *
>>>> + * Return: 0 on success or error code on failure.
>>>> + */
>>>> +static int
>>>> +drm_do_probe_acpi_edid(void *data, u8 *buf, unsigned int block, size_t len)
>>>> +{
>>>> +	struct drm_connector *connector = data;
>>>> +	struct drm_device *ddev = connector->dev;
>>>> +	struct acpi_device *acpidev = ACPI_COMPANION(ddev->dev);
>>>> +	unsigned char start = block * EDID_LENGTH;
>>>> +	void *edid;
>>>> +	int r;
>>>> +
>>>> +	if (!acpidev)
>>>> +		return -ENODEV;
>>>> +
>>>> +	switch (connector->connector_type) {
>>>> +	case DRM_MODE_CONNECTOR_LVDS:
>>>> +	case DRM_MODE_CONNECTOR_eDP:
>>>> +		break;
>>>> +	default:
>>>> +		return -EINVAL;
>>>> +	}
>>>
>>> We could have other types of connectors that want this too.
>>> I don't see any real benefit in having this check tbh. Drivers
>>> should simply notset the flag on connectors where it won't work,
>>> and only the driver can really know that.
>>
>> Ack.
>>
>>>
>>>> +	/* fetch the entire edid from BIOS */
>>>> +	r = acpi_video_get_edid(acpidev, ACPI_VIDEO_DISPLAY_LCD, -1, &edid);
>>>> +	if (r < 0) {
>>>> +		DRM_DEBUG_KMS("Failed to get EDID from ACPI: %d\n", r);
>>>> +		return r;
>>>> +	}
>>>> +	if (len > r || start > r || start + len > r) {
>>>> +		r = -EINVAL;
>>>> +		goto cleanup;
>>>> +	}
>>>> +
>>>> +	memcpy(buf, edid + start, len);
>>>> +	r = 0;
>>>> +
>>>> +cleanup:
>>>> +	kfree(edid);
>>>> +
>>>> +	return r;
>>>> +}
>>>> +
>>>>    static void connector_bad_edid(struct drm_connector *connector,
>>>>    			       const struct edid *edid, int num_blocks)
>>>>    {
>>>> @@ -2621,7 +2674,8 @@ EXPORT_SYMBOL(drm_probe_ddc);
>>>>     * @connector: connector we're probing
>>>>     * @adapter: I2C adapter to use for DDC
>>>>     *
>>>> - * Poke the given I2C channel to grab EDID data if possible.  If found,
>>>> + * If the connector allows it, try to fetch EDID data using ACPI. If not found
>>>> + * poke the given I2C channel to grab EDID data if possible.  If found,
>>>>     * attach it to the connector.
>>>>     *
>>>>     * Return: Pointer to valid EDID or NULL if we couldn't find any.
>>>> @@ -2629,20 +2683,50 @@ EXPORT_SYMBOL(drm_probe_ddc);
>>>>    struct edid *drm_get_edid(struct drm_connector *connector,
>>>>    			  struct i2c_adapter *adapter)
>>>>    {
>>>> -	struct edid *edid;
>>>> +	struct edid *edid = NULL;
>>>>    
>>>>    	if (connector->force == DRM_FORCE_OFF)
>>>>    		return NULL;
>>>>    
>>>> -	if (connector->force == DRM_FORCE_UNSPECIFIED && !drm_probe_ddc(adapter))
>>>> -		return NULL;
>>>> +	if (connector->acpi_edid_allowed)
>>>> +		edid = _drm_do_get_edid(connector, drm_do_probe_acpi_edid, connector, NULL);
>>>> +
>>>> +	if (!edid) {
>>>> +		if (connector->force == DRM_FORCE_UNSPECIFIED && !drm_probe_ddc(adapter))
>>>> +			return NULL;
>>>> +		edid = _drm_do_get_edid(connector, drm_do_probe_ddc_edid, adapter, NULL);
>>>> +	}
>>>>    
>>>> -	edid = _drm_do_get_edid(connector, drm_do_probe_ddc_edid, adapter, NULL);
>>>>    	drm_connector_update_edid_property(connector, edid);
>>>>    	return edid;
>>>>    }
>>>>    EXPORT_SYMBOL(drm_get_edid);
>>>>    
>>>> +/**
>>>> + * drm_edid_read_acpi - get EDID data, if available
>>>> + * @connector: connector we're probing
>>>> + *
>>>> + * Use the BIOS to attempt to grab EDID data if possible.
>>>> + *
>>>> + * The returned pointer must be freed using drm_edid_free().
>>>> + *
>>>> + * Return: Pointer to valid EDID or NULL if we couldn't find any.
>>>> + */
>>>> +const struct drm_edid *drm_edid_read_acpi(struct drm_connector *connector)
>>>> +{
>>>> +	const struct drm_edid *drm_edid;
>>>> +
>>>> +	if (connector->force == DRM_FORCE_OFF)
>>>> +		return NULL;
>>>> +
>>>> +	drm_edid = drm_edid_read_custom(connector, drm_do_probe_acpi_edid, connector);
>>>> +
>>>> +	/* Note: Do *not* call connector updates here. */
>>>> +
>>>> +	return drm_edid;
>>>> +}
>>>> +EXPORT_SYMBOL(drm_edid_read_acpi);
>>>> +
>>>>    /**
>>>>     * drm_edid_read_custom - Read EDID data using given EDID block read function
>>>>     * @connector: Connector to use
>>>> @@ -2727,10 +2811,11 @@ const struct drm_edid *drm_edid_read_ddc(struct drm_connector *connector,
>>>>    EXPORT_SYMBOL(drm_edid_read_ddc);
>>>>    
>>>>    /**
>>>> - * drm_edid_read - Read EDID data using connector's I2C adapter
>>>> + * drm_edid_read - Read EDID data using BIOS or connector's I2C adapter
>>>>     * @connector: Connector to use
>>>>     *
>>>> - * Read EDID using the connector's I2C adapter.
>>>> + * Read EDID from BIOS if allowed by connector or by using the connector's
>>>> + * I2C adapter.
>>>>     *
>>>>     * The EDID may be overridden using debugfs override_edid or firmware EDID
>>>>     * (drm_edid_load_firmware() and drm.edid_firmware parameter), in this priority
>>>> @@ -2742,10 +2827,18 @@ EXPORT_SYMBOL(drm_edid_read_ddc);
>>>>     */
>>>>    const struct drm_edid *drm_edid_read(struct drm_connector *connector)
>>>>    {
>>>> +	const struct drm_edid *drm_edid = NULL;
>>>> +
>>>>    	if (drm_WARN_ON(connector->dev, !connector->ddc))
>>>>    		return NULL;
>>>>    
>>>> -	return drm_edid_read_ddc(connector, connector->ddc);
>>>> +	if (connector->acpi_edid_allowed)
>>>
>>> That should probably be called 'prefer_acpi_edid' or something
>>> since it's the first choice when the flag is set.
>>
>> OK.
>>
>>>
>>> But I'm not so sure there's any real benefit in having this
>>> flag at all. You anyway have to modify the driver to use this,
>>> so why not just have the driver do the call directly instead of
>>> adding this extra detour via the flag?
>>
>> This was proposed by Maxime Ripard during v4.
>>
>> https://lore.kernel.org/dri-devel/ysm2e3vczov7z7vezmexe35fjnkhsakud3elsgggedhk2lknlz@cx7j44y354db/
> 
> Which somewhat ignores Jani's concerns about potentially
> bogus EDIDs coming from ACPI, as well as not allowing
> the driver to dictate the priority between ACPI vs. DDC
> vs. whatever else methods are available. Eg. i915 has
> at least one other place where it could get the EDID.
> So I don't think i915 could use this version.
> 
> But as long we still have the individual methods available
> as separate exported functions I suppose drivers can still
> choose to stitch their own thing together.
> 
> I just don't see much point in having that midlayer.
> I don't think drivers can just plug that thing straight
> into an existing vfunc or can they? If not, then they still
> have to implement the actual function where it gets called.
> And once you're doing that, calling two functions instead of
> one seems about the same amount of work as setting that flag.
> 
> But if people think it's actually useful for them
> I won't stand in the way.

The series as is works on an OEM laptop I have on my desk with
an amdgpu that has the EDID in the BIOS.

All that had to be done for amdgpu was to set the flag (which is what 
patch 4 does).

> 
>>
>>>
>>>> +		drm_edid = drm_edid_read_acpi(connector);
>>>> +
>>>> +	if (!drm_edid)
>>>> +		drm_edid = drm_edid_read_ddc(connector, connector->ddc);
>>>> +
>>>> +	return drm_edid;
>>>>    }
>>>>    EXPORT_SYMBOL(drm_edid_read);
>>>>    
>>>> diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
>>>> index fe88d7fc6b8f..74ed47f37a69 100644
>>>> --- a/include/drm/drm_connector.h
>>>> +++ b/include/drm/drm_connector.h
>>>> @@ -1886,6 +1886,12 @@ struct drm_connector {
>>>>    
>>>>    	/** @hdr_sink_metadata: HDR Metadata Information read from sink */
>>>>    	struct hdr_sink_metadata hdr_sink_metadata;
>>>> +
>>>> +	/**
>>>> +	 * @acpi_edid_allowed: Get the EDID from the BIOS, if available.
>>>> +	 * This is only applicable to eDP and LVDS displays.
>>>> +	 */
>>>> +	bool acpi_edid_allowed;
>>>
>>> Aren't there other bools/small stuff in there for tighter packing?
>>
>> Does the compiler automatically do the packing if you put bools nearby
>> in a struct?  If so; TIL.
> 
> Yes. Well, depends on the types and their alignment requirements
> of course, and/or whether you specified __packed or not.
> 
> You can use 'pahole' to find the holes in structures.
> 

Thanks!  I don't see a __packed attribute on struct drm_connector, but 
I'll put it near by other bools in case that changes in the future.

>>
>>>
>>>>    };
>>>>    
>>>>    #define obj_to_connector(x) container_of(x, struct drm_connector, base)
>>>> diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h
>>>> index 7923bc00dc7a..1c1ee927de9c 100644
>>>> --- a/include/drm/drm_edid.h
>>>> +++ b/include/drm/drm_edid.h
>>>> @@ -459,5 +459,6 @@ bool drm_edid_is_digital(const struct drm_edid *drm_edid);
>>>>    
>>>>    const u8 *drm_find_edid_extension(const struct drm_edid *drm_edid,
>>>>    				  int ext_id, int *ext_index);
>>>> +const struct drm_edid *drm_edid_read_acpi(struct drm_connector *connector);
>>>>    
>>>>    #endif /* __DRM_EDID_H__ */
>>>> -- 
>>>> 2.34.1
>>>
> 


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

* Re: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
  2024-02-14 21:57 ` [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers Mario Limonciello
@ 2024-02-15 20:47   ` kernel test robot
  2024-02-15 20:59   ` kernel test robot
                     ` (11 subsequent siblings)
  12 siblings, 0 replies; 26+ messages in thread
From: kernel test robot @ 2024-02-15 20:47 UTC (permalink / raw)
  To: Mario Limonciello, Daniel Vetter, Jani Nikula, Alex Deucher,
	Hans de Goede, open list:DRM DRIVERS
  Cc: oe-kbuild-all, amd-gfx, open list:USB SUBSYSTEM, linux-fbdev,
	nouveau, intel-gfx, platform-driver-x86, intel-xe,
	linux-renesas-soc, open list:ACPI, open list, Melissa Wen,
	Mark Pearson, Mario Limonciello

Hi Mario,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-misc/drm-misc-next]
[also build test ERROR on drm-intel/for-linux-next-fixes drm-tip/drm-tip linus/master v6.8-rc4 next-20240215]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Mario-Limonciello/drm-Stop-using-select-ACPI_VIDEO-in-all-drivers/20240215-055936
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/20240214215756.6530-2-mario.limonciello%40amd.com
patch subject: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
config: openrisc-randconfig-r064-20240215 (https://download.01.org/0day-ci/archive/20240216/202402160446.YAlmYBPI-lkp@intel.com/config)
compiler: or1k-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240216/202402160446.YAlmYBPI-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402160446.YAlmYBPI-lkp@intel.com/

All errors (new ones prefixed by >>):

   or1k-linux-ld: drivers/video/fbdev/nvidia/nv_backlight.o: in function `nvidia_bl_init':
>> nv_backlight.c:(.text+0x26c): undefined reference to `backlight_device_register'
>> nv_backlight.c:(.text+0x26c): relocation truncated to fit: R_OR1K_INSN_REL_26 against undefined symbol `backlight_device_register'
   or1k-linux-ld: drivers/video/fbdev/nvidia/nv_backlight.o: in function `nvidia_bl_exit':
>> nv_backlight.c:(.text+0x32c): undefined reference to `backlight_device_unregister'
>> nv_backlight.c:(.text+0x32c): relocation truncated to fit: R_OR1K_INSN_REL_26 against undefined symbol `backlight_device_unregister'
   or1k-linux-ld: drivers/video/fbdev/aty/aty128fb.o: in function `aty128_remove':
>> aty128fb.c:(.text+0x14c): undefined reference to `backlight_device_unregister'
>> aty128fb.c:(.text+0x14c): relocation truncated to fit: R_OR1K_INSN_REL_26 against undefined symbol `backlight_device_unregister'
   or1k-linux-ld: drivers/video/fbdev/aty/aty128fb.o: in function `aty128_init':
>> aty128fb.c:(.text.unlikely+0x5bc): undefined reference to `backlight_device_register'
>> aty128fb.c:(.text.unlikely+0x5bc): relocation truncated to fit: R_OR1K_INSN_REL_26 against undefined symbol `backlight_device_register'
   or1k-linux-ld: drivers/auxdisplay/ht16k33.o: in function `ht16k33_fbdev_probe':
>> ht16k33.c:(.text+0x17f4): undefined reference to `devm_backlight_device_register'
>> ht16k33.c:(.text+0x17f4): relocation truncated to fit: R_OR1K_INSN_REL_26 against undefined symbol `devm_backlight_device_register'

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for FB_BACKLIGHT
   Depends on [n]: HAS_IOMEM [=y] && FB [=y] && BACKLIGHT_CLASS_DEVICE [=n]
   Selected by [y]:
   - HT16K33 [=y] && AUXDISPLAY [=y] && FB [=y] && I2C [=y] && INPUT [=y]
   - FB_ATMEL [=y] && FB [=y] && OF [=y] && HAVE_CLK [=y] && HAS_IOMEM [=y] && (HAVE_FB_ATMEL [=n] || COMPILE_TEST [=y])
   - FB_NVIDIA [=y] && HAS_IOMEM [=y] && FB [=y] && PCI [=y] && FB_NVIDIA_BACKLIGHT [=y]
   - FB_ATY128 [=y] && HAS_IOMEM [=y] && FB [=y] && PCI [=y] && FB_ATY128_BACKLIGHT [=y]

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
  2024-02-14 21:57 ` [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers Mario Limonciello
  2024-02-15 20:47   ` kernel test robot
@ 2024-02-15 20:59   ` kernel test robot
  2024-02-16  0:49   ` kernel test robot
                     ` (10 subsequent siblings)
  12 siblings, 0 replies; 26+ messages in thread
From: kernel test robot @ 2024-02-15 20:59 UTC (permalink / raw)
  To: Mario Limonciello, Daniel Vetter, Jani Nikula, Alex Deucher,
	Hans de Goede, open list:DRM DRIVERS
  Cc: Paul Gazzillo, Necip Fazil Yildiran, oe-kbuild-all, amd-gfx,
	open list:USB SUBSYSTEM, linux-fbdev, nouveau, intel-gfx,
	platform-driver-x86, intel-xe, linux-renesas-soc, open list:ACPI,
	open list, Melissa Wen, Mark Pearson, Mario Limonciello

Hi Mario,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on drm-intel/for-linux-next-fixes drm-tip/drm-tip linus/master v6.8-rc4 next-20240215]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Mario-Limonciello/drm-Stop-using-select-ACPI_VIDEO-in-all-drivers/20240215-055936
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/20240214215756.6530-2-mario.limonciello%40amd.com
patch subject: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
config: alpha-kismet-CONFIG_FB_BACKLIGHT-CONFIG_FB_ATMEL-0-0 (https://download.01.org/0day-ci/archive/20240216/202402160459.DYHkPajY-lkp@intel.com/config)
reproduce: (https://download.01.org/0day-ci/archive/20240216/202402160459.DYHkPajY-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402160459.DYHkPajY-lkp@intel.com/

kismet warnings: (new ones prefixed by >>)
>> kismet: WARNING: unmet direct dependencies detected for FB_BACKLIGHT when selected by FB_ATMEL
   .config:166:warning: symbol value 'n' invalid for RAPIDIO_DISC_TIMEOUT
   .config:190:warning: symbol value 'n' invalid for FAT_DEFAULT_CODEPAGE
   .config:241:warning: symbol value 'n' invalid for SATA_MOBILE_LPM_POLICY
   .config:335:warning: symbol value 'n' invalid for AIC79XX_DEBUG_MASK
   .config:344:warning: symbol value 'n' invalid for PSTORE_BLK_MAX_REASON
   .config:426:warning: symbol value 'n' invalid for KFENCE_SAMPLE_INTERVAL
   .config:596:warning: symbol value 'n' invalid for DRM_XE_JOB_TIMEOUT_MIN
   .config:618:warning: symbol value 'n' invalid for CRYPTO_DEV_QCE_SW_MAX_LEN
   .config:712:warning: symbol value 'n' invalid for PANEL_LCD_CHARSET
   .config:752:warning: symbol value 'n' invalid for AIC79XX_CMDS_PER_DEVICE
   .config:770:warning: symbol value 'n' invalid for SND_AC97_POWER_SAVE_DEFAULT
   .config:790:warning: symbol value 'n' invalid for PANEL_LCD_PIN_SDA
   .config:810:warning: symbol value 'n' invalid for MAGIC_SYSRQ_DEFAULT_ENABLE
   .config:823:warning: symbol value 'n' invalid for DRM_I915_MAX_REQUEST_BUSYWAIT
   .config:860:warning: symbol value 'n' invalid for SND_AT73C213_TARGET_BITRATE
   .config:875:warning: symbol value 'n' invalid for DRM_XE_PREEMPT_TIMEOUT_MIN
   .config:884:warning: symbol value 'n' invalid for NET_EMATCH_STACK
   .config:886:warning: symbol value 'n' invalid for VMCP_CMA_SIZE
   .config:917:warning: symbol value 'n' invalid for INPUT_MOUSEDEV_SCREEN_Y
   .config:1139:warning: symbol value 'n' invalid for MTDRAM_ERASE_SIZE
   .config:1233:warning: symbol value 'n' invalid for SERIAL_UARTLITE_NR_UARTS
   .config:1245:warning: symbol value 'n' invalid for USB_GADGET_STORAGE_NUM_BUFFERS
   .config:1403:warning: symbol value 'n' invalid for LEGACY_PTY_COUNT
   .config:1541:warning: symbol value 'n' invalid for WATCHDOG_OPEN_TIMEOUT
   .config:1550:warning: symbol value 'n' invalid for AIC7XXX_RESET_DELAY_MS
   .config:1686:warning: symbol value 'n' invalid for PANEL_LCD_PIN_E
   .config:1717:warning: symbol value 'n' invalid for IBM_EMAC_POLL_WEIGHT
   .config:1805:warning: symbol value 'n' invalid for DRM_I915_STOP_TIMEOUT
   .config:1972:warning: symbol value 'n' invalid for KCOV_IRQ_AREA_SIZE
   .config:2126:warning: symbol value 'n' invalid for RCU_FANOUT_LEAF
   .config:2231:warning: symbol value 'n' invalid for DRM_XE_TIMESLICE_MAX
   .config:2274:warning: symbol value 'n' invalid for PANEL_LCD_BWIDTH
   .config:2465:warning: symbol value 'n' invalid for SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST_NUM
   .config:2585:warning: symbol value 'n' invalid for NOUVEAU_DEBUG_DEFAULT
   .config:2775:warning: symbol value 'n' invalid for KCSAN_REPORT_ONCE_IN_MS
   .config:2836:warning: symbol value 'n' invalid for AIC79XX_RESET_DELAY_MS
   .config:2873:warning: symbol value 'n' invalid for KCSAN_UDELAY_INTERRUPT
   .config:2887:warning: symbol value 'n' invalid for PSTORE_BLK_CONSOLE_SIZE
   .config:2896:warning: symbol value 'n' invalid for PANEL_LCD_PIN_BL
   .config:2920:warning: symbol value 'n' invalid for INITRAMFS_ROOT_GID
   .config:3025:warning: symbol value 'n' invalid for ATM_FORE200E_TX_RETRY
   .config:3062:warning: symbol value 'n' invalid for FB_OMAP2_DSS_MIN_FCK_PER_PCK
   .config:3074:warning: symbol value 'n' invalid for BOOKE_WDT_DEFAULT_TIMEOUT
   .config:3302:warning: symbol value 'n' invalid for KCSAN_UDELAY_TASK
   .config:3394:warning: symbol value 'n' invalid for MTD_REDBOOT_DIRECTORY_BLOCK
   .config:3401:warning: symbol value 'n' invalid for MMC_BLOCK_MINORS
   .config:3404:warning: symbol value 'n' invalid for INET_TABLE_PERTURB_ORDER
   .config:3448:warning: symbol value 'n' invalid for SCSI_NCR53C8XX_SYNC
   .config:3530:warning: symbol value 'n' invalid for SERIAL_ALTERA_UART_BAUDRATE
   .config:3564:warning: symbol value 'n' invalid for UCLAMP_BUCKETS_COUNT
   .config:3640:warning: symbol value 'n' invalid for SERIAL_MCF_BAUDRATE
   .config:3680:warning: symbol value 'n' invalid for STACK_MAX_DEFAULT_SIZE_MB
   .config:3713:warning: symbol value 'n' invalid for DE2104X_DSL
   .config:3724:warning: symbol value 'n' invalid for BLK_DEV_RAM_COUNT
   .config:3970:warning: symbol value 'n' invalid for IP_VS_SH_TAB_BITS
   .config:4097:warning: symbol value 'n' invalid for CMA_AREAS
   .config:4114:warning: symbol value 'n' invalid for USBIP_VHCI_HC_PORTS
   .config:4149:warning: symbol value 'n' invalid for INPUT_MOUSEDEV_SCREEN_X
   .config:4265:warning: symbol value 'n' invalid for RIONET_RX_SIZE
   .config:4408:warning: symbol value 'n' invalid for FTRACE_RECORD_RECURSION_SIZE
   .config:4445:warning: symbol value 'n' invalid for RADIO_TYPHOON_PORT
   .config:4551:warning: symbol value 'n' invalid for SERIAL_TXX9_NR_UARTS
   .config:4565:warning: symbol value 'n' invalid for IBM_EMAC_TXB
   .config:4947:warning: symbol value 'n' invalid for ARCH_MMAP_RND_BITS
   .config:5030:warning: symbol value 'n' invalid for DRM_I915_FENCE_TIMEOUT
   .config:5051:warning: symbol value 'n' invalid for TTY_PRINTK_LEVEL
   .config:5144:warning: symbol value 'n' invalid for IP_VS_MH_TAB_INDEX
   .config:5208:warning: symbol value 'n' invalid for MIPS_EJTAG_FDC_KGDB_CHAN
   .config:5301:warning: symbol value 'n' invalid for KDB_DEFAULT_ENABLE
   .config:5319:warning: symbol value 'n' invalid for SERIAL_ALTERA_UART_MAXPORTS
   .config:5392:warning: symbol value 'n' invalid for PPC_EARLY_DEBUG_EHV_BC_HANDLE
   .config:5433:warning: symbol value 'n' invalid for CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD
   .config:5568:warning: symbol value 'n' invalid for PANEL_LCD_PIN_RW
   .config:5575:warning: symbol value 'n' invalid for PANEL_LCD_HWIDTH
   .config:5607:warning: symbol value 'n' invalid for LOCKDEP_CHAINS_BITS
   .config:5699:warning: symbol value 'n' invalid for DRM_I915_HEARTBEAT_INTERVAL
   .config:5706:warning: symbol value 'n' invalid for KCSAN_SKIP_WATCH
   .config:5729:warning: symbol value 'n' invalid for PSTORE_BLK_KMSG_SIZE
   .config:5933:warning: symbol value 'n' invalid for SERIAL_8250_RUNTIME_UARTS
   .config:6028:warning: symbol value 'n' invalid for ARCH_MMAP_RND_COMPAT_BITS
   .config:6099:warning: symbol value 'n' invalid for SND_MAX_CARDS
   .config:6193:warning: symbol value 'n' invalid for RADIO_TRUST_PORT
   .config:6195:warning: symbol value 'n' invalid for SERIAL_SH_SCI_NR_UARTS
   .config:6218:warning: symbol value 'n' invalid for RCU_BOOST_DELAY
   .config:6553:warning: symbol value 'n' invalid for CMA_SIZE_PERCENTAGE
   .config:6639:warning: symbol value 'n' invalid for DRM_XE_PREEMPT_TIMEOUT_MAX
   .config:6698:warning: symbol value 'n' invalid for DRM_XE_TIMESLICE_MIN
   .config:6739:warning: symbol value 'n' invalid for SCSI_NCR53C8XX_MAX_TAGS
   .config:6746:warning: symbol value 'n' invalid for DVB_MAX_ADAPTERS
   .config:6761:warning: symbol value 'n' invalid for SCSI_SYM53C8XX_DMA_ADDRESSING_MODE
   .config:6879:warning: symbol value 'n' invalid for ZSMALLOC_CHAIN_SIZE
   .config:7073:warning: symbol value 'n' invalid for LOCKDEP_BITS
   .config:7096:warning: symbol value 'n' invalid for SCSI_SYM53C8XX_MAX_TAGS
   .config:7104:warning: symbol value 'n' invalid for IBM_EMAC_RXB
   .config:7163:warning: symbol value 'n' invalid for SERIAL_ARC_NR_PORTS
   .config:7198:warning: symbol value 'n' invalid for SCSI_MESH_RESET_DELAY_MS
   .config:7199:warning: symbol value 'n' invalid for RIONET_TX_SIZE
   .config:7337:warning: symbol value 'n' invalid for SCSI_MPT3SAS_MAX_SGE
   .config:7477:warning: symbol value 'n' invalid for PANEL_LCD
   .config:7508:warning: symbol value 'n' invalid for RCU_FANOUT

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
  2024-02-14 21:57 ` [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers Mario Limonciello
  2024-02-15 20:47   ` kernel test robot
  2024-02-15 20:59   ` kernel test robot
@ 2024-02-16  0:49   ` kernel test robot
  2024-02-16  0:49   ` kernel test robot
                     ` (9 subsequent siblings)
  12 siblings, 0 replies; 26+ messages in thread
From: kernel test robot @ 2024-02-16  0:49 UTC (permalink / raw)
  To: Mario Limonciello, Daniel Vetter, Jani Nikula, Alex Deucher,
	Hans de Goede, open list:DRM DRIVERS
  Cc: Paul Gazzillo, Necip Fazil Yildiran, oe-kbuild-all, amd-gfx,
	open list:USB SUBSYSTEM, linux-fbdev, nouveau, intel-gfx,
	platform-driver-x86, intel-xe, linux-renesas-soc, open list:ACPI,
	open list, Melissa Wen, Mark Pearson, Mario Limonciello

Hi Mario,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on drm-intel/for-linux-next-fixes drm-tip/drm-tip linus/master v6.8-rc4 next-20240215]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Mario-Limonciello/drm-Stop-using-select-ACPI_VIDEO-in-all-drivers/20240215-055936
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/20240214215756.6530-2-mario.limonciello%40amd.com
patch subject: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
config: alpha-kismet-CONFIG_FB_BACKLIGHT-CONFIG_FB_ATY-0-0 (https://download.01.org/0day-ci/archive/20240216/202402160822.2b7VxNN3-lkp@intel.com/config)
reproduce: (https://download.01.org/0day-ci/archive/20240216/202402160822.2b7VxNN3-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402160822.2b7VxNN3-lkp@intel.com/

kismet warnings: (new ones prefixed by >>)
>> kismet: WARNING: unmet direct dependencies detected for FB_BACKLIGHT when selected by FB_ATY
   .config:163:warning: symbol value 'n' invalid for USB_GADGET_STORAGE_NUM_BUFFERS
   .config:241:warning: symbol value 'n' invalid for SATA_MOBILE_LPM_POLICY
   .config:343:warning: symbol value 'n' invalid for PSTORE_BLK_MAX_REASON
   .config:432:warning: symbol value 'n' invalid for KFENCE_SAMPLE_INTERVAL
   .config:572:warning: symbol value 'n' invalid for PANEL_LCD_PIN_E
   .config:596:warning: symbol value 'n' invalid for AIC79XX_DEBUG_MASK
   .config:616:warning: symbol value 'n' invalid for DRM_XE_JOB_TIMEOUT_MIN
   .config:629:warning: symbol value 'n' invalid for CRYPTO_DEV_QCE_SW_MAX_LEN
   .config:738:warning: symbol value 'n' invalid for PANEL_LCD_CHARSET
   .config:794:warning: symbol value 'n' invalid for SND_AC97_POWER_SAVE_DEFAULT
   .config:852:warning: symbol value 'n' invalid for DRM_I915_MAX_REQUEST_BUSYWAIT
   .config:887:warning: symbol value 'n' invalid for SND_AT73C213_TARGET_BITRATE
   .config:902:warning: symbol value 'n' invalid for SERIAL_AR933X_NR_UARTS
   .config:903:warning: symbol value 'n' invalid for DRM_XE_PREEMPT_TIMEOUT_MIN
   .config:911:warning: symbol value 'n' invalid for NET_EMATCH_STACK
   .config:913:warning: symbol value 'n' invalid for VMCP_CMA_SIZE
   .config:986:warning: symbol value 'n' invalid for AIC79XX_CMDS_PER_DEVICE
   .config:1048:warning: symbol value 'n' invalid for PANEL_LCD_PIN_SDA
   .config:1170:warning: symbol value 'n' invalid for MTDRAM_ERASE_SIZE
   .config:1270:warning: symbol value 'n' invalid for SERIAL_UARTLITE_NR_UARTS
   .config:1434:warning: symbol value 'n' invalid for LEGACY_PTY_COUNT
   .config:1578:warning: symbol value 'n' invalid for AIC7XXX_RESET_DELAY_MS
   .config:1614:warning: symbol value 'n' invalid for AIC79XX_RESET_DELAY_MS
   .config:1753:warning: symbol value 'n' invalid for IBM_EMAC_POLL_WEIGHT
   .config:1867:warning: symbol value 'n' invalid for DRM_I915_STOP_TIMEOUT
   .config:2174:warning: symbol value 'n' invalid for RCU_FANOUT_LEAF
   .config:2220:warning: symbol value 'n' invalid for MTD_REDBOOT_DIRECTORY_BLOCK
   .config:2308:warning: symbol value 'n' invalid for DRM_XE_TIMESLICE_MAX
   .config:2320:warning: symbol value 'n' invalid for PANEL_LCD_BWIDTH
   .config:2339:warning: symbol value 'n' invalid for KCOV_IRQ_AREA_SIZE
   .config:2559:warning: symbol value 'n' invalid for PANEL_PARPORT
   .config:2646:warning: symbol value 'n' invalid for NOUVEAU_DEBUG_DEFAULT
   .config:2838:warning: symbol value 'n' invalid for KCSAN_REPORT_ONCE_IN_MS
   .config:2936:warning: symbol value 'n' invalid for KCSAN_UDELAY_INTERRUPT
   .config:2958:warning: symbol value 'n' invalid for PANEL_LCD_PIN_BL
   .config:2971:warning: symbol value 'n' invalid for SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST_NUM
   .config:2976:warning: symbol value 'n' invalid for DEBUG_OBJECTS_ENABLE_DEFAULT
   .config:2984:warning: symbol value 'n' invalid for INITRAMFS_ROOT_GID
   .config:3090:warning: symbol value 'n' invalid for ATM_FORE200E_TX_RETRY
   .config:3124:warning: symbol value 'n' invalid for FB_OMAP2_DSS_MIN_FCK_PER_PCK
   .config:3301:warning: symbol value 'n' invalid for PSTORE_BLK_CONSOLE_SIZE
   .config:3393:warning: symbol value 'n' invalid for FTRACE_RECORD_RECURSION_SIZE
   .config:3415:warning: symbol value 'n' invalid for KCSAN_UDELAY_TASK
   .config:3448:warning: symbol value 'n' invalid for BOOKE_WDT_DEFAULT_TIMEOUT
   .config:3468:warning: symbol value 'n' invalid for MMC_BLOCK_MINORS
   .config:3472:warning: symbol value 'n' invalid for INET_TABLE_PERTURB_ORDER
   .config:3509:warning: symbol value 'n' invalid for SCSI_NCR53C8XX_SYNC
   .config:3557:warning: symbol value 'n' invalid for XEN_MEMORY_HOTPLUG_LIMIT
   .config:3630:warning: symbol value 'n' invalid for UCLAMP_BUCKETS_COUNT
   .config:3748:warning: symbol value 'n' invalid for SERIAL_MCF_BAUDRATE
   .config:3819:warning: symbol value 'n' invalid for DE2104X_DSL
   .config:3828:warning: symbol value 'n' invalid for BLK_DEV_RAM_COUNT
   .config:3978:warning: symbol value 'n' invalid for VGA_ARB_MAX_GPUS
   .config:4041:warning: symbol value 'n' invalid for STACK_MAX_DEFAULT_SIZE_MB
   .config:4085:warning: symbol value 'n' invalid for IP_VS_SH_TAB_BITS
   .config:4118:warning: symbol value 'n' invalid for IP_VS_MH_TAB_INDEX
   .config:4225:warning: symbol value 'n' invalid for INPUT_MOUSEDEV_SCREEN_X
   .config:4241:warning: symbol value 'n' invalid for USBIP_VHCI_HC_PORTS
   .config:4339:warning: symbol value 'n' invalid for RIONET_RX_SIZE
   .config:4568:warning: symbol value 'n' invalid for RADIO_TYPHOON_PORT
   .config:4608:warning: symbol value 'n' invalid for PANEL_LCD_PIN_RW
   .config:4649:warning: symbol value 'n' invalid for IBM_EMAC_TXB
   .config:4689:warning: symbol value 'n' invalid for SERIAL_TXX9_NR_UARTS
   .config:5033:warning: symbol value 'n' invalid for ARCH_MMAP_RND_BITS
   .config:5113:warning: symbol value 'n' invalid for DRM_I915_FENCE_TIMEOUT
   .config:5135:warning: symbol value 'n' invalid for TTY_PRINTK_LEVEL
   .config:5292:warning: symbol value 'n' invalid for MIPS_EJTAG_FDC_KGDB_CHAN
   .config:5385:warning: symbol value 'n' invalid for KDB_DEFAULT_ENABLE
   .config:5402:warning: symbol value 'n' invalid for SERIAL_ALTERA_UART_MAXPORTS
   .config:5456:warning: symbol value 'n' invalid for RCU_BOOST_DELAY
   .config:5564:warning: symbol value 'n' invalid for PPC_EARLY_DEBUG_EHV_BC_HANDLE
   .config:5666:warning: symbol value 'n' invalid for PANEL_LCD_HWIDTH
   .config:5701:warning: symbol value 'n' invalid for LOCKDEP_CHAINS_BITS
   .config:5792:warning: symbol value 'n' invalid for DRM_I915_HEARTBEAT_INTERVAL
   .config:5798:warning: symbol value 'n' invalid for KCSAN_SKIP_WATCH
   .config:5822:warning: symbol value 'n' invalid for PSTORE_BLK_KMSG_SIZE
   .config:5974:warning: symbol value 'n' invalid for DRM_XE_PREEMPT_TIMEOUT_MAX
   .config:6075:warning: symbol value 'n' invalid for CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD
   .config:6121:warning: symbol value 'n' invalid for ARCH_MMAP_RND_COMPAT_BITS
   .config:6289:warning: symbol value 'n' invalid for RADIO_TRUST_PORT
   .config:6400:warning: symbol value 'n' invalid for SERIAL_SH_SCI_NR_UARTS
   .config:6466:warning: symbol value 'n' invalid for SCSI_SYM53C8XX_MAX_TAGS
   .config:6574:warning: symbol value 'n' invalid for MTD_UBI_WL_THRESHOLD
   .config:6603:warning: symbol value 'n' invalid for RIONET_TX_SIZE
   .config:6669:warning: symbol value 'n' invalid for CMA_SIZE_PERCENTAGE
   .config:6807:warning: symbol value 'n' invalid for DRM_XE_TIMESLICE_MIN
   .config:6961:warning: symbol value 'n' invalid for DVB_MAX_ADAPTERS
   .config:6968:warning: symbol value 'n' invalid for SCSI_NCR53C8XX_MAX_TAGS
   .config:6978:warning: symbol value 'n' invalid for SCSI_SYM53C8XX_DMA_ADDRESSING_MODE
   .config:7004:warning: symbol value 'n' invalid for OMAP2_DSS_MIN_FCK_PER_PCK
   .config:7282:warning: symbol value 'n' invalid for SERIAL_ARC_NR_PORTS
   .config:7352:warning: symbol value 'n' invalid for IBM_EMAC_RXB
   .config:7455:warning: symbol value 'n' invalid for SCSI_MPT3SAS_MAX_SGE
   .config:7523:warning: symbol value 'n' invalid for ZSMALLOC_CHAIN_SIZE
   .config:7540:warning: symbol value 'n' invalid for KDB_CONTINUE_CATASTROPHIC
   .config:7587:warning: symbol value 'n' invalid for PSTORE_DEFAULT_KMSG_BYTES
   .config:7632:warning: symbol value 'n' invalid for RCU_FANOUT
   .config:7717:warning: symbol value 'n' invalid for VIDEO_VIVID_MAX_DEVS
   .config:7732:warning: symbol value 'n' invalid for PANEL_LCD
   .config:7781:warning: symbol value 'n' invalid for LOCKDEP_BITS

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
  2024-02-14 21:57 ` [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers Mario Limonciello
                     ` (2 preceding siblings ...)
  2024-02-16  0:49   ` kernel test robot
@ 2024-02-16  0:49   ` kernel test robot
  2024-02-16  5:03   ` kernel test robot
                     ` (8 subsequent siblings)
  12 siblings, 0 replies; 26+ messages in thread
From: kernel test robot @ 2024-02-16  0:49 UTC (permalink / raw)
  To: Mario Limonciello, Daniel Vetter, Jani Nikula, Alex Deucher,
	Hans de Goede, open list:DRM DRIVERS
  Cc: oe-kbuild-all, amd-gfx, open list:USB SUBSYSTEM, linux-fbdev,
	nouveau, intel-gfx, platform-driver-x86, intel-xe,
	linux-renesas-soc, open list:ACPI, open list, Melissa Wen,
	Mark Pearson, Mario Limonciello

Hi Mario,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-misc/drm-misc-next]
[also build test ERROR on drm-intel/for-linux-next-fixes drm-tip/drm-tip linus/master v6.8-rc4 next-20240215]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Mario-Limonciello/drm-Stop-using-select-ACPI_VIDEO-in-all-drivers/20240215-055936
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/20240214215756.6530-2-mario.limonciello%40amd.com
patch subject: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
config: nios2-randconfig-r061-20240215 (https://download.01.org/0day-ci/archive/20240216/202402160847.FdGsKGjp-lkp@intel.com/config)
compiler: nios2-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240216/202402160847.FdGsKGjp-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402160847.FdGsKGjp-lkp@intel.com/

All errors (new ones prefixed by >>):

   nios2-linux-ld: drivers/video/fbdev/ssd1307fb.o: in function `ssd1307fb_remove':
   ssd1307fb.c:(.text+0x40c): undefined reference to `backlight_device_unregister'
>> ssd1307fb.c:(.text+0x40c): relocation truncated to fit: R_NIOS2_CALL26 against `backlight_device_unregister'
   nios2-linux-ld: drivers/video/fbdev/ssd1307fb.o: in function `ssd1307fb_probe':
   ssd1307fb.c:(.text+0x1d98): undefined reference to `backlight_device_register'
>> ssd1307fb.c:(.text+0x1d98): relocation truncated to fit: R_NIOS2_CALL26 against `backlight_device_register'

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for FB_BACKLIGHT
   Depends on [n]: HAS_IOMEM [=y] && FB [=y] && BACKLIGHT_CLASS_DEVICE [=n]
   Selected by [y]:
   - FB_SSD1307 [=y] && HAS_IOMEM [=y] && FB [=y] && I2C [=y] && (GPIOLIB [=y] || COMPILE_TEST [=y])

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
  2024-02-14 21:57 ` [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers Mario Limonciello
                     ` (3 preceding siblings ...)
  2024-02-16  0:49   ` kernel test robot
@ 2024-02-16  5:03   ` kernel test robot
  2024-02-16  9:03   ` kernel test robot
                     ` (7 subsequent siblings)
  12 siblings, 0 replies; 26+ messages in thread
From: kernel test robot @ 2024-02-16  5:03 UTC (permalink / raw)
  To: Mario Limonciello, Daniel Vetter, Jani Nikula, Alex Deucher,
	Hans de Goede, open list:DRM DRIVERS
  Cc: Paul Gazzillo, Necip Fazil Yildiran, oe-kbuild-all, amd-gfx,
	open list:USB SUBSYSTEM, linux-fbdev, nouveau, intel-gfx,
	platform-driver-x86, intel-xe, linux-renesas-soc, open list:ACPI,
	open list, Melissa Wen, Mark Pearson, Mario Limonciello

Hi Mario,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on drm-intel/for-linux-next-fixes drm-tip/drm-tip linus/master v6.8-rc4 next-20240215]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Mario-Limonciello/drm-Stop-using-select-ACPI_VIDEO-in-all-drivers/20240215-055936
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/20240214215756.6530-2-mario.limonciello%40amd.com
patch subject: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
config: alpha-kismet-CONFIG_FB_BACKLIGHT-CONFIG_FB_ATY128-0-0 (https://download.01.org/0day-ci/archive/20240216/202402161205.v9d7IYpg-lkp@intel.com/config)
reproduce: (https://download.01.org/0day-ci/archive/20240216/202402161205.v9d7IYpg-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402161205.v9d7IYpg-lkp@intel.com/

kismet warnings: (new ones prefixed by >>)
>> kismet: WARNING: unmet direct dependencies detected for FB_BACKLIGHT when selected by FB_ATY128
   .config:233:warning: symbol value 'n' invalid for SATA_MOBILE_LPM_POLICY
   .config:335:warning: symbol value 'n' invalid for AIC79XX_DEBUG_MASK
   .config:336:warning: symbol value 'n' invalid for PSTORE_BLK_MAX_REASON
   .config:437:warning: symbol value 'n' invalid for KFENCE_SAMPLE_INTERVAL
   .config:511:warning: symbol value 'n' invalid for INPUT_MOUSEDEV_SCREEN_Y
   .config:613:warning: symbol value 'n' invalid for DRM_XE_JOB_TIMEOUT_MIN
   .config:620:warning: symbol value 'n' invalid for CRYPTO_DEV_QCE_SW_MAX_LEN
   .config:705:warning: symbol value 'n' invalid for AIC79XX_CMDS_PER_DEVICE
   .config:719:warning: symbol value 'n' invalid for PANEL_LCD_CHARSET
   .config:766:warning: symbol value 'n' invalid for XEN_MEMORY_HOTPLUG_LIMIT
   .config:774:warning: symbol value 'n' invalid for PANEL_LCD_PIN_SDA
   .config:791:warning: symbol value 'n' invalid for SND_AC97_POWER_SAVE_DEFAULT
   .config:825:warning: symbol value 'n' invalid for MAGIC_SYSRQ_DEFAULT_ENABLE
   .config:840:warning: symbol value 'n' invalid for DRM_I915_MAX_REQUEST_BUSYWAIT
   .config:871:warning: symbol value 'n' invalid for USB_GADGET_STORAGE_NUM_BUFFERS
   .config:875:warning: symbol value 'n' invalid for SND_AT73C213_TARGET_BITRATE
   .config:894:warning: symbol value 'n' invalid for DRM_XE_PREEMPT_TIMEOUT_MIN
   .config:903:warning: symbol value 'n' invalid for NET_EMATCH_STACK
   .config:905:warning: symbol value 'n' invalid for VMCP_CMA_SIZE
   .config:1160:warning: symbol value 'n' invalid for MTDRAM_ERASE_SIZE
   .config:1246:warning: symbol value 'n' invalid for SERIAL_UARTLITE_NR_UARTS
   .config:1287:warning: symbol value 'n' invalid for PANEL_LCD_PIN_E
   .config:1411:warning: symbol value 'n' invalid for LEGACY_PTY_COUNT
   .config:1517:warning: symbol value 'n' invalid for SERIAL_ALTERA_UART_BAUDRATE
   .config:1543:warning: symbol value 'n' invalid for WATCHDOG_OPEN_TIMEOUT
   .config:1547:warning: symbol value 'n' invalid for AIC7XXX_RESET_DELAY_MS
   .config:1739:warning: symbol value 'n' invalid for IBM_EMAC_POLL_WEIGHT
   .config:1833:warning: symbol value 'n' invalid for DRM_I915_STOP_TIMEOUT
   .config:1972:warning: symbol value 'n' invalid for KCOV_IRQ_AREA_SIZE
   .config:2263:warning: symbol value 'n' invalid for DRM_XE_TIMESLICE_MAX
   .config:2304:warning: symbol value 'n' invalid for PANEL_LCD_BWIDTH
   .config:2383:warning: symbol value 'n' invalid for AIC79XX_RESET_DELAY_MS
   .config:2500:warning: symbol value 'n' invalid for SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST_NUM
   .config:2535:warning: symbol value 'n' invalid for PANEL_PARPORT
   .config:2622:warning: symbol value 'n' invalid for NOUVEAU_DEBUG_DEFAULT
   .config:2808:warning: symbol value 'n' invalid for KCSAN_REPORT_ONCE_IN_MS
   .config:2904:warning: symbol value 'n' invalid for PSTORE_BLK_CONSOLE_SIZE
   .config:2906:warning: symbol value 'n' invalid for KCSAN_UDELAY_INTERRUPT
   .config:2928:warning: symbol value 'n' invalid for PANEL_LCD_PIN_BL
   .config:2945:warning: symbol value 'n' invalid for DEBUG_OBJECTS_ENABLE_DEFAULT
   .config:2952:warning: symbol value 'n' invalid for INITRAMFS_ROOT_GID
   .config:3033:warning: symbol value 'n' invalid for MTD_REDBOOT_DIRECTORY_BLOCK
   .config:3058:warning: symbol value 'n' invalid for ATM_FORE200E_TX_RETRY
   .config:3075:warning: symbol value 'n' invalid for BOOKE_WDT_DEFAULT_TIMEOUT
   .config:3098:warning: symbol value 'n' invalid for FB_OMAP2_DSS_MIN_FCK_PER_PCK
   .config:3339:warning: symbol value 'n' invalid for KCSAN_UDELAY_TASK
   .config:3430:warning: symbol value 'n' invalid for MMC_BLOCK_MINORS
   .config:3434:warning: symbol value 'n' invalid for INET_TABLE_PERTURB_ORDER
   .config:3476:warning: symbol value 'n' invalid for SCSI_NCR53C8XX_SYNC
   .config:3596:warning: symbol value 'n' invalid for UCLAMP_BUCKETS_COUNT
   .config:3678:warning: symbol value 'n' invalid for SERIAL_MCF_BAUDRATE
   .config:3697:warning: symbol value 'n' invalid for VERBOSE_MCHECK_ON
   .config:3699:warning: symbol value 'n' invalid for STACK_MAX_DEFAULT_SIZE_MB
   .config:3745:warning: symbol value 'n' invalid for DE2104X_DSL
   .config:3756:warning: symbol value 'n' invalid for BLK_DEV_RAM_COUNT
   .config:4000:warning: symbol value 'n' invalid for IP_VS_SH_TAB_BITS
   .config:4019:warning: symbol value 'n' invalid for FTRACE_RECORD_RECURSION_SIZE
   .config:4118:warning: symbol value 'n' invalid for CMA_AREAS
   .config:4145:warning: symbol value 'n' invalid for USBIP_VHCI_HC_PORTS
   .config:4176:warning: symbol value 'n' invalid for INPUT_MOUSEDEV_SCREEN_X
   .config:4290:warning: symbol value 'n' invalid for RIONET_RX_SIZE
   .config:4465:warning: symbol value 'n' invalid for RADIO_TYPHOON_PORT
   .config:4574:warning: symbol value 'n' invalid for SERIAL_TXX9_NR_UARTS
   .config:4596:warning: symbol value 'n' invalid for IBM_EMAC_TXB
   .config:4702:warning: symbol value 'n' invalid for IP_VS_MH_TAB_INDEX
   .config:4979:warning: symbol value 'n' invalid for ARCH_MMAP_RND_BITS
   .config:5060:warning: symbol value 'n' invalid for DRM_I915_FENCE_TIMEOUT
   .config:5079:warning: symbol value 'n' invalid for TTY_PRINTK_LEVEL
   .config:5216:warning: symbol value 'n' invalid for PANEL_LCD_PIN_RW
   .config:5237:warning: symbol value 'n' invalid for MIPS_EJTAG_FDC_KGDB_CHAN
   .config:5330:warning: symbol value 'n' invalid for KDB_DEFAULT_ENABLE
   .config:5347:warning: symbol value 'n' invalid for SERIAL_ALTERA_UART_MAXPORTS
   .config:5434:warning: symbol value 'n' invalid for PPC_EARLY_DEBUG_EHV_BC_HANDLE
   .config:5517:warning: symbol value 'n' invalid for CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD
   .config:5609:warning: symbol value 'n' invalid for PANEL_LCD_HWIDTH
   .config:5638:warning: symbol value 'n' invalid for LOCKDEP_CHAINS_BITS
   .config:5728:warning: symbol value 'n' invalid for DRM_I915_HEARTBEAT_INTERVAL
   .config:5736:warning: symbol value 'n' invalid for KCSAN_SKIP_WATCH
   .config:5759:warning: symbol value 'n' invalid for PSTORE_BLK_KMSG_SIZE
   .config:5922:warning: symbol value 'n' invalid for RCU_BOOST_DELAY
   .config:5956:warning: symbol value 'n' invalid for SERIAL_8250_RUNTIME_UARTS
   .config:6051:warning: symbol value 'n' invalid for ARCH_MMAP_RND_COMPAT_BITS
   .config:6218:warning: symbol value 'n' invalid for RADIO_TRUST_PORT
   .config:6236:warning: symbol value 'n' invalid for SERIAL_SH_SCI_NR_UARTS
   .config:6337:warning: symbol value 'n' invalid for DRM_XE_PREEMPT_TIMEOUT_MAX
   .config:6588:warning: symbol value 'n' invalid for CMA_SIZE_PERCENTAGE
   .config:6732:warning: symbol value 'n' invalid for DRM_XE_TIMESLICE_MIN
   .config:6783:warning: symbol value 'n' invalid for DVB_MAX_ADAPTERS
   .config:6793:warning: symbol value 'n' invalid for SCSI_NCR53C8XX_MAX_TAGS
   .config:6801:warning: symbol value 'n' invalid for SCSI_SYM53C8XX_DMA_ADDRESSING_MODE
   .config:6860:warning: symbol value 'n' invalid for SCSI_SYM53C8XX_MAX_TAGS
   .config:6968:warning: symbol value 'n' invalid for RIONET_TX_SIZE
   .config:6999:warning: symbol value 'n' invalid for ZSMALLOC_CHAIN_SIZE
   .config:7132:warning: symbol value 'n' invalid for SCSI_MESH_RESET_DELAY_MS
   .config:7173:warning: symbol value 'n' invalid for IBM_EMAC_RXB
   .config:7195:warning: symbol value 'n' invalid for LOCKDEP_BITS
   .config:7306:warning: symbol value 'n' invalid for OMAP2_DSS_MIN_FCK_PER_PCK
   .config:7367:warning: symbol value 'n' invalid for SCSI_MPT3SAS_MAX_SGE
   .config:7497:warning: symbol value 'n' invalid for PSTORE_DEFAULT_KMSG_BYTES
   .config:7540:warning: symbol value 'n' invalid for PANEL_LCD

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
  2024-02-14 21:57 ` [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers Mario Limonciello
                     ` (4 preceding siblings ...)
  2024-02-16  5:03   ` kernel test robot
@ 2024-02-16  9:03   ` kernel test robot
  2024-02-16  9:24   ` kernel test robot
                     ` (6 subsequent siblings)
  12 siblings, 0 replies; 26+ messages in thread
From: kernel test robot @ 2024-02-16  9:03 UTC (permalink / raw)
  To: Mario Limonciello, Daniel Vetter, Jani Nikula, Alex Deucher,
	Hans de Goede, open list:DRM DRIVERS
  Cc: Paul Gazzillo, Necip Fazil Yildiran, oe-kbuild-all, amd-gfx,
	open list:USB SUBSYSTEM, linux-fbdev, nouveau, intel-gfx,
	platform-driver-x86, intel-xe, linux-renesas-soc, open list:ACPI,
	open list, Melissa Wen, Mark Pearson, Mario Limonciello

Hi Mario,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on drm-intel/for-linux-next-fixes drm-tip/drm-tip linus/master v6.8-rc4 next-20240216]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Mario-Limonciello/drm-Stop-using-select-ACPI_VIDEO-in-all-drivers/20240215-055936
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/20240214215756.6530-2-mario.limonciello%40amd.com
patch subject: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
config: alpha-kismet-CONFIG_FB_BACKLIGHT-CONFIG_FB_NVIDIA-0-0 (https://download.01.org/0day-ci/archive/20240216/202402161633.zhmOGq2G-lkp@intel.com/config)
reproduce: (https://download.01.org/0day-ci/archive/20240216/202402161633.zhmOGq2G-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402161633.zhmOGq2G-lkp@intel.com/

kismet warnings: (new ones prefixed by >>)
>> kismet: WARNING: unmet direct dependencies detected for FB_BACKLIGHT when selected by FB_NVIDIA
   .config:98:warning: symbol value 'n' invalid for SERIAL_AR933X_NR_UARTS
   .config:208:warning: symbol value 'n' invalid for USB_GADGET_STORAGE_NUM_BUFFERS
   .config:244:warning: symbol value 'n' invalid for SATA_MOBILE_LPM_POLICY
   .config:345:warning: symbol value 'n' invalid for PSTORE_BLK_MAX_REASON
   .config:427:warning: symbol value 'n' invalid for AIC79XX_DEBUG_MASK
   .config:432:warning: symbol value 'n' invalid for KFENCE_SAMPLE_INTERVAL
   .config:620:warning: symbol value 'n' invalid for DRM_XE_JOB_TIMEOUT_MIN
   .config:652:warning: symbol value 'n' invalid for CRYPTO_DEV_QCE_SW_MAX_LEN
   .config:687:warning: symbol value 'n' invalid for PANEL_LCD_PIN_E
   .config:757:warning: symbol value 'n' invalid for PANEL_LCD_CHARSET
   .config:800:warning: symbol value 'n' invalid for SND_AC97_POWER_SAVE_DEFAULT
   .config:848:warning: symbol value 'n' invalid for MAGIC_SYSRQ_DEFAULT_ENABLE
   .config:853:warning: symbol value 'n' invalid for AIC79XX_CMDS_PER_DEVICE
   .config:865:warning: symbol value 'n' invalid for DRM_I915_MAX_REQUEST_BUSYWAIT
   .config:896:warning: symbol value 'n' invalid for SND_AT73C213_TARGET_BITRATE
   .config:907:warning: symbol value 'n' invalid for DRM_XE_PREEMPT_TIMEOUT_MIN
   .config:913:warning: symbol value 'n' invalid for PANEL_LCD_PIN_SDA
   .config:915:warning: symbol value 'n' invalid for NET_EMATCH_STACK
   .config:917:warning: symbol value 'n' invalid for VMCP_CMA_SIZE
   .config:1149:warning: symbol value 'n' invalid for RCU_CPU_STALL_TIMEOUT
   .config:1176:warning: symbol value 'n' invalid for MTDRAM_ERASE_SIZE
   .config:1282:warning: symbol value 'n' invalid for SERIAL_UARTLITE_NR_UARTS
   .config:1453:warning: symbol value 'n' invalid for LEGACY_PTY_COUNT
   .config:1591:warning: symbol value 'n' invalid for AIC7XXX_RESET_DELAY_MS
   .config:1592:warning: symbol value 'n' invalid for WATCHDOG_OPEN_TIMEOUT
   .config:1710:warning: symbol value 'n' invalid for AIC79XX_RESET_DELAY_MS
   .config:1757:warning: symbol value 'n' invalid for IBM_EMAC_POLL_WEIGHT
   .config:1891:warning: symbol value 'n' invalid for DRM_I915_STOP_TIMEOUT
   .config:2178:warning: symbol value 'n' invalid for RCU_FANOUT_LEAF
   .config:2192:warning: symbol value 'n' invalid for KCOV_IRQ_AREA_SIZE
   .config:2327:warning: symbol value 'n' invalid for DRM_XE_TIMESLICE_MAX
   .config:2328:warning: symbol value 'n' invalid for PANEL_LCD_BWIDTH
   .config:2378:warning: symbol value 'n' invalid for MTD_REDBOOT_DIRECTORY_BLOCK
   .config:2570:warning: symbol value 'n' invalid for PANEL_PARPORT
   .config:2655:warning: symbol value 'n' invalid for NOUVEAU_DEBUG_DEFAULT
   .config:2846:warning: symbol value 'n' invalid for KCSAN_REPORT_ONCE_IN_MS
   .config:2860:warning: symbol value 'n' invalid for SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST_NUM
   .config:2934:warning: symbol value 'n' invalid for XEN_MEMORY_HOTPLUG_LIMIT
   .config:2944:warning: symbol value 'n' invalid for KCSAN_UDELAY_INTERRUPT
   .config:2969:warning: symbol value 'n' invalid for PANEL_LCD_PIN_BL
   .config:2995:warning: symbol value 'n' invalid for INITRAMFS_ROOT_GID
   .config:3101:warning: symbol value 'n' invalid for ATM_FORE200E_TX_RETRY
   .config:3142:warning: symbol value 'n' invalid for FB_OMAP2_DSS_MIN_FCK_PER_PCK
   .config:3223:warning: symbol value 'n' invalid for PSTORE_BLK_CONSOLE_SIZE
   .config:3344:warning: symbol value 'n' invalid for BOOKE_WDT_DEFAULT_TIMEOUT
   .config:3426:warning: symbol value 'n' invalid for KCSAN_UDELAY_TASK
   .config:3481:warning: symbol value 'n' invalid for MMC_BLOCK_MINORS
   .config:3524:warning: symbol value 'n' invalid for FTRACE_RECORD_RECURSION_SIZE
   .config:3528:warning: symbol value 'n' invalid for SCSI_NCR53C8XX_SYNC
   .config:3543:warning: symbol value 'n' invalid for PANEL_PROFILE
   .config:3648:warning: symbol value 'n' invalid for UCLAMP_BUCKETS_COUNT
   .config:3770:warning: symbol value 'n' invalid for SERIAL_MCF_BAUDRATE
   .config:3837:warning: symbol value 'n' invalid for DE2104X_DSL
   .config:3851:warning: symbol value 'n' invalid for BLK_DEV_RAM_COUNT
   .config:4005:warning: symbol value 'n' invalid for STACK_MAX_DEFAULT_SIZE_MB
   .config:4173:warning: symbol value 'n' invalid for CMA_AREAS
   .config:4233:warning: symbol value 'n' invalid for INPUT_MOUSEDEV_SCREEN_X
   .config:4254:warning: symbol value 'n' invalid for USBIP_VHCI_HC_PORTS
   .config:4346:warning: symbol value 'n' invalid for RIONET_RX_SIZE
   .config:4562:warning: symbol value 'n' invalid for RADIO_TYPHOON_PORT
   .config:4652:warning: symbol value 'n' invalid for IBM_EMAC_TXB
   .config:4686:warning: symbol value 'n' invalid for SERIAL_TXX9_NR_UARTS
   .config:4722:warning: symbol value 'n' invalid for PANEL_LCD_PIN_RW
   .config:5034:warning: symbol value 'n' invalid for ARCH_MMAP_RND_BITS
   .config:5118:warning: symbol value 'n' invalid for DRM_I915_FENCE_TIMEOUT
   .config:5138:warning: symbol value 'n' invalid for TTY_PRINTK_LEVEL
   .config:5300:warning: symbol value 'n' invalid for MIPS_EJTAG_FDC_KGDB_CHAN
   .config:5389:warning: symbol value 'n' invalid for SND_MAX_CARDS
   .config:5394:warning: symbol value 'n' invalid for KDB_DEFAULT_ENABLE
   .config:5411:warning: symbol value 'n' invalid for SERIAL_ALTERA_UART_MAXPORTS
   .config:5549:warning: symbol value 'n' invalid for RCU_BOOST_DELAY
   .config:5552:warning: symbol value 'n' invalid for PPC_EARLY_DEBUG_EHV_BC_HANDLE
   .config:5667:warning: symbol value 'n' invalid for PANEL_LCD_HWIDTH
   .config:5700:warning: symbol value 'n' invalid for LOCKDEP_CHAINS_BITS
   .config:5789:warning: symbol value 'n' invalid for DRM_I915_HEARTBEAT_INTERVAL
   .config:5797:warning: symbol value 'n' invalid for KCSAN_SKIP_WATCH
   .config:5821:warning: symbol value 'n' invalid for PSTORE_BLK_KMSG_SIZE
   .config:5941:warning: symbol value 'n' invalid for CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD
   .config:6039:warning: symbol value 'n' invalid for DRM_XE_PREEMPT_TIMEOUT_MAX
   .config:6118:warning: symbol value 'n' invalid for ARCH_MMAP_RND_COMPAT_BITS
   .config:6287:warning: symbol value 'n' invalid for RADIO_TRUST_PORT
   .config:6538:warning: symbol value 'n' invalid for SCSI_SYM53C8XX_MAX_TAGS
   .config:6653:warning: symbol value 'n' invalid for MTD_UBI_WL_THRESHOLD
   .config:6663:warning: symbol value 'n' invalid for CMA_SIZE_PERCENTAGE
   .config:6675:warning: symbol value 'n' invalid for RIONET_TX_SIZE
   .config:6811:warning: symbol value 'n' invalid for DRM_XE_TIMESLICE_MIN
   .config:6938:warning: symbol value 'n' invalid for DVB_MAX_ADAPTERS
   .config:6939:warning: symbol value 'n' invalid for SCSI_NCR53C8XX_MAX_TAGS
   .config:6951:warning: symbol value 'n' invalid for SCSI_SYM53C8XX_DMA_ADDRESSING_MODE
   .config:7048:warning: symbol value 'n' invalid for OMAP2_DSS_MIN_FCK_PER_PCK
   .config:7278:warning: symbol value 'n' invalid for SERIAL_ARC_NR_PORTS
   .config:7329:warning: symbol value 'n' invalid for IBM_EMAC_RXB
   .config:7358:warning: symbol value 'n' invalid for ZSMALLOC_CHAIN_SIZE
   .config:7452:warning: symbol value 'n' invalid for SCSI_MPT3SAS_MAX_SGE
   .config:7582:warning: symbol value 'n' invalid for PSTORE_DEFAULT_KMSG_BYTES
   .config:7595:warning: symbol value 'n' invalid for KDB_CONTINUE_CATASTROPHIC
   .config:7623:warning: symbol value 'n' invalid for LOCKDEP_BITS
   .config:7629:warning: symbol value 'n' invalid for RCU_FANOUT
   .config:7707:warning: symbol value 'n' invalid for PANEL_LCD
   .config:7873:warning: symbol value 'n' invalid for VIDEO_VIVID_MAX_DEVS

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
  2024-02-14 21:57 ` [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers Mario Limonciello
                     ` (5 preceding siblings ...)
  2024-02-16  9:03   ` kernel test robot
@ 2024-02-16  9:24   ` kernel test robot
  2024-02-16 13:01   ` kernel test robot
                     ` (5 subsequent siblings)
  12 siblings, 0 replies; 26+ messages in thread
From: kernel test robot @ 2024-02-16  9:24 UTC (permalink / raw)
  To: Mario Limonciello, Daniel Vetter, Jani Nikula, Alex Deucher,
	Hans de Goede, open list:DRM DRIVERS
  Cc: Paul Gazzillo, Necip Fazil Yildiran, oe-kbuild-all, amd-gfx,
	open list:USB SUBSYSTEM, linux-fbdev, nouveau, intel-gfx,
	platform-driver-x86, intel-xe, linux-renesas-soc, open list:ACPI,
	open list, Melissa Wen, Mark Pearson, Mario Limonciello

Hi Mario,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on drm-intel/for-linux-next-fixes drm-tip/drm-tip linus/master v6.8-rc4 next-20240216]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Mario-Limonciello/drm-Stop-using-select-ACPI_VIDEO-in-all-drivers/20240215-055936
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/20240214215756.6530-2-mario.limonciello%40amd.com
patch subject: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
config: powerpc-kismet-CONFIG_FB_BACKLIGHT-CONFIG_PMAC_BACKLIGHT-0-0 (https://download.01.org/0day-ci/archive/20240216/202402161747.TXWr5bw4-lkp@intel.com/config)
reproduce: (https://download.01.org/0day-ci/archive/20240216/202402161747.TXWr5bw4-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402161747.TXWr5bw4-lkp@intel.com/

kismet warnings: (new ones prefixed by >>)
>> kismet: WARNING: unmet direct dependencies detected for FB_BACKLIGHT when selected by PMAC_BACKLIGHT
   .config:247:warning: symbol value 'n' invalid for AIC79XX_DEBUG_MASK
   .config:251:warning: symbol value 'n' invalid for PANEL_LCD_PIN_E
   .config:262:warning: symbol value 'n' invalid for SATA_MOBILE_LPM_POLICY
   .config:356:warning: symbol value 'n' invalid for PSTORE_BLK_MAX_REASON
   .config:407:warning: symbol value 'n' invalid for PPC_EARLY_DEBUG_16550_PHYSADDR
   .config:462:warning: symbol value 'n' invalid for KFENCE_SAMPLE_INTERVAL
   .config:563:warning: symbol value 'n' invalid for PPC_EARLY_DEBUG_HVSI_VTERMNO
   .config:663:warning: symbol value 'n' invalid for DRM_XE_JOB_TIMEOUT_MIN
   .config:677:warning: symbol value 'n' invalid for CRYPTO_DEV_QCE_SW_MAX_LEN
   .config:710:warning: symbol value 'n' invalid for AIC79XX_CMDS_PER_DEVICE
   .config:725:warning: symbol value 'n' invalid for DATA_SHIFT
   .config:765:warning: symbol value 'n' invalid for PANEL_LCD_PIN_SDA
   .config:793:warning: symbol value 'n' invalid for PANEL_LCD_CHARSET
   .config:854:warning: symbol value 'n' invalid for SND_AC97_POWER_SAVE_DEFAULT
   .config:904:warning: symbol value 'n' invalid for MAGIC_SYSRQ_DEFAULT_ENABLE
   .config:922:warning: symbol value 'n' invalid for DRM_I915_MAX_REQUEST_BUSYWAIT
   .config:958:warning: symbol value 'n' invalid for SND_AT73C213_TARGET_BITRATE
   .config:974:warning: symbol value 'n' invalid for DRM_XE_PREEMPT_TIMEOUT_MIN
   .config:986:warning: symbol value 'n' invalid for VMCP_CMA_SIZE
   .config:1270:warning: symbol value 'n' invalid for MTDRAM_ERASE_SIZE
   .config:1365:warning: symbol value 'n' invalid for SERIAL_UARTLITE_NR_UARTS
   .config:1398:warning: symbol value 'n' invalid for AIC79XX_RESET_DELAY_MS
   .config:1548:warning: symbol value 'n' invalid for LEGACY_PTY_COUNT
   .config:1673:warning: symbol value 'n' invalid for LOWMEM_CAM_NUM
   .config:1723:warning: symbol value 'n' invalid for AIC7XXX_RESET_DELAY_MS
   .config:1805:warning: symbol value 'n' invalid for PPC_MEMCONS_OUTPUT_SIZE
   .config:1874:warning: symbol value 'n' invalid for LOWMEM_SIZE
   .config:1899:warning: symbol value 'n' invalid for IBM_EMAC_POLL_WEIGHT
   .config:2030:warning: symbol value 'n' invalid for PANEL_PROFILE
   .config:2042:warning: symbol value 'n' invalid for DRM_I915_STOP_TIMEOUT
   .config:2054:warning: symbol value 'n' invalid for MTD_REDBOOT_DIRECTORY_BLOCK
   .config:2180:warning: symbol value 'n' invalid for KCOV_IRQ_AREA_SIZE
   .config:2304:warning: symbol value 'n' invalid for SND_HDA_PREALLOC_SIZE
   .config:2510:warning: symbol value 'n' invalid for PANEL_LCD_BWIDTH
   .config:2523:warning: symbol value 'n' invalid for DRM_XE_TIMESLICE_MAX
   .config:2770:warning: symbol value 'n' invalid for PANEL_PARPORT
   .config:2864:warning: symbol value 'n' invalid for SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST_NUM
   .config:2868:warning: symbol value 'n' invalid for NOUVEAU_DEBUG_DEFAULT
   .config:3081:warning: symbol value 'n' invalid for KCSAN_REPORT_ONCE_IN_MS
   .config:3189:warning: symbol value 'n' invalid for KCSAN_UDELAY_INTERRUPT
   .config:3214:warning: symbol value 'n' invalid for PANEL_LCD_PIN_BL
   .config:3227:warning: symbol value 'n' invalid for PSTORE_BLK_CONSOLE_SIZE
   .config:3237:warning: symbol value 'n' invalid for DEBUG_OBJECTS_ENABLE_DEFAULT
   .config:3244:warning: symbol value 'n' invalid for INITRAMFS_ROOT_GID
   .config:3335:warning: symbol value 'n' invalid for FTRACE_RECORD_RECURSION_SIZE
   .config:3362:warning: symbol value 'n' invalid for ATM_FORE200E_TX_RETRY
   .config:3402:warning: symbol value 'n' invalid for FB_OMAP2_DSS_MIN_FCK_PER_PCK
   .config:3439:warning: symbol value 'n' invalid for BOOKE_WDT_DEFAULT_TIMEOUT
   .config:3677:warning: symbol value 'n' invalid for KCSAN_UDELAY_TASK
   .config:3778:warning: symbol value 'n' invalid for MMC_BLOCK_MINORS
   .config:3782:warning: symbol value 'n' invalid for INET_TABLE_PERTURB_ORDER
   .config:3825:warning: symbol value 'n' invalid for SCSI_NCR53C8XX_SYNC
   .config:3919:warning: symbol value 'n' invalid for SERIAL_AR933X_NR_UARTS
   .config:3954:warning: symbol value 'n' invalid for UCLAMP_BUCKETS_COUNT
   .config:3993:warning: symbol value 'n' invalid for PPC_EARLY_DEBUG_16550_STRIDE
   .config:4070:warning: symbol value 'n' invalid for SERIAL_MCF_BAUDRATE
   .config:4112:warning: symbol value 'n' invalid for STACK_MAX_DEFAULT_SIZE_MB
   .config:4120:warning: symbol value 'n' invalid for PPC_MEMCONS_INPUT_SIZE
   .config:4130:warning: symbol value 'n' invalid for IP_VS_MH_TAB_INDEX
   .config:4143:warning: symbol value 'n' invalid for DE2104X_DSL
   .config:4155:warning: symbol value 'n' invalid for BLK_DEV_RAM_COUNT
   .config:4293:warning: symbol value 'n' invalid for PPC_EARLY_DEBUG_CPM_ADDR
   .config:4419:warning: symbol value 'n' invalid for IP_VS_SH_TAB_BITS
   .config:4574:warning: symbol value 'n' invalid for USBIP_VHCI_HC_PORTS
   .config:4575:warning: symbol value 'n' invalid for INPUT_MOUSEDEV_SCREEN_X
   .config:4662:warning: symbol value 'n' invalid for PANEL_LCD_PIN_RW
   .config:4698:warning: symbol value 'n' invalid for RIONET_RX_SIZE
   .config:4935:warning: symbol value 'n' invalid for RADIO_TYPHOON_PORT
   .config:5036:warning: symbol value 'n' invalid for IBM_EMAC_TXB
   .config:5067:warning: symbol value 'n' invalid for SERIAL_TXX9_NR_UARTS
   .config:5356:warning: symbol value 'n' invalid for SND_MAX_CARDS
   .config:5536:warning: symbol value 'n' invalid for DRM_I915_FENCE_TIMEOUT
   .config:5559:warning: symbol value 'n' invalid for TTY_PRINTK_LEVEL
   .config:5599:warning: symbol value 'n' invalid for RCU_BOOST_DELAY
   .config:5728:warning: symbol value 'n' invalid for MIPS_EJTAG_FDC_KGDB_CHAN
   .config:5827:warning: symbol value 'n' invalid for KDB_DEFAULT_ENABLE
   .config:5847:warning: symbol value 'n' invalid for SERIAL_ALTERA_UART_MAXPORTS
   .config:6021:warning: symbol value 'n' invalid for PPC_EARLY_DEBUG_EHV_BC_HANDLE
   .config:6123:warning: symbol value 'n' invalid for PANEL_LCD_HWIDTH
   .config:6125:warning: symbol value 'n' invalid for DRM_XE_PREEMPT_TIMEOUT_MAX
   .config:6200:warning: symbol value 'n' invalid for SCSI_MESH_RESET_DELAY_MS
   .config:6259:warning: symbol value 'n' invalid for DRM_I915_HEARTBEAT_INTERVAL
   .config:6266:warning: symbol value 'n' invalid for KCSAN_SKIP_WATCH
   .config:6290:warning: symbol value 'n' invalid for PSTORE_BLK_KMSG_SIZE
   .config:6350:warning: symbol value 'n' invalid for CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD
   .config:6510:warning: symbol value 'n' invalid for SERIAL_8250_RUNTIME_UARTS
   .config:6615:warning: symbol value 'n' invalid for ARCH_MMAP_RND_COMPAT_BITS
   .config:6677:warning: symbol value 'n' invalid for XEN_MEMORY_HOTPLUG_LIMIT
   .config:6721:warning: symbol value 'n' invalid for SCSI_SYM53C8XX_MAX_TAGS
   .config:6793:warning: symbol value 'n' invalid for RADIO_TRUST_PORT
   .config:6835:warning: symbol value 'n' invalid for MTD_UBI_WL_THRESHOLD
   .config:6860:warning: symbol value 'n' invalid for RIONET_TX_SIZE
   .config:6892:warning: symbol value 'n' invalid for SERIAL_SH_SCI_NR_UARTS
   .config:6940:warning: symbol value 'n' invalid for VIDEO_VIVID_MAX_DEVS
   .config:7211:warning: symbol value 'n' invalid for CMA_SIZE_PERCENTAGE
   .config:7249:warning: symbol value 'n' invalid for OMAP2_DSS_MIN_FCK_PER_PCK
   .config:7375:warning: symbol value 'n' invalid for DRM_XE_TIMESLICE_MIN
   .config:7466:warning: symbol value 'n' invalid for DVB_MAX_ADAPTERS
   .config:7471:warning: symbol value 'n' invalid for SCSI_NCR53C8XX_MAX_TAGS
   .config:7482:warning: symbol value 'n' invalid for SCSI_SYM53C8XX_DMA_ADDRESSING_MODE

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
  2024-02-14 21:57 ` [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers Mario Limonciello
                     ` (6 preceding siblings ...)
  2024-02-16  9:24   ` kernel test robot
@ 2024-02-16 13:01   ` kernel test robot
  2024-02-16 17:11   ` kernel test robot
                     ` (4 subsequent siblings)
  12 siblings, 0 replies; 26+ messages in thread
From: kernel test robot @ 2024-02-16 13:01 UTC (permalink / raw)
  To: Mario Limonciello, Daniel Vetter, Jani Nikula, Alex Deucher,
	Hans de Goede, open list:DRM DRIVERS
  Cc: Paul Gazzillo, Necip Fazil Yildiran, oe-kbuild-all, amd-gfx,
	open list:USB SUBSYSTEM, linux-fbdev, nouveau, intel-gfx,
	platform-driver-x86, intel-xe, linux-renesas-soc, open list:ACPI,
	open list, Melissa Wen, Mark Pearson, Mario Limonciello

Hi Mario,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on drm-intel/for-linux-next-fixes drm-tip/drm-tip linus/master v6.8-rc4 next-20240216]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Mario-Limonciello/drm-Stop-using-select-ACPI_VIDEO-in-all-drivers/20240215-055936
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/20240214215756.6530-2-mario.limonciello%40amd.com
patch subject: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
config: alpha-kismet-CONFIG_FB_BACKLIGHT-CONFIG_FB_RADEON-0-0 (https://download.01.org/0day-ci/archive/20240216/202402162046.Jr7HgB8P-lkp@intel.com/config)
reproduce: (https://download.01.org/0day-ci/archive/20240216/202402162046.Jr7HgB8P-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402162046.Jr7HgB8P-lkp@intel.com/

kismet warnings: (new ones prefixed by >>)
>> kismet: WARNING: unmet direct dependencies detected for FB_BACKLIGHT when selected by FB_RADEON
   .config:171:warning: symbol value 'n' invalid for PANEL_LCD_PIN_E
   .config:253:warning: symbol value 'n' invalid for SATA_MOBILE_LPM_POLICY
   .config:358:warning: symbol value 'n' invalid for PSTORE_BLK_MAX_REASON
   .config:438:warning: symbol value 'n' invalid for KFENCE_SAMPLE_INTERVAL
   .config:623:warning: symbol value 'n' invalid for DRM_XE_JOB_TIMEOUT_MIN
   .config:662:warning: symbol value 'n' invalid for CRYPTO_DEV_QCE_SW_MAX_LEN
   .config:677:warning: symbol value 'n' invalid for AIC79XX_DEBUG_MASK
   .config:773:warning: symbol value 'n' invalid for PANEL_LCD_CHARSET
   .config:804:warning: symbol value 'n' invalid for SND_AC97_POWER_SAVE_DEFAULT
   .config:870:warning: symbol value 'n' invalid for MAGIC_SYSRQ_DEFAULT_ENABLE
   .config:891:warning: symbol value 'n' invalid for DRM_I915_MAX_REQUEST_BUSYWAIT
   .config:918:warning: symbol value 'n' invalid for DRM_XE_PREEMPT_TIMEOUT_MIN
   .config:928:warning: symbol value 'n' invalid for NET_EMATCH_STACK
   .config:930:warning: symbol value 'n' invalid for VMCP_CMA_SIZE
   .config:935:warning: symbol value 'n' invalid for SND_AT73C213_TARGET_BITRATE
   .config:1064:warning: symbol value 'n' invalid for AIC79XX_CMDS_PER_DEVICE
   .config:1162:warning: symbol value 'n' invalid for RCU_CPU_STALL_TIMEOUT
   .config:1182:warning: symbol value 'n' invalid for PANEL_LCD_PIN_SDA
   .config:1190:warning: symbol value 'n' invalid for MTDRAM_ERASE_SIZE
   .config:1220:warning: symbol value 'n' invalid for AIC79XX_RESET_DELAY_MS
   .config:1312:warning: symbol value 'n' invalid for SERIAL_UARTLITE_NR_UARTS
   .config:1493:warning: symbol value 'n' invalid for LEGACY_PTY_COUNT
   .config:1636:warning: symbol value 'n' invalid for AIC7XXX_RESET_DELAY_MS
   .config:1637:warning: symbol value 'n' invalid for WATCHDOG_OPEN_TIMEOUT
   .config:1782:warning: symbol value 'n' invalid for IBM_EMAC_POLL_WEIGHT
   .config:1788:warning: symbol value 'n' invalid for MTD_REDBOOT_DIRECTORY_BLOCK
   .config:1939:warning: symbol value 'n' invalid for DRM_I915_STOP_TIMEOUT
   .config:2157:warning: symbol value 'n' invalid for SND_HDA_PREALLOC_SIZE
   .config:2205:warning: symbol value 'n' invalid for RCU_FANOUT_LEAF
   .config:2353:warning: symbol value 'n' invalid for PANEL_LCD_BWIDTH
   .config:2384:warning: symbol value 'n' invalid for DRM_XE_TIMESLICE_MAX
   .config:2400:warning: symbol value 'n' invalid for SERIAL_AR933X_NR_UARTS
   .config:2594:warning: symbol value 'n' invalid for PANEL_PARPORT
   .config:2634:warning: symbol value 'n' invalid for KCOV_IRQ_AREA_SIZE
   .config:2681:warning: symbol value 'n' invalid for NOUVEAU_DEBUG_DEFAULT
   .config:2872:warning: symbol value 'n' invalid for KCSAN_REPORT_ONCE_IN_MS
   .config:2971:warning: symbol value 'n' invalid for KCSAN_UDELAY_INTERRUPT
   .config:2994:warning: symbol value 'n' invalid for PANEL_LCD_PIN_BL
   .config:3020:warning: symbol value 'n' invalid for INITRAMFS_ROOT_GID
   .config:3048:warning: symbol value 'n' invalid for FTRACE_RECORD_RECURSION_SIZE
   .config:3128:warning: symbol value 'n' invalid for ATM_FORE200E_TX_RETRY
   .config:3165:warning: symbol value 'n' invalid for FB_OMAP2_DSS_MIN_FCK_PER_PCK
   .config:3203:warning: symbol value 'n' invalid for SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST_NUM
   .config:3465:warning: symbol value 'n' invalid for PSTORE_BLK_CONSOLE_SIZE
   .config:3493:warning: symbol value 'n' invalid for KCSAN_UDELAY_TASK
   .config:3514:warning: symbol value 'n' invalid for MMC_BLOCK_MINORS
   .config:3518:warning: symbol value 'n' invalid for INET_TABLE_PERTURB_ORDER
   .config:3561:warning: symbol value 'n' invalid for SCSI_NCR53C8XX_SYNC
   .config:3619:warning: symbol value 'n' invalid for BOOKE_WDT_DEFAULT_TIMEOUT
   .config:3682:warning: symbol value 'n' invalid for UCLAMP_BUCKETS_COUNT
   .config:3810:warning: symbol value 'n' invalid for IP_VS_MH_TAB_INDEX
   .config:3844:warning: symbol value 'n' invalid for SERIAL_MCF_BAUDRATE
   .config:3914:warning: symbol value 'n' invalid for DE2104X_DSL
   .config:3931:warning: symbol value 'n' invalid for BLK_DEV_RAM_COUNT
   .config:4194:warning: symbol value 'n' invalid for IP_VS_SH_TAB_BITS
   .config:4224:warning: symbol value 'n' invalid for STACK_MAX_DEFAULT_SIZE_MB
   .config:4276:warning: symbol value 'n' invalid for INPUT_MOUSEDEV_SCREEN_X
   .config:4306:warning: symbol value 'n' invalid for PANEL_LCD_PIN_RW
   .config:4349:warning: symbol value 'n' invalid for USBIP_VHCI_HC_PORTS
   .config:4393:warning: symbol value 'n' invalid for RIONET_RX_SIZE
   .config:4668:warning: symbol value 'n' invalid for RADIO_TYPHOON_PORT
   .config:4705:warning: symbol value 'n' invalid for IBM_EMAC_TXB
   .config:4799:warning: symbol value 'n' invalid for SERIAL_TXX9_NR_UARTS
   .config:4937:warning: symbol value 'n' invalid for SND_MAX_CARDS
   .config:5092:warning: symbol value 'n' invalid for ARCH_MMAP_RND_BITS
   .config:5174:warning: symbol value 'n' invalid for DRM_I915_FENCE_TIMEOUT
   .config:5180:warning: symbol value 'n' invalid for RCU_BOOST_DELAY
   .config:5196:warning: symbol value 'n' invalid for TTY_PRINTK_LEVEL
   .config:5355:warning: symbol value 'n' invalid for MIPS_EJTAG_FDC_KGDB_CHAN
   .config:5368:warning: symbol value 'n' invalid for XEN_MEMORY_HOTPLUG_LIMIT
   .config:5453:warning: symbol value 'n' invalid for KDB_DEFAULT_ENABLE
   .config:5471:warning: symbol value 'n' invalid for SERIAL_ALTERA_UART_MAXPORTS
   .config:5680:warning: symbol value 'n' invalid for DRM_XE_PREEMPT_TIMEOUT_MAX
   .config:5681:warning: symbol value 'n' invalid for PPC_EARLY_DEBUG_EHV_BC_HANDLE
   .config:5733:warning: symbol value 'n' invalid for PANEL_LCD_HWIDTH
   .config:5766:warning: symbol value 'n' invalid for LOCKDEP_CHAINS_BITS
   .config:5861:warning: symbol value 'n' invalid for DRM_I915_HEARTBEAT_INTERVAL
   .config:5867:warning: symbol value 'n' invalid for KCSAN_SKIP_WATCH
   .config:5891:warning: symbol value 'n' invalid for PSTORE_BLK_KMSG_SIZE
   .config:6093:warning: symbol value 'n' invalid for SERIAL_8250_RUNTIME_UARTS
   .config:6189:warning: symbol value 'n' invalid for ARCH_MMAP_RND_COMPAT_BITS
   .config:6272:warning: symbol value 'n' invalid for SCSI_SYM53C8XX_MAX_TAGS
   .config:6289:warning: symbol value 'n' invalid for CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD
   .config:6359:warning: symbol value 'n' invalid for RADIO_TRUST_PORT
   .config:6399:warning: symbol value 'n' invalid for MTD_UBI_WL_THRESHOLD
   .config:6420:warning: symbol value 'n' invalid for RIONET_TX_SIZE
   .config:6526:warning: symbol value 'n' invalid for SERIAL_SH_SCI_NR_UARTS
   .config:6547:warning: symbol value 'n' invalid for VIDEO_VIVID_MAX_DEVS
   .config:6739:warning: symbol value 'n' invalid for CMA_SIZE_PERCENTAGE
   .config:6801:warning: symbol value 'n' invalid for OMAP2_DSS_MIN_FCK_PER_PCK
   .config:6887:warning: symbol value 'n' invalid for DRM_XE_TIMESLICE_MIN
   .config:7085:warning: symbol value 'n' invalid for SCSI_NCR53C8XX_MAX_TAGS
   .config:7089:warning: symbol value 'n' invalid for DVB_MAX_ADAPTERS
   .config:7106:warning: symbol value 'n' invalid for SCSI_SYM53C8XX_DMA_ADDRESSING_MODE
   .config:7367:warning: symbol value 'n' invalid for SERIAL_ARC_NR_PORTS
   .config:7411:warning: symbol value 'n' invalid for KDB_CONTINUE_CATASTROPHIC
   .config:7483:warning: symbol value 'n' invalid for IBM_EMAC_RXB
   .config:7545:warning: symbol value 'n' invalid for SCSI_MPT3SAS_MAX_SGE
   .config:7675:warning: symbol value 'n' invalid for PSTORE_DEFAULT_KMSG_BYTES
   .config:7720:warning: symbol value 'n' invalid for RCU_FANOUT

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
  2024-02-14 21:57 ` [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers Mario Limonciello
                     ` (7 preceding siblings ...)
  2024-02-16 13:01   ` kernel test robot
@ 2024-02-16 17:11   ` kernel test robot
  2024-02-16 21:18   ` kernel test robot
                     ` (3 subsequent siblings)
  12 siblings, 0 replies; 26+ messages in thread
From: kernel test robot @ 2024-02-16 17:11 UTC (permalink / raw)
  To: Mario Limonciello, Daniel Vetter, Jani Nikula, Alex Deucher,
	Hans de Goede, open list:DRM DRIVERS
  Cc: Paul Gazzillo, Necip Fazil Yildiran, oe-kbuild-all, amd-gfx,
	open list:USB SUBSYSTEM, linux-fbdev, nouveau, intel-gfx,
	platform-driver-x86, intel-xe, linux-renesas-soc, open list:ACPI,
	open list, Melissa Wen, Mark Pearson, Mario Limonciello

Hi Mario,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on drm-intel/for-linux-next-fixes drm-tip/drm-tip linus/master v6.8-rc4 next-20240216]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Mario-Limonciello/drm-Stop-using-select-ACPI_VIDEO-in-all-drivers/20240215-055936
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/20240214215756.6530-2-mario.limonciello%40amd.com
patch subject: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
config: alpha-kismet-CONFIG_FB_BACKLIGHT-CONFIG_FB_RIVA-0-0 (https://download.01.org/0day-ci/archive/20240217/202402170047.miJMtqIc-lkp@intel.com/config)
reproduce: (https://download.01.org/0day-ci/archive/20240217/202402170047.miJMtqIc-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402170047.miJMtqIc-lkp@intel.com/

kismet warnings: (new ones prefixed by >>)
>> kismet: WARNING: unmet direct dependencies detected for FB_BACKLIGHT when selected by FB_RIVA
   .config:69:warning: symbol value 'n' invalid for FAT_DEFAULT_CODEPAGE
   .config:240:warning: symbol value 'n' invalid for SATA_MOBILE_LPM_POLICY
   .config:307:warning: symbol value 'n' invalid for XEN_MEMORY_HOTPLUG_LIMIT
   .config:328:warning: symbol value 'n' invalid for PSTORE_BLK_MAX_REASON
   .config:359:warning: symbol value 'n' invalid for AIC79XX_DEBUG_MASK
   .config:429:warning: symbol value 'n' invalid for KFENCE_SAMPLE_INTERVAL
   .config:612:warning: symbol value 'n' invalid for CRYPTO_DEV_QCE_SW_MAX_LEN
   .config:613:warning: symbol value 'n' invalid for DRM_XE_JOB_TIMEOUT_MIN
   .config:702:warning: symbol value 'n' invalid for VGA_ARB_MAX_GPUS
   .config:715:warning: symbol value 'n' invalid for PANEL_LCD_CHARSET
   .config:789:warning: symbol value 'n' invalid for SND_AC97_POWER_SAVE_DEFAULT
   .config:793:warning: symbol value 'n' invalid for INPUT_MOUSEDEV_SCREEN_Y
   .config:811:warning: symbol value 'n' invalid for AIC79XX_CMDS_PER_DEVICE
   .config:830:warning: symbol value 'n' invalid for DRM_I915_MAX_REQUEST_BUSYWAIT
   .config:855:warning: symbol value 'n' invalid for SND_AT73C213_TARGET_BITRATE
   .config:877:warning: symbol value 'n' invalid for PANEL_LCD_PIN_SDA
   .config:893:warning: symbol value 'n' invalid for DRM_XE_PREEMPT_TIMEOUT_MIN
   .config:901:warning: symbol value 'n' invalid for NET_EMATCH_STACK
   .config:903:warning: symbol value 'n' invalid for VMCP_CMA_SIZE
   .config:1095:warning: symbol value 'n' invalid for USB_GADGET_STORAGE_NUM_BUFFERS
   .config:1130:warning: symbol value 'n' invalid for RCU_CPU_STALL_TIMEOUT
   .config:1159:warning: symbol value 'n' invalid for MTDRAM_ERASE_SIZE
   .config:1238:warning: symbol value 'n' invalid for SERIAL_UARTLITE_NR_UARTS
   .config:1397:warning: symbol value 'n' invalid for LEGACY_PTY_COUNT
   .config:1524:warning: symbol value 'n' invalid for PANEL_LCD_PIN_E
   .config:1528:warning: symbol value 'n' invalid for AIC7XXX_RESET_DELAY_MS
   .config:1726:warning: symbol value 'n' invalid for IBM_EMAC_POLL_WEIGHT
   .config:1763:warning: symbol value 'n' invalid for SCSI_MESH_RESET_DELAY_MS
   .config:1817:warning: symbol value 'n' invalid for DRM_I915_STOP_TIMEOUT
   .config:2048:warning: symbol value 'n' invalid for KCOV_IRQ_AREA_SIZE
   .config:2143:warning: symbol value 'n' invalid for RCU_FANOUT_LEAF
   .config:2237:warning: symbol value 'n' invalid for DRM_XE_TIMESLICE_MAX
   .config:2290:warning: symbol value 'n' invalid for PANEL_LCD_BWIDTH
   .config:2523:warning: symbol value 'n' invalid for PANEL_PARPORT
   .config:2568:warning: symbol value 'n' invalid for SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST_NUM
   .config:2606:warning: symbol value 'n' invalid for NOUVEAU_DEBUG_DEFAULT
   .config:2707:warning: symbol value 'n' invalid for AIC79XX_RESET_DELAY_MS
   .config:2779:warning: symbol value 'n' invalid for SERIAL_ALTERA_UART_BAUDRATE
   .config:2791:warning: symbol value 'n' invalid for KCSAN_REPORT_ONCE_IN_MS
   .config:2888:warning: symbol value 'n' invalid for KCSAN_UDELAY_INTERRUPT
   .config:2910:warning: symbol value 'n' invalid for PANEL_LCD_PIN_BL
   .config:2934:warning: symbol value 'n' invalid for INITRAMFS_ROOT_GID
   .config:2968:warning: symbol value 'n' invalid for DUMMY_CONSOLE_ROWS
   .config:3008:warning: symbol value 'n' invalid for PSTORE_BLK_CONSOLE_SIZE
   .config:3038:warning: symbol value 'n' invalid for ATM_FORE200E_TX_RETRY
   .config:3078:warning: symbol value 'n' invalid for FB_OMAP2_DSS_MIN_FCK_PER_PCK
   .config:3203:warning: symbol value 'n' invalid for BOOKE_WDT_DEFAULT_TIMEOUT
   .config:3248:warning: symbol value 'n' invalid for MTD_REDBOOT_DIRECTORY_BLOCK
   .config:3294:warning: symbol value 'n' invalid for KCSAN_UDELAY_TASK
   .config:3407:warning: symbol value 'n' invalid for MMC_BLOCK_MINORS
   .config:3455:warning: symbol value 'n' invalid for SCSI_NCR53C8XX_SYNC
   .config:3570:warning: symbol value 'n' invalid for UCLAMP_BUCKETS_COUNT
   .config:3636:warning: symbol value 'n' invalid for SERIAL_MCF_BAUDRATE
   .config:3708:warning: symbol value 'n' invalid for DE2104X_DSL
   .config:3721:warning: symbol value 'n' invalid for BLK_DEV_RAM_COUNT
   .config:3787:warning: symbol value 'n' invalid for STACK_MAX_DEFAULT_SIZE_MB
   .config:3964:warning: symbol value 'n' invalid for IP_VS_SH_TAB_BITS
   .config:4094:warning: symbol value 'n' invalid for CMA_AREAS
   .config:4105:warning: symbol value 'n' invalid for USBIP_VHCI_HC_PORTS
   .config:4149:warning: symbol value 'n' invalid for INPUT_MOUSEDEV_SCREEN_X
   .config:4235:warning: symbol value 'n' invalid for FTRACE_RECORD_RECURSION_SIZE
   .config:4264:warning: symbol value 'n' invalid for RIONET_RX_SIZE
   .config:4416:warning: symbol value 'n' invalid for RADIO_TYPHOON_PORT
   .config:4524:warning: symbol value 'n' invalid for SERIAL_TXX9_NR_UARTS
   .config:4565:warning: symbol value 'n' invalid for IBM_EMAC_TXB
   .config:4948:warning: symbol value 'n' invalid for ARCH_MMAP_RND_BITS
   .config:4975:warning: symbol value 'n' invalid for IP_VS_MH_TAB_INDEX
   .config:5029:warning: symbol value 'n' invalid for DRM_I915_FENCE_TIMEOUT
   .config:5051:warning: symbol value 'n' invalid for TTY_PRINTK_LEVEL
   .config:5209:warning: symbol value 'n' invalid for MIPS_EJTAG_FDC_KGDB_CHAN
   .config:5298:warning: symbol value 'n' invalid for KDB_DEFAULT_ENABLE
   .config:5316:warning: symbol value 'n' invalid for SERIAL_ALTERA_UART_MAXPORTS
   .config:5323:warning: symbol value 'n' invalid for PANEL_PROFILE
   .config:5384:warning: symbol value 'n' invalid for PPC_EARLY_DEBUG_EHV_BC_HANDLE
   .config:5424:warning: symbol value 'n' invalid for PANEL_LCD_PIN_RW
   .config:5570:warning: symbol value 'n' invalid for CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD
   .config:5574:warning: symbol value 'n' invalid for PANEL_LCD_HWIDTH
   .config:5605:warning: symbol value 'n' invalid for LOCKDEP_CHAINS_BITS
   .config:5694:warning: symbol value 'n' invalid for DRM_I915_HEARTBEAT_INTERVAL
   .config:5702:warning: symbol value 'n' invalid for KCSAN_SKIP_WATCH
   .config:5724:warning: symbol value 'n' invalid for PSTORE_BLK_KMSG_SIZE
   .config:5929:warning: symbol value 'n' invalid for SERIAL_8250_RUNTIME_UARTS
   .config:6021:warning: symbol value 'n' invalid for ARCH_MMAP_RND_COMPAT_BITS
   .config:6127:warning: symbol value 'n' invalid for RCU_BOOST_DELAY
   .config:6186:warning: symbol value 'n' invalid for RADIO_TRUST_PORT
   .config:6198:warning: symbol value 'n' invalid for SERIAL_SH_SCI_NR_UARTS
   .config:6321:warning: symbol value 'n' invalid for VERBOSE_MCHECK_ON
   .config:6560:warning: symbol value 'n' invalid for CMA_SIZE_PERCENTAGE
   .config:6580:warning: symbol value 'n' invalid for DRM_XE_PREEMPT_TIMEOUT_MAX
   .config:6708:warning: symbol value 'n' invalid for DRM_XE_TIMESLICE_MIN
   .config:6757:warning: symbol value 'n' invalid for DVB_MAX_ADAPTERS
   .config:6760:warning: symbol value 'n' invalid for SCSI_NCR53C8XX_MAX_TAGS
   .config:6777:warning: symbol value 'n' invalid for SCSI_SYM53C8XX_DMA_ADDRESSING_MODE
   .config:7048:warning: symbol value 'n' invalid for SCSI_SYM53C8XX_MAX_TAGS
   .config:7062:warning: symbol value 'n' invalid for ZSMALLOC_CHAIN_SIZE
   .config:7140:warning: symbol value 'n' invalid for IBM_EMAC_RXB
   .config:7148:warning: symbol value 'n' invalid for MTD_UBI_WL_THRESHOLD
   .config:7167:warning: symbol value 'n' invalid for RIONET_TX_SIZE
   .config:7172:warning: symbol value 'n' invalid for SERIAL_ARC_NR_PORTS
   .config:7266:warning: symbol value 'n' invalid for LOCKDEP_BITS

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
  2024-02-14 21:57 ` [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers Mario Limonciello
                     ` (8 preceding siblings ...)
  2024-02-16 17:11   ` kernel test robot
@ 2024-02-16 21:18   ` kernel test robot
  2024-02-17  1:34   ` kernel test robot
                     ` (2 subsequent siblings)
  12 siblings, 0 replies; 26+ messages in thread
From: kernel test robot @ 2024-02-16 21:18 UTC (permalink / raw)
  To: Mario Limonciello, Daniel Vetter, Jani Nikula, Alex Deucher,
	Hans de Goede, open list:DRM DRIVERS
  Cc: Paul Gazzillo, Necip Fazil Yildiran, oe-kbuild-all, amd-gfx,
	open list:USB SUBSYSTEM, linux-fbdev, nouveau, intel-gfx,
	platform-driver-x86, intel-xe, linux-renesas-soc, open list:ACPI,
	open list, Melissa Wen, Mark Pearson, Mario Limonciello

Hi Mario,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on drm-intel/for-linux-next-fixes drm-tip/drm-tip linus/master v6.8-rc4 next-20240216]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Mario-Limonciello/drm-Stop-using-select-ACPI_VIDEO-in-all-drivers/20240215-055936
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/20240214215756.6530-2-mario.limonciello%40amd.com
patch subject: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
config: alpha-kismet-CONFIG_FB_BACKLIGHT-CONFIG_FB_SH_MOBILE_LCDC-0-0 (https://download.01.org/0day-ci/archive/20240217/202402170543.qd0JRj6h-lkp@intel.com/config)
reproduce: (https://download.01.org/0day-ci/archive/20240217/202402170543.qd0JRj6h-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402170543.qd0JRj6h-lkp@intel.com/

kismet warnings: (new ones prefixed by >>)
>> kismet: WARNING: unmet direct dependencies detected for FB_BACKLIGHT when selected by FB_SH_MOBILE_LCDC
   .config:92:warning: symbol value 'n' invalid for AIC7XXX_DEBUG_MASK
   .config:218:warning: symbol value 'n' invalid for RAPIDIO_DISC_TIMEOUT
   .config:242:warning: symbol value 'n' invalid for SATA_MOBILE_LPM_POLICY
   .config:259:warning: symbol value 'n' invalid for FAT_DEFAULT_CODEPAGE
   .config:339:warning: symbol value 'n' invalid for PSTORE_BLK_MAX_REASON
   .config:341:warning: symbol value 'n' invalid for PANEL_PROFILE
   .config:352:warning: symbol value 'n' invalid for AIC79XX_DEBUG_MASK
   .config:432:warning: symbol value 'n' invalid for KFENCE_SAMPLE_INTERVAL
   .config:610:warning: symbol value 'n' invalid for DRM_XE_JOB_TIMEOUT_MIN
   .config:616:warning: symbol value 'n' invalid for CRYPTO_DEV_QCE_SW_MAX_LEN
   .config:717:warning: symbol value 'n' invalid for PANEL_LCD_CHARSET
   .config:755:warning: symbol value 'n' invalid for AIC79XX_CMDS_PER_DEVICE
   .config:784:warning: symbol value 'n' invalid for SND_AC97_POWER_SAVE_DEFAULT
   .config:805:warning: symbol value 'n' invalid for PANEL_LCD_PIN_SDA
   .config:807:warning: symbol value 'n' invalid for MAGIC_SYSRQ_DEFAULT_ENABLE
   .config:825:warning: symbol value 'n' invalid for DRM_I915_MAX_REQUEST_BUSYWAIT
   .config:864:warning: symbol value 'n' invalid for SND_AT73C213_TARGET_BITRATE
   .config:886:warning: symbol value 'n' invalid for DRM_XE_PREEMPT_TIMEOUT_MIN
   .config:894:warning: symbol value 'n' invalid for NET_EMATCH_STACK
   .config:896:warning: symbol value 'n' invalid for VMCP_CMA_SIZE
   .config:988:warning: symbol value 'n' invalid for INPUT_MOUSEDEV_SCREEN_Y
   .config:1124:warning: symbol value 'n' invalid for RCU_CPU_STALL_TIMEOUT
   .config:1150:warning: symbol value 'n' invalid for MTDRAM_ERASE_SIZE
   .config:1237:warning: symbol value 'n' invalid for SERIAL_UARTLITE_NR_UARTS
   .config:1303:warning: symbol value 'n' invalid for USB_GADGET_STORAGE_NUM_BUFFERS
   .config:1396:warning: symbol value 'n' invalid for LEGACY_PTY_COUNT
   .config:1533:warning: symbol value 'n' invalid for AIC7XXX_RESET_DELAY_MS
   .config:1723:warning: symbol value 'n' invalid for IBM_EMAC_POLL_WEIGHT
   .config:1759:warning: symbol value 'n' invalid for PANEL_LCD_PIN_E
   .config:1805:warning: symbol value 'n' invalid for DRM_I915_STOP_TIMEOUT
   .config:1981:warning: symbol value 'n' invalid for KCOV_IRQ_AREA_SIZE
   .config:2132:warning: symbol value 'n' invalid for RCU_FANOUT_LEAF
   .config:2232:warning: symbol value 'n' invalid for DRM_XE_TIMESLICE_MAX
   .config:2278:warning: symbol value 'n' invalid for PANEL_LCD_BWIDTH
   .config:2512:warning: symbol value 'n' invalid for PANEL_PARPORT
   .config:2520:warning: symbol value 'n' invalid for SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST_NUM
   .config:2599:warning: symbol value 'n' invalid for NOUVEAU_DEBUG_DEFAULT
   .config:2785:warning: symbol value 'n' invalid for KCSAN_REPORT_ONCE_IN_MS
   .config:2883:warning: symbol value 'n' invalid for PSTORE_BLK_CONSOLE_SIZE
   .config:2884:warning: symbol value 'n' invalid for KCSAN_UDELAY_INTERRUPT
   .config:2894:warning: symbol value 'n' invalid for AIC79XX_RESET_DELAY_MS
   .config:2908:warning: symbol value 'n' invalid for PANEL_LCD_PIN_BL
   .config:2924:warning: symbol value 'n' invalid for DEBUG_OBJECTS_ENABLE_DEFAULT
   .config:2931:warning: symbol value 'n' invalid for INITRAMFS_ROOT_GID
   .config:3032:warning: symbol value 'n' invalid for ATM_FORE200E_TX_RETRY
   .config:3059:warning: symbol value 'n' invalid for BOOKE_WDT_DEFAULT_TIMEOUT
   .config:3068:warning: symbol value 'n' invalid for FB_OMAP2_DSS_MIN_FCK_PER_PCK
   .config:3282:warning: symbol value 'n' invalid for KCSAN_UDELAY_TASK
   .config:3397:warning: symbol value 'n' invalid for MMC_BLOCK_MINORS
   .config:3400:warning: symbol value 'n' invalid for INET_TABLE_PERTURB_ORDER
   .config:3410:warning: symbol value 'n' invalid for MTD_REDBOOT_DIRECTORY_BLOCK
   .config:3443:warning: symbol value 'n' invalid for SCSI_NCR53C8XX_SYNC
   .config:3560:warning: symbol value 'n' invalid for UCLAMP_BUCKETS_COUNT
   .config:3580:warning: symbol value 'n' invalid for SCSI_MESH_RESET_DELAY_MS
   .config:3610:warning: symbol value 'n' invalid for SERIAL_MCF_BAUDRATE
   .config:3668:warning: symbol value 'n' invalid for STACK_MAX_DEFAULT_SIZE_MB
   .config:3680:warning: symbol value 'n' invalid for DE2104X_DSL
   .config:3693:warning: symbol value 'n' invalid for BLK_DEV_RAM_COUNT
   .config:3752:warning: symbol value 'n' invalid for SERIAL_ALTERA_UART_BAUDRATE
   .config:3932:warning: symbol value 'n' invalid for IP_VS_SH_TAB_BITS
   .config:4071:warning: symbol value 'n' invalid for USBIP_VHCI_HC_PORTS
   .config:4138:warning: symbol value 'n' invalid for INPUT_MOUSEDEV_SCREEN_X
   .config:4250:warning: symbol value 'n' invalid for RIONET_RX_SIZE
   .config:4394:warning: symbol value 'n' invalid for RADIO_TYPHOON_PORT
   .config:4425:warning: symbol value 'n' invalid for FTRACE_RECORD_RECURSION_SIZE
   .config:4508:warning: symbol value 'n' invalid for SERIAL_TXX9_NR_UARTS
   .config:4550:warning: symbol value 'n' invalid for IBM_EMAC_TXB
   .config:4931:warning: symbol value 'n' invalid for ARCH_MMAP_RND_BITS
   .config:5013:warning: symbol value 'n' invalid for DRM_I915_FENCE_TIMEOUT
   .config:5035:warning: symbol value 'n' invalid for TTY_PRINTK_LEVEL
   .config:5172:warning: symbol value 'n' invalid for IP_VS_MH_TAB_INDEX
   .config:5188:warning: symbol value 'n' invalid for MIPS_EJTAG_FDC_KGDB_CHAN
   .config:5279:warning: symbol value 'n' invalid for KDB_DEFAULT_ENABLE
   .config:5297:warning: symbol value 'n' invalid for SERIAL_ALTERA_UART_MAXPORTS
   .config:5359:warning: symbol value 'n' invalid for CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD
   .config:5361:warning: symbol value 'n' invalid for PPC_EARLY_DEBUG_EHV_BC_HANDLE
   .config:5550:warning: symbol value 'n' invalid for PANEL_LCD_HWIDTH
   .config:5576:warning: symbol value 'n' invalid for PANEL_LCD_PIN_RW
   .config:5583:warning: symbol value 'n' invalid for LOCKDEP_CHAINS_BITS
   .config:5677:warning: symbol value 'n' invalid for DRM_I915_HEARTBEAT_INTERVAL
   .config:5683:warning: symbol value 'n' invalid for KCSAN_SKIP_WATCH
   .config:5706:warning: symbol value 'n' invalid for PSTORE_BLK_KMSG_SIZE
   .config:6004:warning: symbol value 'n' invalid for ARCH_MMAP_RND_COMPAT_BITS
   .config:6113:warning: symbol value 'n' invalid for SND_MAX_CARDS
   .config:6170:warning: symbol value 'n' invalid for SERIAL_SH_SCI_NR_UARTS
   .config:6171:warning: symbol value 'n' invalid for RADIO_TRUST_PORT
   .config:6246:warning: symbol value 'n' invalid for RCU_BOOST_DELAY
   .config:6545:warning: symbol value 'n' invalid for CMA_SIZE_PERCENTAGE
   .config:6684:warning: symbol value 'n' invalid for DRM_XE_TIMESLICE_MIN
   .config:6702:warning: symbol value 'n' invalid for DRM_XE_PREEMPT_TIMEOUT_MAX
   .config:6725:warning: symbol value 'n' invalid for SCSI_NCR53C8XX_MAX_TAGS
   .config:6734:warning: symbol value 'n' invalid for DVB_MAX_ADAPTERS
   .config:6747:warning: symbol value 'n' invalid for SCSI_SYM53C8XX_DMA_ADDRESSING_MODE
   .config:6873:warning: symbol value 'n' invalid for ZSMALLOC_CHAIN_SIZE
   .config:7082:warning: symbol value 'n' invalid for LOCKDEP_BITS
   .config:7112:warning: symbol value 'n' invalid for IBM_EMAC_RXB
   .config:7150:warning: symbol value 'n' invalid for SCSI_SYM53C8XX_MAX_TAGS
   .config:7153:warning: symbol value 'n' invalid for SERIAL_ARC_NR_PORTS
   .config:7244:warning: symbol value 'n' invalid for MTD_UBI_WL_THRESHOLD
   .config:7262:warning: symbol value 'n' invalid for RIONET_TX_SIZE

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
  2024-02-14 21:57 ` [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers Mario Limonciello
                     ` (9 preceding siblings ...)
  2024-02-16 21:18   ` kernel test robot
@ 2024-02-17  1:34   ` kernel test robot
  2024-02-17  5:36   ` kernel test robot
  2024-02-17  9:51   ` kernel test robot
  12 siblings, 0 replies; 26+ messages in thread
From: kernel test robot @ 2024-02-17  1:34 UTC (permalink / raw)
  To: Mario Limonciello, Daniel Vetter, Jani Nikula, Alex Deucher,
	Hans de Goede, open list:DRM DRIVERS
  Cc: Paul Gazzillo, Necip Fazil Yildiran, oe-kbuild-all, amd-gfx,
	open list:USB SUBSYSTEM, linux-fbdev, nouveau, intel-gfx,
	platform-driver-x86, intel-xe, linux-renesas-soc, open list:ACPI,
	open list, Melissa Wen, Mark Pearson, Mario Limonciello

Hi Mario,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on drm-intel/for-linux-next-fixes drm-tip/drm-tip linus/master v6.8-rc4 next-20240216]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Mario-Limonciello/drm-Stop-using-select-ACPI_VIDEO-in-all-drivers/20240215-055936
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/20240214215756.6530-2-mario.limonciello%40amd.com
patch subject: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
config: alpha-kismet-CONFIG_FB_BACKLIGHT-CONFIG_FB_SSD1307-0-0 (https://download.01.org/0day-ci/archive/20240217/202402170903.pSlAhO5F-lkp@intel.com/config)
reproduce: (https://download.01.org/0day-ci/archive/20240217/202402170903.pSlAhO5F-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402170903.pSlAhO5F-lkp@intel.com/

kismet warnings: (new ones prefixed by >>)
>> kismet: WARNING: unmet direct dependencies detected for FB_BACKLIGHT when selected by FB_SSD1307
   .config:254:warning: symbol value 'n' invalid for SATA_MOBILE_LPM_POLICY
   .config:268:warning: symbol value 'n' invalid for INPUT_MOUSEDEV_SCREEN_Y
   .config:441:warning: symbol value 'n' invalid for KFENCE_SAMPLE_INTERVAL
   .config:460:warning: symbol value 'n' invalid for AIC79XX_DEBUG_MASK
   .config:610:warning: symbol value 'n' invalid for USB_GADGET_STORAGE_NUM_BUFFERS
   .config:619:warning: symbol value 'n' invalid for DRM_XE_JOB_TIMEOUT_MIN
   .config:645:warning: symbol value 'n' invalid for CRYPTO_DEV_QCE_SW_MAX_LEN
   .config:757:warning: symbol value 'n' invalid for PANEL_LCD_CHARSET
   .config:758:warning: symbol value 'n' invalid for SERIAL_ALTERA_UART_BAUDRATE
   .config:800:warning: symbol value 'n' invalid for SND_AC97_POWER_SAVE_DEFAULT
   .config:834:warning: symbol value 'n' invalid for DUMMY_CONSOLE_ROWS
   .config:844:warning: symbol value 'n' invalid for MAGIC_SYSRQ_DEFAULT_ENABLE
   .config:858:warning: symbol value 'n' invalid for DRM_I915_MAX_REQUEST_BUSYWAIT
   .config:882:warning: symbol value 'n' invalid for AIC79XX_CMDS_PER_DEVICE
   .config:894:warning: symbol value 'n' invalid for SND_AT73C213_TARGET_BITRATE
   .config:903:warning: symbol value 'n' invalid for DRM_XE_PREEMPT_TIMEOUT_MIN
   .config:915:warning: symbol value 'n' invalid for NET_EMATCH_STACK
   .config:917:warning: symbol value 'n' invalid for VMCP_CMA_SIZE
   .config:942:warning: symbol value 'n' invalid for PANEL_LCD_PIN_SDA
   .config:1062:warning: symbol value 'n' invalid for PANEL_LCD_PIN_E
   .config:1143:warning: symbol value 'n' invalid for RCU_CPU_STALL_TIMEOUT
   .config:1173:warning: symbol value 'n' invalid for MTDRAM_ERASE_SIZE
   .config:1281:warning: symbol value 'n' invalid for SERIAL_UARTLITE_NR_UARTS
   .config:1324:warning: symbol value 'n' invalid for VERBOSE_MCHECK_ON
   .config:1453:warning: symbol value 'n' invalid for LEGACY_PTY_COUNT
   .config:1605:warning: symbol value 'n' invalid for AIC7XXX_RESET_DELAY_MS
   .config:1659:warning: symbol value 'n' invalid for XEN_MEMORY_HOTPLUG_LIMIT
   .config:1755:warning: symbol value 'n' invalid for IBM_EMAC_POLL_WEIGHT
   .config:1881:warning: symbol value 'n' invalid for DRM_I915_STOP_TIMEOUT
   .config:2135:warning: symbol value 'n' invalid for AIC79XX_RESET_DELAY_MS
   .config:2155:warning: symbol value 'n' invalid for KCOV_IRQ_AREA_SIZE
   .config:2172:warning: symbol value 'n' invalid for RCU_FANOUT_LEAF
   .config:2315:warning: symbol value 'n' invalid for DRM_XE_TIMESLICE_MAX
   .config:2317:warning: symbol value 'n' invalid for PANEL_LCD_BWIDTH
   .config:2557:warning: symbol value 'n' invalid for PANEL_PARPORT
   .config:2643:warning: symbol value 'n' invalid for NOUVEAU_DEBUG_DEFAULT
   .config:2791:warning: symbol value 'n' invalid for SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST_NUM
   .config:2831:warning: symbol value 'n' invalid for KCSAN_REPORT_ONCE_IN_MS
   .config:2932:warning: symbol value 'n' invalid for KCSAN_UDELAY_INTERRUPT
   .config:2954:warning: symbol value 'n' invalid for PANEL_LCD_PIN_BL
   .config:2972:warning: symbol value 'n' invalid for DEBUG_OBJECTS_ENABLE_DEFAULT
   .config:2978:warning: symbol value 'n' invalid for INITRAMFS_ROOT_GID
   .config:3082:warning: symbol value 'n' invalid for ATM_FORE200E_TX_RETRY
   .config:3119:warning: symbol value 'n' invalid for FB_OMAP2_DSS_MIN_FCK_PER_PCK
   .config:3212:warning: symbol value 'n' invalid for PSTORE_BLK_CONSOLE_SIZE
   .config:3341:warning: symbol value 'n' invalid for BOOKE_WDT_DEFAULT_TIMEOUT
   .config:3400:warning: symbol value 'n' invalid for KCSAN_UDELAY_TASK
   .config:3454:warning: symbol value 'n' invalid for MMC_BLOCK_MINORS
   .config:3457:warning: symbol value 'n' invalid for INET_TABLE_PERTURB_ORDER
   .config:3497:warning: symbol value 'n' invalid for SCSI_NCR53C8XX_SYNC
   .config:3617:warning: symbol value 'n' invalid for UCLAMP_BUCKETS_COUNT
   .config:3726:warning: symbol value 'n' invalid for SERIAL_MCF_BAUDRATE
   .config:3797:warning: symbol value 'n' invalid for DE2104X_DSL
   .config:3808:warning: symbol value 'n' invalid for BLK_DEV_RAM_COUNT
   .config:3841:warning: symbol value 'n' invalid for FTRACE_RECORD_RECURSION_SIZE
   .config:3941:warning: symbol value 'n' invalid for STACK_MAX_DEFAULT_SIZE_MB
   .config:4058:warning: symbol value 'n' invalid for IP_VS_SH_TAB_BITS
   .config:4147:warning: symbol value 'n' invalid for CMA_AREAS
   .config:4204:warning: symbol value 'n' invalid for INPUT_MOUSEDEV_SCREEN_X
   .config:4206:warning: symbol value 'n' invalid for USBIP_VHCI_HC_PORTS
   .config:4318:warning: symbol value 'n' invalid for RIONET_RX_SIZE
   .config:4534:warning: symbol value 'n' invalid for RADIO_TYPHOON_PORT
   .config:4541:warning: symbol value 'n' invalid for IP_VS_MH_TAB_INDEX
   .config:4625:warning: symbol value 'n' invalid for IBM_EMAC_TXB
   .config:4651:warning: symbol value 'n' invalid for SERIAL_TXX9_NR_UARTS
   .config:5011:warning: symbol value 'n' invalid for ARCH_MMAP_RND_BITS
   .config:5062:warning: symbol value 'n' invalid for PANEL_LCD_PIN_RW
   .config:5094:warning: symbol value 'n' invalid for DRM_I915_FENCE_TIMEOUT
   .config:5116:warning: symbol value 'n' invalid for TTY_PRINTK_LEVEL
   .config:5272:warning: symbol value 'n' invalid for MIPS_EJTAG_FDC_KGDB_CHAN
   .config:5365:warning: symbol value 'n' invalid for KDB_DEFAULT_ENABLE
   .config:5381:warning: symbol value 'n' invalid for SERIAL_ALTERA_UART_MAXPORTS
   .config:5516:warning: symbol value 'n' invalid for PPC_EARLY_DEBUG_EHV_BC_HANDLE
   .config:5649:warning: symbol value 'n' invalid for PANEL_LCD_HWIDTH
   .config:5678:warning: symbol value 'n' invalid for LOCKDEP_CHAINS_BITS
   .config:5764:warning: symbol value 'n' invalid for DRM_I915_HEARTBEAT_INTERVAL
   .config:5773:warning: symbol value 'n' invalid for KCSAN_SKIP_WATCH
   .config:5798:warning: symbol value 'n' invalid for RCU_BOOST_DELAY
   .config:5814:warning: symbol value 'n' invalid for CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD
   .config:6093:warning: symbol value 'n' invalid for ARCH_MMAP_RND_COMPAT_BITS
   .config:6259:warning: symbol value 'n' invalid for RADIO_TRUST_PORT
   .config:6263:warning: symbol value 'n' invalid for DRM_XE_PREEMPT_TIMEOUT_MAX
   .config:6639:warning: symbol value 'n' invalid for CMA_SIZE_PERCENTAGE
   .config:6767:warning: symbol value 'n' invalid for SCSI_SYM53C8XX_MAX_TAGS
   .config:6786:warning: symbol value 'n' invalid for DRM_XE_TIMESLICE_MIN
   .config:6896:warning: symbol value 'n' invalid for DVB_MAX_ADAPTERS
   .config:6900:warning: symbol value 'n' invalid for SCSI_NCR53C8XX_MAX_TAGS
   .config:6903:warning: symbol value 'n' invalid for RIONET_TX_SIZE
   .config:6912:warning: symbol value 'n' invalid for SCSI_SYM53C8XX_DMA_ADDRESSING_MODE
   .config:7200:warning: symbol value 'n' invalid for ZSMALLOC_CHAIN_SIZE
   .config:7232:warning: symbol value 'n' invalid for OMAP2_DSS_MIN_FCK_PER_PCK
   .config:7250:warning: symbol value 'n' invalid for SERIAL_ARC_NR_PORTS
   .config:7278:warning: symbol value 'n' invalid for IBM_EMAC_RXB
   .config:7421:warning: symbol value 'n' invalid for LOCKDEP_BITS
   .config:7426:warning: symbol value 'n' invalid for SCSI_MPT3SAS_MAX_SGE
   .config:7604:warning: symbol value 'n' invalid for RCU_FANOUT
   .config:7657:warning: symbol value 'n' invalid for PANEL_LCD
   .config:7780:warning: symbol value 'n' invalid for KDB_CONTINUE_CATASTROPHIC
   .config:7944:warning: symbol value 'n' invalid for CRYPTO_DEV_FSL_CAAM_RINGSIZE
   .config:8034:warning: symbol value 'n' invalid for MTDRAM_TOTAL_SIZE

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
  2024-02-14 21:57 ` [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers Mario Limonciello
                     ` (10 preceding siblings ...)
  2024-02-17  1:34   ` kernel test robot
@ 2024-02-17  5:36   ` kernel test robot
  2024-02-17  9:51   ` kernel test robot
  12 siblings, 0 replies; 26+ messages in thread
From: kernel test robot @ 2024-02-17  5:36 UTC (permalink / raw)
  To: Mario Limonciello, Daniel Vetter, Jani Nikula, Alex Deucher,
	Hans de Goede, open list:DRM DRIVERS
  Cc: Paul Gazzillo, Necip Fazil Yildiran, oe-kbuild-all, amd-gfx,
	open list:USB SUBSYSTEM, linux-fbdev, nouveau, intel-gfx,
	platform-driver-x86, intel-xe, linux-renesas-soc, open list:ACPI,
	open list, Melissa Wen, Mark Pearson, Mario Limonciello

Hi Mario,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on drm-intel/for-linux-next-fixes drm-tip/drm-tip linus/master v6.8-rc4 next-20240216]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Mario-Limonciello/drm-Stop-using-select-ACPI_VIDEO-in-all-drivers/20240215-055936
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/20240214215756.6530-2-mario.limonciello%40amd.com
patch subject: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
config: alpha-kismet-CONFIG_FB_BACKLIGHT-CONFIG_FB_TFT-0-0 (https://download.01.org/0day-ci/archive/20240217/202402171302.HKl1Cpkb-lkp@intel.com/config)
reproduce: (https://download.01.org/0day-ci/archive/20240217/202402171302.HKl1Cpkb-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402171302.HKl1Cpkb-lkp@intel.com/

kismet warnings: (new ones prefixed by >>)
>> kismet: WARNING: unmet direct dependencies detected for FB_BACKLIGHT when selected by FB_TFT
   .config:262:warning: symbol value 'n' invalid for SATA_MOBILE_LPM_POLICY
   .config:360:warning: symbol value 'n' invalid for PSTORE_BLK_MAX_REASON
   .config:445:warning: symbol value 'n' invalid for KFENCE_SAMPLE_INTERVAL
   .config:599:warning: symbol value 'n' invalid for AIC79XX_DEBUG_MASK
   .config:634:warning: symbol value 'n' invalid for AIC79XX_RESET_DELAY_MS
   .config:638:warning: symbol value 'n' invalid for DRM_XE_JOB_TIMEOUT_MIN
   .config:680:warning: symbol value 'n' invalid for CRYPTO_DEV_QCE_SW_MAX_LEN
   .config:780:warning: symbol value 'n' invalid for PANEL_LCD_CHARSET
   .config:820:warning: symbol value 'n' invalid for SND_AC97_POWER_SAVE_DEFAULT
   .config:881:warning: symbol value 'n' invalid for MAGIC_SYSRQ_DEFAULT_ENABLE
   .config:894:warning: symbol value 'n' invalid for DRM_I915_MAX_REQUEST_BUSYWAIT
   .config:928:warning: symbol value 'n' invalid for DRM_XE_PREEMPT_TIMEOUT_MIN
   .config:939:warning: symbol value 'n' invalid for SND_AT73C213_TARGET_BITRATE
   .config:940:warning: symbol value 'n' invalid for NET_EMATCH_STACK
   .config:942:warning: symbol value 'n' invalid for VMCP_CMA_SIZE
   .config:1112:warning: symbol value 'n' invalid for AIC79XX_CMDS_PER_DEVICE
   .config:1181:warning: symbol value 'n' invalid for PANEL_LCD_PIN_SDA
   .config:1208:warning: symbol value 'n' invalid for MTDRAM_ERASE_SIZE
   .config:1238:warning: symbol value 'n' invalid for MTD_REDBOOT_DIRECTORY_BLOCK
   .config:1330:warning: symbol value 'n' invalid for SERIAL_UARTLITE_NR_UARTS
   .config:1516:warning: symbol value 'n' invalid for LEGACY_PTY_COUNT
   .config:1666:warning: symbol value 'n' invalid for AIC7XXX_RESET_DELAY_MS
   .config:1808:warning: symbol value 'n' invalid for IBM_EMAC_POLL_WEIGHT
   .config:1972:warning: symbol value 'n' invalid for DRM_I915_STOP_TIMEOUT
   .config:2387:warning: symbol value 'n' invalid for PANEL_LCD_BWIDTH
   .config:2412:warning: symbol value 'n' invalid for DRM_XE_TIMESLICE_MAX
   .config:2427:warning: symbol value 'n' invalid for FTRACE_RECORD_RECURSION_SIZE
   .config:2607:warning: symbol value 'n' invalid for KCOV_IRQ_AREA_SIZE
   .config:2633:warning: symbol value 'n' invalid for PANEL_PARPORT
   .config:2722:warning: symbol value 'n' invalid for NOUVEAU_DEBUG_DEFAULT
   .config:2919:warning: symbol value 'n' invalid for KCSAN_REPORT_ONCE_IN_MS
   .config:3017:warning: symbol value 'n' invalid for KCSAN_UDELAY_INTERRUPT
   .config:3041:warning: symbol value 'n' invalid for PANEL_LCD_PIN_BL
   .config:3066:warning: symbol value 'n' invalid for INITRAMFS_ROOT_GID
   .config:3113:warning: symbol value 'n' invalid for SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST_NUM
   .config:3132:warning: symbol value 'n' invalid for SCSI_MESH_RESET_DELAY_MS
   .config:3173:warning: symbol value 'n' invalid for ATM_FORE200E_TX_RETRY
   .config:3216:warning: symbol value 'n' invalid for FB_OMAP2_DSS_MIN_FCK_PER_PCK
   .config:3306:warning: symbol value 'n' invalid for IP_VS_MH_TAB_INDEX
   .config:3454:warning: symbol value 'n' invalid for PSTORE_BLK_CONSOLE_SIZE
   .config:3554:warning: symbol value 'n' invalid for KCSAN_UDELAY_TASK
   .config:3564:warning: symbol value 'n' invalid for MMC_BLOCK_MINORS
   .config:3567:warning: symbol value 'n' invalid for INET_TABLE_PERTURB_ORDER
   .config:3612:warning: symbol value 'n' invalid for SCSI_NCR53C8XX_SYNC
   .config:3638:warning: symbol value 'n' invalid for BOOKE_WDT_DEFAULT_TIMEOUT
   .config:3730:warning: symbol value 'n' invalid for UCLAMP_BUCKETS_COUNT
   .config:3815:warning: symbol value 'n' invalid for PANEL_LCD_PIN_RW
   .config:3901:warning: symbol value 'n' invalid for SERIAL_MCF_BAUDRATE
   .config:3983:warning: symbol value 'n' invalid for DE2104X_DSL
   .config:3998:warning: symbol value 'n' invalid for BLK_DEV_RAM_COUNT
   .config:4187:warning: symbol value 'n' invalid for SERIAL_AR933X_NR_UARTS
   .config:4267:warning: symbol value 'n' invalid for IP_VS_SH_TAB_BITS
   .config:4338:warning: symbol value 'n' invalid for INPUT_MOUSEDEV_SCREEN_X
   .config:4405:warning: symbol value 'n' invalid for STACK_MAX_DEFAULT_SIZE_MB
   .config:4425:warning: symbol value 'n' invalid for USBIP_VHCI_HC_PORTS
   .config:4456:warning: symbol value 'n' invalid for RIONET_RX_SIZE
   .config:4667:warning: symbol value 'n' invalid for RCU_BOOST_DELAY
   .config:4750:warning: symbol value 'n' invalid for RADIO_TYPHOON_PORT
   .config:4769:warning: symbol value 'n' invalid for IBM_EMAC_TXB
   .config:4884:warning: symbol value 'n' invalid for SERIAL_TXX9_NR_UARTS
   .config:4960:warning: symbol value 'n' invalid for VIDEO_VIVID_MAX_DEVS
   .config:5156:warning: symbol value 'n' invalid for ARCH_MMAP_RND_BITS
   .config:5237:warning: symbol value 'n' invalid for DRM_I915_FENCE_TIMEOUT
   .config:5259:warning: symbol value 'n' invalid for TTY_PRINTK_LEVEL
   .config:5261:warning: symbol value 'n' invalid for DRM_XE_PREEMPT_TIMEOUT_MAX
   .config:5423:warning: symbol value 'n' invalid for MIPS_EJTAG_FDC_KGDB_CHAN
   .config:5520:warning: symbol value 'n' invalid for KDB_DEFAULT_ENABLE
   .config:5539:warning: symbol value 'n' invalid for SERIAL_ALTERA_UART_MAXPORTS
   .config:5772:warning: symbol value 'n' invalid for PPC_EARLY_DEBUG_EHV_BC_HANDLE
   .config:5808:warning: symbol value 'n' invalid for PANEL_LCD_HWIDTH
   .config:5843:warning: symbol value 'n' invalid for LOCKDEP_CHAINS_BITS
   .config:5872:warning: symbol value 'n' invalid for SCSI_SYM53C8XX_MAX_TAGS
   .config:5937:warning: symbol value 'n' invalid for DRM_I915_HEARTBEAT_INTERVAL
   .config:5944:warning: symbol value 'n' invalid for KCSAN_SKIP_WATCH
   .config:5968:warning: symbol value 'n' invalid for PSTORE_BLK_KMSG_SIZE
   .config:6011:warning: symbol value 'n' invalid for MTD_UBI_WL_THRESHOLD
   .config:6030:warning: symbol value 'n' invalid for RIONET_TX_SIZE
   .config:6268:warning: symbol value 'n' invalid for ARCH_MMAP_RND_COMPAT_BITS
   .config:6431:warning: symbol value 'n' invalid for CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD
   .config:6437:warning: symbol value 'n' invalid for RADIO_TRUST_PORT
   .config:6464:warning: symbol value 'n' invalid for OMAP2_DSS_MIN_FCK_PER_PCK
   .config:6652:warning: symbol value 'n' invalid for SERIAL_SH_SCI_NR_UARTS
   .config:6767:warning: symbol value 'n' invalid for XEN_MEMORY_HOTPLUG_LIMIT
   .config:6820:warning: symbol value 'n' invalid for CMA_SIZE_PERCENTAGE
   .config:6969:warning: symbol value 'n' invalid for DRM_XE_TIMESLICE_MIN
   .config:7104:warning: symbol value 'n' invalid for KDB_CONTINUE_CATASTROPHIC
   .config:7210:warning: symbol value 'n' invalid for DVB_MAX_ADAPTERS
   .config:7213:warning: symbol value 'n' invalid for SCSI_NCR53C8XX_MAX_TAGS
   .config:7233:warning: symbol value 'n' invalid for SCSI_SYM53C8XX_DMA_ADDRESSING_MODE
   .config:7446:warning: symbol value 'n' invalid for SERIAL_ARC_NR_PORTS
   .config:7557:warning: symbol value 'n' invalid for IIO_CONSUMERS_PER_TRIGGER
   .config:7600:warning: symbol value 'n' invalid for IBM_EMAC_RXB
   .config:7621:warning: symbol value 'n' invalid for SCSI_MPT3SAS_MAX_SGE
   .config:7752:warning: symbol value 'n' invalid for PSTORE_DEFAULT_KMSG_BYTES
   .config:7918:warning: symbol value 'n' invalid for VGA_ARB_MAX_GPUS
   .config:7998:warning: symbol value 'n' invalid for PANEL_LCD
   .config:7999:warning: symbol value 'n' invalid for ZSMALLOC_CHAIN_SIZE
   .config:8147:warning: symbol value 'n' invalid for CRYPTO_DEV_FSL_CAAM_RINGSIZE
   .config:8240:warning: symbol value 'n' invalid for MTDRAM_TOTAL_SIZE
   .config:8329:warning: symbol value 'n' invalid for LOCKDEP_BITS

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
  2024-02-14 21:57 ` [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers Mario Limonciello
                     ` (11 preceding siblings ...)
  2024-02-17  5:36   ` kernel test robot
@ 2024-02-17  9:51   ` kernel test robot
  12 siblings, 0 replies; 26+ messages in thread
From: kernel test robot @ 2024-02-17  9:51 UTC (permalink / raw)
  To: Mario Limonciello, Daniel Vetter, Jani Nikula, Alex Deucher,
	Hans de Goede, open list:DRM DRIVERS
  Cc: Paul Gazzillo, Necip Fazil Yildiran, oe-kbuild-all, amd-gfx,
	open list:USB SUBSYSTEM, linux-fbdev, nouveau, intel-gfx,
	platform-driver-x86, intel-xe, linux-renesas-soc, open list:ACPI,
	open list, Melissa Wen, Mark Pearson, Mario Limonciello

Hi Mario,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on drm-intel/for-linux-next-fixes drm-tip/drm-tip linus/master v6.8-rc4 next-20240216]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Mario-Limonciello/drm-Stop-using-select-ACPI_VIDEO-in-all-drivers/20240215-055936
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/20240214215756.6530-2-mario.limonciello%40amd.com
patch subject: [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers
config: alpha-kismet-CONFIG_FB_BACKLIGHT-CONFIG_HT16K33-0-0 (https://download.01.org/0day-ci/archive/20240217/202402171727.maolcPXi-lkp@intel.com/config)
reproduce: (https://download.01.org/0day-ci/archive/20240217/202402171727.maolcPXi-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402171727.maolcPXi-lkp@intel.com/

kismet warnings: (new ones prefixed by >>)
>> kismet: WARNING: unmet direct dependencies detected for FB_BACKLIGHT when selected by HT16K33
   .config:210:warning: symbol value 'n' invalid for INPUT_MOUSEDEV_SCREEN_Y
   .config:243:warning: symbol value 'n' invalid for SATA_MOBILE_LPM_POLICY
   .config:338:warning: symbol value 'n' invalid for PSTORE_BLK_MAX_REASON
   .config:435:warning: symbol value 'n' invalid for KFENCE_SAMPLE_INTERVAL
   .config:437:warning: symbol value 'n' invalid for AIC79XX_DEBUG_MASK
   .config:521:warning: symbol value 'n' invalid for USB_GADGET_STORAGE_NUM_BUFFERS
   .config:618:warning: symbol value 'n' invalid for DRM_XE_JOB_TIMEOUT_MIN
   .config:632:warning: symbol value 'n' invalid for CRYPTO_DEV_QCE_SW_MAX_LEN
   .config:739:warning: symbol value 'n' invalid for PANEL_LCD_CHARSET
   .config:759:warning: symbol value 'n' invalid for SERIAL_ALTERA_UART_BAUDRATE
   .config:771:warning: symbol value 'n' invalid for SCSI_MESH_RESET_DELAY_MS
   .config:796:warning: symbol value 'n' invalid for SND_AC97_POWER_SAVE_DEFAULT
   .config:834:warning: symbol value 'n' invalid for MAGIC_SYSRQ_DEFAULT_ENABLE
   .config:851:warning: symbol value 'n' invalid for DRM_I915_MAX_REQUEST_BUSYWAIT
   .config:890:warning: symbol value 'n' invalid for SND_AT73C213_TARGET_BITRATE
   .config:892:warning: symbol value 'n' invalid for AIC79XX_CMDS_PER_DEVICE
   .config:907:warning: symbol value 'n' invalid for DRM_XE_PREEMPT_TIMEOUT_MIN
   .config:913:warning: symbol value 'n' invalid for NET_EMATCH_STACK
   .config:915:warning: symbol value 'n' invalid for VMCP_CMA_SIZE
   .config:973:warning: symbol value 'n' invalid for PANEL_LCD_PIN_SDA
   .config:1006:warning: symbol value 'n' invalid for PANEL_LCD_PIN_E
   .config:1142:warning: symbol value 'n' invalid for RCU_CPU_STALL_TIMEOUT
   .config:1170:warning: symbol value 'n' invalid for MTDRAM_ERASE_SIZE
   .config:1431:warning: symbol value 'n' invalid for LEGACY_PTY_COUNT
   .config:1581:warning: symbol value 'n' invalid for WATCHDOG_OPEN_TIMEOUT
   .config:1588:warning: symbol value 'n' invalid for AIC7XXX_RESET_DELAY_MS
   .config:1752:warning: symbol value 'n' invalid for IBM_EMAC_POLL_WEIGHT
   .config:1867:warning: symbol value 'n' invalid for DRM_I915_STOP_TIMEOUT
   .config:2098:warning: symbol value 'n' invalid for AIC79XX_RESET_DELAY_MS
   .config:2129:warning: symbol value 'n' invalid for SND_HDA_PREALLOC_SIZE
   .config:2176:warning: symbol value 'n' invalid for RCU_FANOUT_LEAF
   .config:2186:warning: symbol value 'n' invalid for KCOV_IRQ_AREA_SIZE
   .config:2307:warning: symbol value 'n' invalid for DRM_XE_TIMESLICE_MAX
   .config:2321:warning: symbol value 'n' invalid for PANEL_LCD_BWIDTH
   .config:2386:warning: symbol value 'n' invalid for XEN_MEMORY_HOTPLUG_LIMIT
   .config:2439:warning: symbol value 'n' invalid for VERBOSE_MCHECK_ON
   .config:2559:warning: symbol value 'n' invalid for PANEL_PARPORT
   .config:2645:warning: symbol value 'n' invalid for NOUVEAU_DEBUG_DEFAULT
   .config:2744:warning: symbol value 'n' invalid for MTD_REDBOOT_DIRECTORY_BLOCK
   .config:2803:warning: symbol value 'n' invalid for SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST_NUM
   .config:2831:warning: symbol value 'n' invalid for KCSAN_REPORT_ONCE_IN_MS
   .config:2928:warning: symbol value 'n' invalid for KCSAN_UDELAY_INTERRUPT
   .config:2952:warning: symbol value 'n' invalid for PANEL_LCD_PIN_BL
   .config:2969:warning: symbol value 'n' invalid for DEBUG_OBJECTS_ENABLE_DEFAULT
   .config:2977:warning: symbol value 'n' invalid for INITRAMFS_ROOT_GID
   .config:3081:warning: symbol value 'n' invalid for ATM_FORE200E_TX_RETRY
   .config:3120:warning: symbol value 'n' invalid for FB_OMAP2_DSS_MIN_FCK_PER_PCK
   .config:3186:warning: symbol value 'n' invalid for PSTORE_BLK_CONSOLE_SIZE
   .config:3335:warning: symbol value 'n' invalid for BOOKE_WDT_DEFAULT_TIMEOUT
   .config:3389:warning: symbol value 'n' invalid for KCSAN_UDELAY_TASK
   .config:3453:warning: symbol value 'n' invalid for MMC_BLOCK_MINORS
   .config:3499:warning: symbol value 'n' invalid for SCSI_NCR53C8XX_SYNC
   .config:3620:warning: symbol value 'n' invalid for UCLAMP_BUCKETS_COUNT
   .config:3726:warning: symbol value 'n' invalid for SERIAL_MCF_BAUDRATE
   .config:3794:warning: symbol value 'n' invalid for DE2104X_DSL
   .config:3806:warning: symbol value 'n' invalid for BLK_DEV_RAM_COUNT
   .config:3811:warning: symbol value 'n' invalid for FTRACE_RECORD_RECURSION_SIZE
   .config:3980:warning: symbol value 'n' invalid for STACK_MAX_DEFAULT_SIZE_MB
   .config:4203:warning: symbol value 'n' invalid for USBIP_VHCI_HC_PORTS
   .config:4204:warning: symbol value 'n' invalid for INPUT_MOUSEDEV_SCREEN_X
   .config:4317:warning: symbol value 'n' invalid for RIONET_RX_SIZE
   .config:4529:warning: symbol value 'n' invalid for RADIO_TYPHOON_PORT
   .config:4624:warning: symbol value 'n' invalid for IBM_EMAC_TXB
   .config:4651:warning: symbol value 'n' invalid for SERIAL_TXX9_NR_UARTS
   .config:5012:warning: symbol value 'n' invalid for ARCH_MMAP_RND_BITS
   .config:5033:warning: symbol value 'n' invalid for PANEL_LCD_PIN_RW
   .config:5093:warning: symbol value 'n' invalid for DRM_I915_FENCE_TIMEOUT
   .config:5115:warning: symbol value 'n' invalid for TTY_PRINTK_LEVEL
   .config:5272:warning: symbol value 'n' invalid for MIPS_EJTAG_FDC_KGDB_CHAN
   .config:5367:warning: symbol value 'n' invalid for KDB_DEFAULT_ENABLE
   .config:5384:warning: symbol value 'n' invalid for SERIAL_ALTERA_UART_MAXPORTS
   .config:5517:warning: symbol value 'n' invalid for PPC_EARLY_DEBUG_EHV_BC_HANDLE
   .config:5619:warning: symbol value 'n' invalid for SND_MAX_CARDS
   .config:5648:warning: symbol value 'n' invalid for PANEL_LCD_HWIDTH
   .config:5678:warning: symbol value 'n' invalid for LOCKDEP_CHAINS_BITS
   .config:5766:warning: symbol value 'n' invalid for DRM_I915_HEARTBEAT_INTERVAL
   .config:5772:warning: symbol value 'n' invalid for KCSAN_SKIP_WATCH
   .config:5780:warning: symbol value 'n' invalid for RCU_BOOST_DELAY
   .config:5796:warning: symbol value 'n' invalid for PSTORE_BLK_KMSG_SIZE
   .config:5897:warning: symbol value 'n' invalid for CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD
   .config:6089:warning: symbol value 'n' invalid for ARCH_MMAP_RND_COMPAT_BITS
   .config:6238:warning: symbol value 'n' invalid for DRM_XE_PREEMPT_TIMEOUT_MAX
   .config:6254:warning: symbol value 'n' invalid for RADIO_TRUST_PORT
   .config:6321:warning: symbol value 'n' invalid for SERIAL_SH_SCI_NR_UARTS
   .config:6627:warning: symbol value 'n' invalid for CMA_SIZE_PERCENTAGE
   .config:6743:warning: symbol value 'n' invalid for SCSI_SYM53C8XX_MAX_TAGS
   .config:6771:warning: symbol value 'n' invalid for DRM_XE_TIMESLICE_MIN
   .config:6873:warning: symbol value 'n' invalid for SCSI_NCR53C8XX_MAX_TAGS
   .config:6875:warning: symbol value 'n' invalid for DVB_MAX_ADAPTERS
   .config:6886:warning: symbol value 'n' invalid for RIONET_TX_SIZE
   .config:6892:warning: symbol value 'n' invalid for SCSI_SYM53C8XX_DMA_ADDRESSING_MODE
   .config:7206:warning: symbol value 'n' invalid for OMAP2_DSS_MIN_FCK_PER_PCK
   .config:7237:warning: symbol value 'n' invalid for ZSMALLOC_CHAIN_SIZE
   .config:7239:warning: symbol value 'n' invalid for SERIAL_ARC_NR_PORTS
   .config:7258:warning: symbol value 'n' invalid for IBM_EMAC_RXB
   .config:7412:warning: symbol value 'n' invalid for SCSI_MPT3SAS_MAX_SGE
   .config:7466:warning: symbol value 'n' invalid for LOCKDEP_BITS
   .config:7543:warning: symbol value 'n' invalid for PSTORE_DEFAULT_KMSG_BYTES
   .config:7588:warning: symbol value 'n' invalid for RCU_FANOUT
   .config:7637:warning: symbol value 'n' invalid for PANEL_LCD

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v6 3/5] drm: Add support to get EDID from ACPI
  2024-02-15 19:03         ` Mario Limonciello
@ 2024-04-17 14:18           ` Geert Uytterhoeven
  0 siblings, 0 replies; 26+ messages in thread
From: Geert Uytterhoeven @ 2024-04-17 14:18 UTC (permalink / raw)
  To: Mario Limonciello
  Cc: Ville Syrjälä,
	Daniel Vetter, Jani Nikula, Alex Deucher, Hans de Goede,
	open list:DRM DRIVERS, amd-gfx, open list:USB SUBSYSTEM,
	linux-fbdev, nouveau, intel-gfx, platform-driver-x86, intel-xe,
	linux-renesas-soc, open list:ACPI, open list, Melissa Wen,
	Mark Pearson

Hi Mario,

On Thu, Feb 15, 2024 at 8:04 PM Mario Limonciello
<mario.limonciello@amd.com> wrote:
> On 2/15/2024 12:47, Ville Syrjälä wrote:
> > On Thu, Feb 15, 2024 at 12:20:56PM -0600, Mario Limonciello wrote:
> >> On 2/14/2024 17:13, Ville Syrjälä wrote:
> >>> On Wed, Feb 14, 2024 at 03:57:54PM -0600, Mario Limonciello wrote:
> >>>> --- a/include/drm/drm_connector.h
> >>>> +++ b/include/drm/drm_connector.h
> >>>> @@ -1886,6 +1886,12 @@ struct drm_connector {
> >>>>
> >>>>            /** @hdr_sink_metadata: HDR Metadata Information read from sink */
> >>>>            struct hdr_sink_metadata hdr_sink_metadata;
> >>>> +
> >>>> +  /**
> >>>> +   * @acpi_edid_allowed: Get the EDID from the BIOS, if available.
> >>>> +   * This is only applicable to eDP and LVDS displays.
> >>>> +   */
> >>>> +  bool acpi_edid_allowed;
> >>>
> >>> Aren't there other bools/small stuff in there for tighter packing?
> >>
> >> Does the compiler automatically do the packing if you put bools nearby
> >> in a struct?  If so; TIL.
> >
> > Yes. Well, depends on the types and their alignment requirements
> > of course, and/or whether you specified __packed or not.
> >
> > You can use 'pahole' to find the holes in structures.
>
> Thanks!  I don't see a __packed attribute on struct drm_connector, but
> I'll put it near by other bools in case that changes in the future.

FTR, don't add __packed unless you have a very good reason to do so.
With __packed, the compiler will emit multiple byte-accesses to
access multi-byte integrals on platforms that do not support unaligned
memory access.

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] 26+ messages in thread

end of thread, other threads:[~2024-04-18  8:03 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-14 21:57 [PATCH v6 0/5] Add support for getting EDID over ACPI to DRM Mario Limonciello
2024-02-14 21:57 ` [PATCH v6 1/5] drm: Stop using `select ACPI_VIDEO` in all drivers Mario Limonciello
2024-02-15 20:47   ` kernel test robot
2024-02-15 20:59   ` kernel test robot
2024-02-16  0:49   ` kernel test robot
2024-02-16  0:49   ` kernel test robot
2024-02-16  5:03   ` kernel test robot
2024-02-16  9:03   ` kernel test robot
2024-02-16  9:24   ` kernel test robot
2024-02-16 13:01   ` kernel test robot
2024-02-16 17:11   ` kernel test robot
2024-02-16 21:18   ` kernel test robot
2024-02-17  1:34   ` kernel test robot
2024-02-17  5:36   ` kernel test robot
2024-02-17  9:51   ` kernel test robot
2024-02-14 21:57 ` [PATCH v6 2/5] drm: Stop using `select BACKLIGHT_CLASS_DEVICE` Mario Limonciello
2024-02-14 21:57 ` [PATCH v6 3/5] drm: Add support to get EDID from ACPI Mario Limonciello
2024-02-14 23:13   ` Ville Syrjälä
2024-02-15 14:13     ` Jani Nikula
2024-02-15 18:20     ` Mario Limonciello
2024-02-15 18:47       ` Ville Syrjälä
2024-02-15 19:03         ` Mario Limonciello
2024-04-17 14:18           ` Geert Uytterhoeven
2024-02-15 14:09   ` Jani Nikula
2024-02-14 21:57 ` [PATCH v6 4/5] drm/amd: Fetch the EDID from _DDC if available for eDP Mario Limonciello
2024-02-14 21:57 ` [PATCH v6 5/5] drm/nouveau: Use drm_edid_read_acpi() helper Mario Limonciello

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).