From: Thomas Zimmermann Date: Mon, 2 Jun 2025 07:51:43 +0000 (+0200) Subject: video: Make CONFIG_FIRMWARE_EDID generally available X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7e35fc7ab433683f95cd1e7e397772db995bebf8;p=thirdparty%2Fkernel%2Flinux.git video: Make CONFIG_FIRMWARE_EDID generally available DRM drivers such as efidrm and vesadrm can export firmware EDID data to userspace. Make the related option CONFIG_FIRMWARE_EDID available without CONFIG_FB. Make it depend on X86, which is currently the only architecture providing EDID information. Signed-off-by: Thomas Zimmermann Reviewed-by: Helge Deller Link: https://lore.kernel.org/r/20250602075537.137759-2-tzimmermann@suse.de --- diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 5df981920a945..c3da6c0bfca6c 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -61,6 +61,23 @@ config HDMI endif # HAS_IOMEM +config FIRMWARE_EDID + bool "Enable firmware EDID" + depends on X86 + help + This enables access to the EDID transferred from the firmware. + On x86, this is from the VESA BIOS. DRM display drivers will + be able to export the information to userspace. + + Also enable this if DDC/I2C transfers do not work for your driver + and if you are using nvidiafb, i810fb or savagefb. + + In general, choosing Y for this option is safe. If you + experience extremely long delays while booting before you get + something on your display, try setting this to N. Matrox cards in + combination with certain motherboards and monitors are known to + suffer from this problem. + if VT source "drivers/video/console/Kconfig" endif @@ -70,5 +87,4 @@ if FB_CORE || SGI_NEWPORT_CONSOLE endif - endmenu diff --git a/drivers/video/fbdev/core/Kconfig b/drivers/video/fbdev/core/Kconfig index 4abe12db75945..b38c3b776bce6 100644 --- a/drivers/video/fbdev/core/Kconfig +++ b/drivers/video/fbdev/core/Kconfig @@ -10,21 +10,6 @@ config FB_CORE config FB_NOTIFY bool -config FIRMWARE_EDID - bool "Enable firmware EDID" - depends on FB - help - This enables access to the EDID transferred from the firmware. - On the i386, this is from the Video BIOS. Enable this if DDC/I2C - transfers do not work for your driver and if you are using - nvidiafb, i810fb or savagefb. - - In general, choosing Y for this option is safe. If you - experience extremely long delays while booting before you get - something on your display, try setting this to N. Matrox cards in - combination with certain motherboards and monitors are known to - suffer from this problem. - config FB_DEVICE bool "Provide legacy /dev/fb* device" depends on FB_CORE diff --git a/drivers/video/fbdev/core/fbmon.c b/drivers/video/fbdev/core/fbmon.c index 023caaea682e3..3b779c27c2711 100644 --- a/drivers/video/fbdev/core/fbmon.c +++ b/drivers/video/fbdev/core/fbmon.c @@ -1484,13 +1484,12 @@ int fb_validate_mode(const struct fb_var_screeninfo *var, struct fb_info *info) -EINVAL : 0; } -#if defined(CONFIG_FIRMWARE_EDID) && defined(CONFIG_X86) - /* * We need to ensure that the EDID block is only returned for * the primary graphics adapter. */ +#if defined(CONFIG_FIRMWARE_EDID) const unsigned char *fb_firmware_edid(struct device *device) { struct pci_dev *dev = NULL;