[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220218100841.GV3113@kunlun.suse.cz>
Date: Fri, 18 Feb 2022 11:08:41 +0100
From: Michal Suchánek <msuchanek@...e.de>
To: Thomas Zimmermann <tzimmermann@...e.de>
Cc: dri-devel@...ts.freedesktop.org, linux-fbdev@...r.kernel.org,
David Airlie <airlied@...ux.ie>,
Dave Hansen <dave.hansen@...ux.intel.com>,
"H. Peter Anvin" <hpa@...or.com>, Sam Ravnborg <sam@...nborg.org>,
Helge Deller <deller@....de>, x86@...nel.org,
Javier Martinez Canillas <javierm@...hat.com>,
Ingo Molnar <mingo@...hat.com>, Arnd Bergmann <arnd@...db.de>,
Borislav Petkov <bp@...en8.de>,
Maxime Ripard <maxime@...no.tech>,
Thomas Gleixner <tglx@...utronix.de>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
linux-kernel@...r.kernel.org, Martin Mares <mj@....cz>,
linux-video@...ey.karlin.mff.cuni.cz,
Daniel Mack <daniel@...que.org>
Subject: Re: [PATCH] simpldrm: Enable boot time VESA graphic mode selection.
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?
> 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.
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.
Thanks
Michal
>
> >
> > Fixes: 11e8f5fd223b ("drm: Add simpledrm driver")
> > Signed-off-by: Michal Suchanek <msuchanek@...e.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
Powered by blists - more mailing lists