Commit 8b766b0f authored by Michal Suchanek's avatar Michal Suchanek Committed by Thomas Zimmermann

sysfb: Enable boot time VESA graphic mode selection

Since switch to simplefb/simpledrm VESA graphic mode selection with vga=
kernel parameter is no longer available with legacy BIOS.

The x86 realmode boot code enables the VESA graphic modes when option
FB_BOOT_VESA_SUPPORT is enabled.

This option is selected by vesafb but not simplefb/simpledrm.

To enable use of VESA modes with simplefb in legacy BIOS boot mode drop
dependency of BOOT_VESA_SUPPORT on FB, also drop the FB_ prefix. Select
the option from sysfb rather than the drivers that depend on it.

The BOOT_VESA_SUPPORT is not specific to framebuffer but rather to x86
platform, move it from fbdev to x86 Kconfig.

Fixes: e3263ab3 ("x86: provide platform-devices for boot-framebuffers")
Signed-off-by: default avatarMichal Suchanek <msuchanek@suse.de>
Reviewed-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
Acked-by: default avatarBorislav Petkov <bp@suse.de>
Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/948c39940a4e99f5b43bdbcbe537faae71a43e1d.1645822213.git.msuchanek@suse.de
parent a4a072d9
...@@ -942,6 +942,12 @@ config GART_IOMMU ...@@ -942,6 +942,12 @@ config GART_IOMMU
If unsure, say Y. If unsure, say Y.
config BOOT_VESA_SUPPORT
bool
help
If true, at least one selected framebuffer driver can take advantage
of VESA video modes set at an early boot stage via the vga= parameter.
config MAXSMP config MAXSMP
bool "Enable Maximum number of SMP Processors and NUMA Nodes" bool "Enable Maximum number of SMP Processors and NUMA Nodes"
depends on X86_64 && SMP && DEBUG_KERNEL depends on X86_64 && SMP && DEBUG_KERNEL
......
...@@ -83,7 +83,7 @@ static int vesa_probe(void) ...@@ -83,7 +83,7 @@ static int vesa_probe(void)
(vminfo.memory_layout == 4 || (vminfo.memory_layout == 4 ||
vminfo.memory_layout == 6) && vminfo.memory_layout == 6) &&
vminfo.memory_planes == 1) { vminfo.memory_planes == 1) {
#ifdef CONFIG_FB_BOOT_VESA_SUPPORT #ifdef CONFIG_BOOT_VESA_SUPPORT
/* Graphics mode, color, linear frame buffer /* Graphics mode, color, linear frame buffer
supported. Only register the mode if supported. Only register the mode if
if framebuffer is configured, however, if framebuffer is configured, however,
...@@ -121,7 +121,7 @@ static int vesa_set_mode(struct mode_info *mode) ...@@ -121,7 +121,7 @@ static int vesa_set_mode(struct mode_info *mode)
if ((vminfo.mode_attr & 0x15) == 0x05) { if ((vminfo.mode_attr & 0x15) == 0x05) {
/* It's a supported text mode */ /* It's a supported text mode */
is_graphic = 0; is_graphic = 0;
#ifdef CONFIG_FB_BOOT_VESA_SUPPORT #ifdef CONFIG_BOOT_VESA_SUPPORT
} else if ((vminfo.mode_attr & 0x99) == 0x99) { } else if ((vminfo.mode_attr & 0x99) == 0x99) {
/* It's a graphics mode with linear frame buffer */ /* It's a graphics mode with linear frame buffer */
is_graphic = 1; is_graphic = 1;
......
...@@ -218,6 +218,7 @@ config QCOM_SCM_DOWNLOAD_MODE_DEFAULT ...@@ -218,6 +218,7 @@ config QCOM_SCM_DOWNLOAD_MODE_DEFAULT
config SYSFB config SYSFB
bool bool
select BOOT_VESA_SUPPORT
config SYSFB_SIMPLEFB config SYSFB_SIMPLEFB
bool "Mark VGA/VBE/EFI FB as generic system framebuffer" bool "Mark VGA/VBE/EFI FB as generic system framebuffer"
......
...@@ -66,13 +66,6 @@ config FB_DDC ...@@ -66,13 +66,6 @@ config FB_DDC
select I2C_ALGOBIT select I2C_ALGOBIT
select I2C select I2C
config FB_BOOT_VESA_SUPPORT
bool
depends on FB
help
If true, at least one selected framebuffer driver can take advantage
of VESA video modes set at an early boot stage via the vga= parameter.
config FB_CFB_FILLRECT config FB_CFB_FILLRECT
tristate tristate
depends on FB depends on FB
...@@ -627,7 +620,6 @@ config FB_VESA ...@@ -627,7 +620,6 @@ config FB_VESA
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_BOOT_VESA_SUPPORT
select SYSFB select SYSFB
help help
This is the frame buffer device driver for generic VESA 2.0 This is the frame buffer device driver for generic VESA 2.0
...@@ -1053,7 +1045,7 @@ config FB_INTEL ...@@ -1053,7 +1045,7 @@ config FB_INTEL
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_BOOT_VESA_SUPPORT if FB_INTEL = y select BOOT_VESA_SUPPORT if FB_INTEL = y
depends on !DRM_I915 depends on !DRM_I915
help help
This driver supports the on-board graphics built in to the Intel This driver supports the on-board graphics built in to the Intel
...@@ -1380,7 +1372,7 @@ config FB_SIS ...@@ -1380,7 +1372,7 @@ config FB_SIS
select FB_CFB_FILLRECT select FB_CFB_FILLRECT
select FB_CFB_COPYAREA select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT select FB_CFB_IMAGEBLIT
select FB_BOOT_VESA_SUPPORT if FB_SIS = y select BOOT_VESA_SUPPORT if FB_SIS = y
select FB_SIS_300 if !FB_SIS_315 select FB_SIS_300 if !FB_SIS_315
help help
This is the frame buffer device driver for the SiS 300, 315, 330 This is the frame buffer device driver for the SiS 300, 315, 330
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment