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
This commit is contained in:
Thomas Zimmermann 2025-06-02 09:51:43 +02:00
parent 629c1a9c2d
commit 7e35fc7ab4
3 changed files with 18 additions and 18 deletions

View File

@ -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

View File

@ -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

View File

@ -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;