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

Am 18.02.22 um 11:08 schrieb Michal Suchánek:
> Hello,
>
> On Fri, Feb 18, 2022 at 10:57:33AM +0100, Thomas Zimmermann wrote:
>> 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
>
> In EFI or legacy mode?

It was a 32-bit AthlonXP. So as legacy as it gets.

>
>> concrete example of a mode that doesn't work any longer?
>
> As per discussion in
> https://bugzilla.opensuse.org/show_bug.cgi?id=1193250 vga=791 does not.

I wonder if this fixes a few more of the complains we've seen about
missing resolutions.

>
> Also it is clear examinig the realmode code that this option is needed
> to enable graphic mode selection.
>
> I don't have a system with legacy BIOS at hand but from user testing
> this improves the situation - kernel does not reeject the videomode
> argument, and simpledrm is initialized during boot.

No doubt about that.

Best regards
Thomas

>
> Thanks
>
> Michal
>
>>
>>>
>>> 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.
>
> Sounds ok to select from there, it should also cover simplefb then.
>
> Thanks
>
> Michal

--
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 11:25    [W:0.384 / U:0.104 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site