Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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 <tzimmermann@suse.de>
Reviewed-by: Helge Deller <deller@gmx.de>
Link: https://lore.kernel.org/r/20250602075537.137759-2-tzimmermann@suse.de

+18 -18
+17 -1
drivers/video/Kconfig
··· 61 61 62 62 endif # HAS_IOMEM 63 63 64 + config FIRMWARE_EDID 65 + bool "Enable firmware EDID" 66 + depends on X86 67 + help 68 + This enables access to the EDID transferred from the firmware. 69 + On x86, this is from the VESA BIOS. DRM display drivers will 70 + be able to export the information to userspace. 71 + 72 + Also enable this if DDC/I2C transfers do not work for your driver 73 + and if you are using nvidiafb, i810fb or savagefb. 74 + 75 + In general, choosing Y for this option is safe. If you 76 + experience extremely long delays while booting before you get 77 + something on your display, try setting this to N. Matrox cards in 78 + combination with certain motherboards and monitors are known to 79 + suffer from this problem. 80 + 64 81 if VT 65 82 source "drivers/video/console/Kconfig" 66 83 endif ··· 86 69 source "drivers/video/logo/Kconfig" 87 70 88 71 endif 89 - 90 72 91 73 endmenu
-15
drivers/video/fbdev/core/Kconfig
··· 10 10 config FB_NOTIFY 11 11 bool 12 12 13 - config FIRMWARE_EDID 14 - bool "Enable firmware EDID" 15 - depends on FB 16 - help 17 - This enables access to the EDID transferred from the firmware. 18 - On the i386, this is from the Video BIOS. Enable this if DDC/I2C 19 - transfers do not work for your driver and if you are using 20 - nvidiafb, i810fb or savagefb. 21 - 22 - In general, choosing Y for this option is safe. If you 23 - experience extremely long delays while booting before you get 24 - something on your display, try setting this to N. Matrox cards in 25 - combination with certain motherboards and monitors are known to 26 - suffer from this problem. 27 - 28 13 config FB_DEVICE 29 14 bool "Provide legacy /dev/fb* device" 30 15 depends on FB_CORE
+1 -2
drivers/video/fbdev/core/fbmon.c
··· 1484 1484 -EINVAL : 0; 1485 1485 } 1486 1486 1487 - #if defined(CONFIG_FIRMWARE_EDID) && defined(CONFIG_X86) 1488 - 1489 1487 /* 1490 1488 * We need to ensure that the EDID block is only returned for 1491 1489 * the primary graphics adapter. 1492 1490 */ 1493 1491 1492 + #if defined(CONFIG_FIRMWARE_EDID) 1494 1493 const unsigned char *fb_firmware_edid(struct device *device) 1495 1494 { 1496 1495 struct pci_dev *dev = NULL;