lkml.org 
[lkml]   [2022]   [Feb]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] simpldrm: Enable boot time VESA graphic mode selection.
From
Hi Michal

Am 18.02.22 um 10:33 schrieb Michal Suchanek:
> Since switch to simpledrm VESA graphic modes are no longer available
> with legacy BIOS.
>
> The x86 realmode boot code enables the VESA graphic modes when option
> FB_BOOT_VESA_SUPPORT is enabled.
>
> To enable use of VESA modes with simpledrm in legacy BIOS boot mode drop
> dependency of BOOT_VESA_SUPPORT on FB, also drop the FB_ prefix, and
> select the option when simpledrm is built-in on x86.

Thanks for sending the patch.

I tested simpledrm on a VESA-based systems and it work. Do you have a
concrete example of a mode that doesn't work any longer?

>
> Fixes: 11e8f5fd223b ("drm: Add simpledrm driver")
> Signed-off-by: Michal Suchanek <msuchanek@suse.de>
> ---
> arch/x86/boot/video-vesa.c | 4 ++--
> drivers/gpu/drm/tiny/Kconfig | 1 +
> drivers/video/fbdev/Kconfig | 9 ++++-----
> 3 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/arch/x86/boot/video-vesa.c b/arch/x86/boot/video-vesa.c
> index 7e185977a984..c2c6d35e3a43 100644
> --- a/arch/x86/boot/video-vesa.c
> +++ b/arch/x86/boot/video-vesa.c
> @@ -83,7 +83,7 @@ static int vesa_probe(void)
> (vminfo.memory_layout == 4 ||
> vminfo.memory_layout == 6) &&
> vminfo.memory_planes == 1) {
> -#ifdef CONFIG_FB_BOOT_VESA_SUPPORT
> +#ifdef CONFIG_BOOT_VESA_SUPPORT
> /* Graphics mode, color, linear frame buffer
> supported. Only register the mode if
> if framebuffer is configured, however,
> @@ -121,7 +121,7 @@ static int vesa_set_mode(struct mode_info *mode)
> if ((vminfo.mode_attr & 0x15) == 0x05) {
> /* It's a supported text mode */
> is_graphic = 0;
> -#ifdef CONFIG_FB_BOOT_VESA_SUPPORT
> +#ifdef CONFIG_BOOT_VESA_SUPPORT
> } else if ((vminfo.mode_attr & 0x99) == 0x99) {
> /* It's a graphics mode with linear frame buffer */
> is_graphic = 1;
> diff --git a/drivers/gpu/drm/tiny/Kconfig b/drivers/gpu/drm/tiny/Kconfig
> index 712e0004e96e..1bc30c64ed15 100644
> --- a/drivers/gpu/drm/tiny/Kconfig
> +++ b/drivers/gpu/drm/tiny/Kconfig
> @@ -54,6 +54,7 @@ config DRM_GM12U320
> config DRM_SIMPLEDRM
> tristate "Simple framebuffer driver"
> depends on DRM && MMU
> + select BOOT_VESA_SUPPORT if X86 && DRM_SIMPLEDRM = y

We shouldn't select this option in drivers IMHO. Simple-framebuffer
devices with VESA are enabled with [1] and that should also select the
BOOT_VESA_SUPPORT.

Best regards
Thomas

[1]
https://elixir.bootlin.com/linux/v5.16.10/source/drivers/firmware/Kconfig#L224

> select DRM_GEM_SHMEM_HELPER
> select DRM_KMS_HELPER
> help
> diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
> index 6ed5e608dd04..4f3be9b7a520 100644
> --- a/drivers/video/fbdev/Kconfig
> +++ b/drivers/video/fbdev/Kconfig
> @@ -66,9 +66,8 @@ config FB_DDC
> select I2C_ALGOBIT
> select I2C
>
> -config FB_BOOT_VESA_SUPPORT
> +config 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.
> @@ -627,7 +626,7 @@ config FB_VESA
> select FB_CFB_FILLRECT
> select FB_CFB_COPYAREA
> select FB_CFB_IMAGEBLIT
> - select FB_BOOT_VESA_SUPPORT
> + select BOOT_VESA_SUPPORT
> help
> This is the frame buffer device driver for generic VESA 2.0
> compliant graphic cards. The older VESA 1.2 cards are not supported.
> @@ -1051,7 +1050,7 @@ config FB_INTEL
> select FB_CFB_FILLRECT
> select FB_CFB_COPYAREA
> 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
> help
> This driver supports the on-board graphics built in to the Intel
> @@ -1378,7 +1377,7 @@ config FB_SIS
> select FB_CFB_FILLRECT
> select FB_CFB_COPYAREA
> 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
> help
> This is the frame buffer device driver for the SiS 300, 315, 330

--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2022-02-18 10:58    [W:0.116 / U:0.656 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site