Commit 7e35fc7a authored by Thomas Zimmermann's avatar Thomas Zimmermann
Browse files

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: default avatarThomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: default avatarHelge Deller <deller@gmx.de>
Link: https://lore.kernel.org/r/20250602075537.137759-2-tzimmermann@suse.de
parent 629c1a9c
Loading
Loading
Loading
Loading
+17 −1
Original line number Diff line number Diff line
@@ -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
+0 −15
Original line number Diff line number Diff line
@@ -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
+1 −2
Original line number Diff line number Diff line
@@ -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;