* [PATCH] simpldrm: Enable boot time VESA graphic mode selection. @ 2022-02-18 9:33 Michal Suchanek 2022-02-18 9:57 ` Thomas Zimmermann 2022-03-02 19:31 ` [PATCH] simpldrm: Enable boot time VESA graphic mode selection Thomas Zimmermann 0 siblings, 2 replies; 31+ messages in thread From: Michal Suchanek @ 2022-02-18 9:33 UTC (permalink / raw) To: dri-devel, linux-fbdev Cc: Michal Suchanek, Martin Mares, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, David Airlie, Daniel Vetter, Helge Deller, Thomas Zimmermann, Sam Ravnborg, Daniel Mack, Javier Martinez Canillas, Greg Kroah-Hartman, Rob Herring, Arnd Bergmann, Andy Shevchenko, Maxime Ripard, linux-video, linux-kernel 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. 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 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 -- 2.31.1 ^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: [PATCH] simpldrm: Enable boot time VESA graphic mode selection. 2022-02-18 9:33 [PATCH] simpldrm: Enable boot time VESA graphic mode selection Michal Suchanek @ 2022-02-18 9:57 ` Thomas Zimmermann 2022-02-18 10:08 ` Michal Suchánek 2022-03-02 19:31 ` [PATCH] simpldrm: Enable boot time VESA graphic mode selection Thomas Zimmermann 1 sibling, 1 reply; 31+ messages in thread From: Thomas Zimmermann @ 2022-02-18 9:57 UTC (permalink / raw) To: Michal Suchanek, dri-devel, linux-fbdev Cc: David Airlie, Dave Hansen, H. Peter Anvin, Sam Ravnborg, Helge Deller, x86, Javier Martinez Canillas, Ingo Molnar, Arnd Bergmann, Borislav Petkov, Maxime Ripard, Thomas Gleixner, Andy Shevchenko, Greg Kroah-Hartman, linux-kernel, Martin Mares, linux-video, Daniel Mack [-- Attachment #1.1: Type: text/plain, Size: 4412 bytes --] 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 [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 840 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH] simpldrm: Enable boot time VESA graphic mode selection. 2022-02-18 9:57 ` Thomas Zimmermann @ 2022-02-18 10:08 ` Michal Suchánek 2022-02-18 10:24 ` Thomas Zimmermann 0 siblings, 1 reply; 31+ messages in thread From: Michal Suchánek @ 2022-02-18 10:08 UTC (permalink / raw) To: Thomas Zimmermann Cc: dri-devel, linux-fbdev, David Airlie, Dave Hansen, H. Peter Anvin, Sam Ravnborg, Helge Deller, x86, Javier Martinez Canillas, Ingo Molnar, Arnd Bergmann, Borislav Petkov, Maxime Ripard, Thomas Gleixner, Andy Shevchenko, Greg Kroah-Hartman, linux-kernel, Martin Mares, linux-video, Daniel Mack 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@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 ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH] simpldrm: Enable boot time VESA graphic mode selection. 2022-02-18 10:08 ` Michal Suchánek @ 2022-02-18 10:24 ` Thomas Zimmermann 2022-02-18 10:51 ` [PATCH v2] simplefb: " Michal Suchanek 0 siblings, 1 reply; 31+ messages in thread From: Thomas Zimmermann @ 2022-02-18 10:24 UTC (permalink / raw) To: Michal Suchánek Cc: dri-devel, linux-fbdev, David Airlie, Dave Hansen, H. Peter Anvin, Sam Ravnborg, Helge Deller, x86, Javier Martinez Canillas, Ingo Molnar, Arnd Bergmann, Borislav Petkov, Maxime Ripard, Thomas Gleixner, Andy Shevchenko, Greg Kroah-Hartman, linux-kernel, Martin Mares, linux-video, Daniel Mack [-- Attachment #1.1: Type: text/plain, Size: 3745 bytes --] 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 [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 840 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH v2] simplefb: Enable boot time VESA graphic mode selection. 2022-02-18 10:24 ` Thomas Zimmermann @ 2022-02-18 10:51 ` Michal Suchanek 2022-02-18 11:36 ` Thomas Zimmermann 0 siblings, 1 reply; 31+ messages in thread From: Michal Suchanek @ 2022-02-18 10:51 UTC (permalink / raw) To: dri-devel, linux-fbdev, Thomas Zimmermann Cc: Michal Suchanek, Martin Mares, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Helge Deller, Daniel Vetter, Bjorn Andersson, Greg Kroah-Hartman, Sudeep Holla, Javier Martinez Canillas, Krzysztof Kozlowski, Simon Trimmer, Arnd Bergmann, Cristian Marussi, Maarten Lankhorst, Rob Herring, Andy Shevchenko, David Herrmann, linux-video, linux-kernel Since switch to simplefb/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. Fixes: e3263ab389a7 ("x86: provide platform-devices for boot-framebuffers") Signed-off-by: Michal Suchanek <msuchanek@suse.de> --- v2: Select BOOT_VESA_SUPPORT from simplefb rather than simpledrm. The simpledrm driver uses the firmware provided video modes only indirectly through simplefb, and both can be enabled independently. --- arch/x86/boot/video-vesa.c | 4 ++-- drivers/firmware/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/firmware/Kconfig b/drivers/firmware/Kconfig index 75cb91055c17..8053c75b8645 100644 --- a/drivers/firmware/Kconfig +++ b/drivers/firmware/Kconfig @@ -224,6 +224,7 @@ config SYSFB config SYSFB_SIMPLEFB bool "Mark VGA/VBE/EFI FB as generic system framebuffer" depends on SYSFB + select BOOT_VESA_SUPPORT if X86 help Firmwares often provide initial graphics framebuffers so the BIOS, bootloader or kernel can show basic video-output during boot for 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 -- 2.31.1 ^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: [PATCH v2] simplefb: Enable boot time VESA graphic mode selection. 2022-02-18 10:51 ` [PATCH v2] simplefb: " Michal Suchanek @ 2022-02-18 11:36 ` Thomas Zimmermann 2022-02-18 12:05 ` Michal Suchánek 2022-02-18 16:04 ` [PATCH v3] " Michal Suchanek 0 siblings, 2 replies; 31+ messages in thread From: Thomas Zimmermann @ 2022-02-18 11:36 UTC (permalink / raw) To: Michal Suchanek, dri-devel, linux-fbdev Cc: Martin Mares, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Helge Deller, Daniel Vetter, Bjorn Andersson, Greg Kroah-Hartman, Sudeep Holla, Javier Martinez Canillas, Krzysztof Kozlowski, Simon Trimmer, Arnd Bergmann, Cristian Marussi, Maarten Lankhorst, Rob Herring, Andy Shevchenko, David Herrmann, linux-video, linux-kernel [-- Attachment #1.1: Type: text/plain, Size: 4377 bytes --] Hi Am 18.02.22 um 11:51 schrieb Michal Suchanek: > Since switch to simplefb/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. > > Fixes: e3263ab389a7 ("x86: provide platform-devices for boot-framebuffers") > Signed-off-by: Michal Suchanek <msuchanek@suse.de> > --- > v2: Select BOOT_VESA_SUPPORT from simplefb rather than simpledrm. The > simpledrm driver uses the firmware provided video modes only indirectly > through simplefb, and both can be enabled independently. > --- > arch/x86/boot/video-vesa.c | 4 ++-- > drivers/firmware/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/firmware/Kconfig b/drivers/firmware/Kconfig > index 75cb91055c17..8053c75b8645 100644 > --- a/drivers/firmware/Kconfig > +++ b/drivers/firmware/Kconfig > @@ -224,6 +224,7 @@ config SYSFB > config SYSFB_SIMPLEFB > bool "Mark VGA/VBE/EFI FB as generic system framebuffer" > depends on SYSFB > + select BOOT_VESA_SUPPORT if X86 > help > Firmwares often provide initial graphics framebuffers so the BIOS, > bootloader or kernel can show basic video-output during boot for > 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. This isn't an fb option any longer. Should we move this into arch/x86/Kconfig ? Best regards Thomas > @@ -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 [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 840 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v2] simplefb: Enable boot time VESA graphic mode selection. 2022-02-18 11:36 ` Thomas Zimmermann @ 2022-02-18 12:05 ` Michal Suchánek 2022-02-18 16:04 ` [PATCH v3] " Michal Suchanek 1 sibling, 0 replies; 31+ messages in thread From: Michal Suchánek @ 2022-02-18 12:05 UTC (permalink / raw) To: Thomas Zimmermann Cc: dri-devel, linux-fbdev, Martin Mares, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Helge Deller, Daniel Vetter, Bjorn Andersson, Greg Kroah-Hartman, Sudeep Holla, Javier Martinez Canillas, Krzysztof Kozlowski, Simon Trimmer, Arnd Bergmann, Cristian Marussi, Maarten Lankhorst, Rob Herring, Andy Shevchenko, David Herrmann, linux-video, linux-kernel On Fri, Feb 18, 2022 at 12:36:10PM +0100, Thomas Zimmermann wrote: > Hi > > Am 18.02.22 um 11:51 schrieb Michal Suchanek: > > Since switch to simplefb/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. > > > > Fixes: e3263ab389a7 ("x86: provide platform-devices for boot-framebuffers") > > Signed-off-by: Michal Suchanek <msuchanek@suse.de> > > --- > > v2: Select BOOT_VESA_SUPPORT from simplefb rather than simpledrm. The > > simpledrm driver uses the firmware provided video modes only indirectly > > through simplefb, and both can be enabled independently. > > --- > > arch/x86/boot/video-vesa.c | 4 ++-- > > drivers/firmware/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/firmware/Kconfig b/drivers/firmware/Kconfig > > index 75cb91055c17..8053c75b8645 100644 > > --- a/drivers/firmware/Kconfig > > +++ b/drivers/firmware/Kconfig > > @@ -224,6 +224,7 @@ config SYSFB > > config SYSFB_SIMPLEFB > > bool "Mark VGA/VBE/EFI FB as generic system framebuffer" > > depends on SYSFB > > + select BOOT_VESA_SUPPORT if X86 > > help > > Firmwares often provide initial graphics framebuffers so the BIOS, > > bootloader or kernel can show basic video-output during boot for > > 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. > > This isn't an fb option any longer. Should we move this into > arch/x86/Kconfig ? I tried moving it just a directory up but then found that it works even where it is. It's specific to x86 boot code so moving to x86 may make sense. Then the 'if X86' should not be needed, either. Thanks Michal > > Best regards > Thomas > > > @@ -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 ^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH v3] simplefb: Enable boot time VESA graphic mode selection. 2022-02-18 11:36 ` Thomas Zimmermann 2022-02-18 12:05 ` Michal Suchánek @ 2022-02-18 16:04 ` Michal Suchanek 2022-02-21 9:51 ` Thomas Zimmermann 2022-02-23 16:34 ` Javier Martinez Canillas 1 sibling, 2 replies; 31+ messages in thread From: Michal Suchanek @ 2022-02-18 16:04 UTC (permalink / raw) To: dri-devel, linux-fbdev, Thomas Zimmermann Cc: Michal Suchanek, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Martin Mares, Helge Deller, Bjorn Andersson, Daniel Vetter, Javier Martinez Canillas, Sudeep Holla, Greg Kroah-Hartman, Krzysztof Kozlowski, Cristian Marussi, Simon Trimmer, Geert Uytterhoeven, Arnd Bergmann, Andy Shevchenko, Rob Herring, Maarten Lankhorst, David Herrmann, linux-kernel, linux-video Since switch to simplefb/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 simplefb in legacy BIOS boot mode drop dependency of BOOT_VESA_SUPPORT on FB, also drop the FB_ prefix, and select the option when simplefb enabled on x86. The BOOT_VESA_SUPPORT is not specific to framebuffer but rather to x86 platform, move it from fbdev to x86 Kconfig. Fixes: e3263ab389a7 ("x86: provide platform-devices for boot-framebuffers") Signed-off-by: Michal Suchanek <msuchanek@suse.de> --- v2: Select BOOT_VESA_SUPPORT from simplefb rather than simpledrm. The simpledrm driver uses the firmware provided video modes only indirectly through simplefb, and both can be enabled independently. v3: Move BOOT_VESA_SUPPORT from fbdev to x86 --- arch/x86/Kconfig | 6 ++++++ arch/x86/boot/video-vesa.c | 4 ++-- drivers/firmware/Kconfig | 1 + drivers/video/fbdev/Kconfig | 13 +++---------- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 9f5bd41bf660..cceb1aab0486 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -942,6 +942,12 @@ config GART_IOMMU 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 bool "Enable Maximum number of SMP Processors and NUMA Nodes" depends on X86_64 && SMP && DEBUG_KERNEL 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/firmware/Kconfig b/drivers/firmware/Kconfig index 75cb91055c17..ad64f3a6f54f 100644 --- a/drivers/firmware/Kconfig +++ b/drivers/firmware/Kconfig @@ -224,6 +224,7 @@ config SYSFB config SYSFB_SIMPLEFB bool "Mark VGA/VBE/EFI FB as generic system framebuffer" depends on SYSFB + select BOOT_VESA_SUPPORT help Firmwares often provide initial graphics framebuffers so the BIOS, bootloader or kernel can show basic video-output during boot for diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig index 6ed5e608dd04..5bdd303b5268 100644 --- a/drivers/video/fbdev/Kconfig +++ b/drivers/video/fbdev/Kconfig @@ -66,13 +66,6 @@ config FB_DDC select I2C_ALGOBIT 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 tristate depends on FB @@ -627,7 +620,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 +1044,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 +1371,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 -- 2.31.1 ^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: [PATCH v3] simplefb: Enable boot time VESA graphic mode selection. 2022-02-18 16:04 ` [PATCH v3] " Michal Suchanek @ 2022-02-21 9:51 ` Thomas Zimmermann 2022-02-23 18:38 ` Borislav Petkov 2022-02-23 16:34 ` Javier Martinez Canillas 1 sibling, 1 reply; 31+ messages in thread From: Thomas Zimmermann @ 2022-02-21 9:51 UTC (permalink / raw) To: Michal Suchanek, dri-devel, linux-fbdev Cc: David Herrmann, Geert Uytterhoeven, Daniel Vetter, Dave Hansen, Bjorn Andersson, H. Peter Anvin, Krzysztof Kozlowski, Helge Deller, x86, Javier Martinez Canillas, Ingo Molnar, Arnd Bergmann, Simon Trimmer, Borislav Petkov, Thomas Gleixner, Andy Shevchenko, Cristian Marussi, Greg Kroah-Hartman, linux-kernel, Martin Mares, Sudeep Holla, linux-video [-- Attachment #1.1: Type: text/plain, Size: 5250 bytes --] Hi Am 18.02.22 um 17:04 schrieb Michal Suchanek: > Since switch to simplefb/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 simplefb in legacy BIOS boot mode drop > dependency of BOOT_VESA_SUPPORT on FB, also drop the FB_ prefix, and > select the option when simplefb enabled on x86. > > The BOOT_VESA_SUPPORT is not specific to framebuffer but rather to x86 > platform, move it from fbdev to x86 Kconfig. > > Fixes: e3263ab389a7 ("x86: provide platform-devices for boot-framebuffers") > Signed-off-by: Michal Suchanek <msuchanek@suse.de> Acked-by: Thomas Zimmermann <tzimmermann@suse.de> Thanks for the patch. I'll wait a bit for additional reviews before merging it. Best regards Thomas > --- > v2: Select BOOT_VESA_SUPPORT from simplefb rather than simpledrm. The > simpledrm driver uses the firmware provided video modes only indirectly > through simplefb, and both can be enabled independently. > v3: Move BOOT_VESA_SUPPORT from fbdev to x86 > --- > arch/x86/Kconfig | 6 ++++++ > arch/x86/boot/video-vesa.c | 4 ++-- > drivers/firmware/Kconfig | 1 + > drivers/video/fbdev/Kconfig | 13 +++---------- > 4 files changed, 12 insertions(+), 12 deletions(-) > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > index 9f5bd41bf660..cceb1aab0486 100644 > --- a/arch/x86/Kconfig > +++ b/arch/x86/Kconfig > @@ -942,6 +942,12 @@ config GART_IOMMU > > 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 > bool "Enable Maximum number of SMP Processors and NUMA Nodes" > depends on X86_64 && SMP && DEBUG_KERNEL > 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/firmware/Kconfig b/drivers/firmware/Kconfig > index 75cb91055c17..ad64f3a6f54f 100644 > --- a/drivers/firmware/Kconfig > +++ b/drivers/firmware/Kconfig > @@ -224,6 +224,7 @@ config SYSFB > config SYSFB_SIMPLEFB > bool "Mark VGA/VBE/EFI FB as generic system framebuffer" > depends on SYSFB > + select BOOT_VESA_SUPPORT > help > Firmwares often provide initial graphics framebuffers so the BIOS, > bootloader or kernel can show basic video-output during boot for > diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig > index 6ed5e608dd04..5bdd303b5268 100644 > --- a/drivers/video/fbdev/Kconfig > +++ b/drivers/video/fbdev/Kconfig > @@ -66,13 +66,6 @@ config FB_DDC > select I2C_ALGOBIT > 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 > tristate > depends on FB > @@ -627,7 +620,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 +1044,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 +1371,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 [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 840 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v3] simplefb: Enable boot time VESA graphic mode selection. 2022-02-21 9:51 ` Thomas Zimmermann @ 2022-02-23 18:38 ` Borislav Petkov 0 siblings, 0 replies; 31+ messages in thread From: Borislav Petkov @ 2022-02-23 18:38 UTC (permalink / raw) To: Thomas Zimmermann Cc: Michal Suchanek, dri-devel, linux-fbdev, David Herrmann, Geert Uytterhoeven, Daniel Vetter, Dave Hansen, Bjorn Andersson, H. Peter Anvin, Krzysztof Kozlowski, Helge Deller, x86, Javier Martinez Canillas, Ingo Molnar, Arnd Bergmann, Simon Trimmer, Thomas Gleixner, Andy Shevchenko, Cristian Marussi, Greg Kroah-Hartman, linux-kernel, Martin Mares, Sudeep Holla, linux-video On Mon, Feb 21, 2022 at 10:51:35AM +0100, Thomas Zimmermann wrote: > Thanks for the patch. I'll wait a bit for additional reviews before merging > it. for the x86 bits: Acked-by: Borislav Petkov <bp@suse.de> -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v3] simplefb: Enable boot time VESA graphic mode selection. 2022-02-18 16:04 ` [PATCH v3] " Michal Suchanek 2022-02-21 9:51 ` Thomas Zimmermann @ 2022-02-23 16:34 ` Javier Martinez Canillas 2022-02-23 16:45 ` Michal Suchánek 1 sibling, 1 reply; 31+ messages in thread From: Javier Martinez Canillas @ 2022-02-23 16:34 UTC (permalink / raw) To: Michal Suchanek, dri-devel, linux-fbdev, Thomas Zimmermann Cc: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Martin Mares, Helge Deller, Bjorn Andersson, Daniel Vetter, Sudeep Holla, Greg Kroah-Hartman, Krzysztof Kozlowski, Cristian Marussi, Simon Trimmer, Geert Uytterhoeven, Arnd Bergmann, Andy Shevchenko, Rob Herring, Maarten Lankhorst, David Herrmann, linux-kernel, linux-video Hello Michal, On 2/18/22 17:04, Michal Suchanek wrote: > Since switch to simplefb/simpledrm VESA graphic modes are no longer > available with legacy BIOS. > Maybe you can mention that is the "vga=" kernel command line parameter since that may be more evident to people reading the commit message ? > 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 simplefb in legacy BIOS boot mode drop I think you meant "VESA modes with the sysfb driver" ? or something like that since otherwise it seems that you meant to use it with the simplefb (drivers/video/fbdev/simplefb.c) fbdev driver, which doesn't support the "vga=" param as far as I understand (it just uses whatever was setup). The name sysfb_simplefb is really horrible, because it is too confusing and probably we should change it at some point... Patch itself looks good to me though. Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> Best regards, -- Javier Martinez Canillas Linux Engineering Red Hat ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v3] simplefb: Enable boot time VESA graphic mode selection. 2022-02-23 16:34 ` Javier Martinez Canillas @ 2022-02-23 16:45 ` Michal Suchánek 2022-02-23 16:54 ` Javier Martinez Canillas 0 siblings, 1 reply; 31+ messages in thread From: Michal Suchánek @ 2022-02-23 16:45 UTC (permalink / raw) To: Javier Martinez Canillas Cc: dri-devel, linux-fbdev, Thomas Zimmermann, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Martin Mares, Helge Deller, Bjorn Andersson, Daniel Vetter, Sudeep Holla, Greg Kroah-Hartman, Krzysztof Kozlowski, Cristian Marussi, Simon Trimmer, Geert Uytterhoeven, Arnd Bergmann, Andy Shevchenko, Rob Herring, Maarten Lankhorst, David Herrmann, linux-kernel, linux-video On Wed, Feb 23, 2022 at 05:34:50PM +0100, Javier Martinez Canillas wrote: > Hello Michal, > > On 2/18/22 17:04, Michal Suchanek wrote: > > Since switch to simplefb/simpledrm VESA graphic modes are no longer > > available with legacy BIOS. > > Maybe you can mention that is the "vga=" kernel command line parameter > since that may be more evident to people reading the commit message ? Yes, I suppose that could be added. > > 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 simplefb in legacy BIOS boot mode drop > > I think you meant "VESA modes with the sysfb driver" ? or something like > that since otherwise it seems that you meant to use it with the simplefb > (drivers/video/fbdev/simplefb.c) fbdev driver, which doesn't support the > "vga=" param as far as I understand (it just uses whatever was setup). And the vga= is whatever was set up by the realmode code. And the config option for realmode code to do that is selected by vesafb and not simplefb so it does not wotk for simplefb/simpledrm/whatewer when efifib is not built into the kernel. > The name sysfb_simplefb is really horrible, because it is too confusing > and probably we should change it at some point... > > Patch itself looks good to me though. > > Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> Thanks Michal ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v3] simplefb: Enable boot time VESA graphic mode selection. 2022-02-23 16:45 ` Michal Suchánek @ 2022-02-23 16:54 ` Javier Martinez Canillas 2022-02-23 17:07 ` Javier Martinez Canillas 2022-02-23 17:12 ` Michal Suchánek 0 siblings, 2 replies; 31+ messages in thread From: Javier Martinez Canillas @ 2022-02-23 16:54 UTC (permalink / raw) To: Michal Suchánek Cc: dri-devel, linux-fbdev, Thomas Zimmermann, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Martin Mares, Helge Deller, Bjorn Andersson, Daniel Vetter, Sudeep Holla, Greg Kroah-Hartman, Krzysztof Kozlowski, Cristian Marussi, Simon Trimmer, Geert Uytterhoeven, Arnd Bergmann, Andy Shevchenko, Rob Herring, Maarten Lankhorst, David Herrmann, linux-kernel, linux-video On 2/23/22 17:45, Michal Suchánek wrote: [snip] >>> >>> To enable use of VESA modes with simplefb in legacy BIOS boot mode drop >> >> I think you meant "VESA modes with the sysfb driver" ? or something like >> that since otherwise it seems that you meant to use it with the simplefb >> (drivers/video/fbdev/simplefb.c) fbdev driver, which doesn't support the >> "vga=" param as far as I understand (it just uses whatever was setup). > > And the vga= is whatever was set up by the realmode code. And the config > option for realmode code to do that is selected by vesafb and not > simplefb so it does not wotk for simplefb/simpledrm/whatewer when efifib > is not built into the kernel. > Yes, that's what I tried to say. But your commit message says "To enable use of VESA modes with simplefb in legacy BIOS boot mode" and that isn't accurate AFAIU (unless you meant sysfb instead). Best regards, -- Javier Martinez Canillas Linux Engineering Red Hat ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v3] simplefb: Enable boot time VESA graphic mode selection. 2022-02-23 16:54 ` Javier Martinez Canillas @ 2022-02-23 17:07 ` Javier Martinez Canillas 2022-02-23 17:12 ` Michal Suchánek 1 sibling, 0 replies; 31+ messages in thread From: Javier Martinez Canillas @ 2022-02-23 17:07 UTC (permalink / raw) To: Michal Suchánek Cc: dri-devel, linux-fbdev, Thomas Zimmermann, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Martin Mares, Helge Deller, Bjorn Andersson, Daniel Vetter, Sudeep Holla, Greg Kroah-Hartman, Krzysztof Kozlowski, Cristian Marussi, Simon Trimmer, Geert Uytterhoeven, Arnd Bergmann, Andy Shevchenko, Rob Herring, Maarten Lankhorst, David Herrmann, linux-kernel, linux-video On 2/23/22 17:54, Javier Martinez Canillas wrote: > On 2/23/22 17:45, Michal Suchánek wrote: > > [snip] > >>>> >>>> To enable use of VESA modes with simplefb in legacy BIOS boot mode drop >>> >>> I think you meant "VESA modes with the sysfb driver" ? or something like >>> that since otherwise it seems that you meant to use it with the simplefb >>> (drivers/video/fbdev/simplefb.c) fbdev driver, which doesn't support the >>> "vga=" param as far as I understand (it just uses whatever was setup). >> >> And the vga= is whatever was set up by the realmode code. And the config >> option for realmode code to do that is selected by vesafb and not >> simplefb so it does not wotk for simplefb/simpledrm/whatewer when efifib >> is not built into the kernel. >> > > Yes, that's what I tried to say. But your commit message says "To enable > use of VESA modes with simplefb in legacy BIOS boot mode" and that isn't > accurate AFAIU (unless you meant sysfb instead). In fact, probably the subject line should also be something like following: firmware: sysfb: Enable boot time VESA graphic mode selection Best regards, -- Javier Martinez Canillas Linux Engineering Red Hat ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v3] simplefb: Enable boot time VESA graphic mode selection. 2022-02-23 16:54 ` Javier Martinez Canillas 2022-02-23 17:07 ` Javier Martinez Canillas @ 2022-02-23 17:12 ` Michal Suchánek 2022-02-23 18:13 ` Javier Martinez Canillas 1 sibling, 1 reply; 31+ messages in thread From: Michal Suchánek @ 2022-02-23 17:12 UTC (permalink / raw) To: Javier Martinez Canillas Cc: dri-devel, linux-fbdev, Thomas Zimmermann, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Martin Mares, Helge Deller, Bjorn Andersson, Daniel Vetter, Sudeep Holla, Greg Kroah-Hartman, Krzysztof Kozlowski, Cristian Marussi, Simon Trimmer, Geert Uytterhoeven, Arnd Bergmann, Andy Shevchenko, Rob Herring, Maarten Lankhorst, David Herrmann, linux-kernel, linux-video On Wed, Feb 23, 2022 at 05:54:54PM +0100, Javier Martinez Canillas wrote: > On 2/23/22 17:45, Michal Suchánek wrote: > > [snip] > > >>> > >>> To enable use of VESA modes with simplefb in legacy BIOS boot mode drop > >> > >> I think you meant "VESA modes with the sysfb driver" ? or something like > >> that since otherwise it seems that you meant to use it with the simplefb > >> (drivers/video/fbdev/simplefb.c) fbdev driver, which doesn't support the > >> "vga=" param as far as I understand (it just uses whatever was setup). > > > > And the vga= is whatever was set up by the realmode code. And the config > > option for realmode code to do that is selected by vesafb and not > > simplefb so it does not wotk for simplefb/simpledrm/whatewer when efifib > > is not built into the kernel. > > > > Yes, that's what I tried to say. But your commit message says "To enable > use of VESA modes with simplefb in legacy BIOS boot mode" and that isn't > accurate AFAIU (unless you meant sysfb instead). config SYSFB_SIMPLEFB bool "Mark VGA/VBE/EFI FB as generic system framebuffer" depends on SYSFB + select BOOT_VESA_SUPPORT if X86 This to me means that it's simplefb specifically that requires it, not sysfb. More precisely SYSFB_SIMPLEFB which is the simplefb implementation on top of legacy BIOS. Thanks Michal ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v3] simplefb: Enable boot time VESA graphic mode selection. 2022-02-23 17:12 ` Michal Suchánek @ 2022-02-23 18:13 ` Javier Martinez Canillas 2022-02-23 18:23 ` Michal Suchánek 0 siblings, 1 reply; 31+ messages in thread From: Javier Martinez Canillas @ 2022-02-23 18:13 UTC (permalink / raw) To: Michal Suchánek Cc: dri-devel, linux-fbdev, Thomas Zimmermann, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Martin Mares, Helge Deller, Bjorn Andersson, Daniel Vetter, Sudeep Holla, Greg Kroah-Hartman, Krzysztof Kozlowski, Cristian Marussi, Simon Trimmer, Geert Uytterhoeven, Arnd Bergmann, Andy Shevchenko, Rob Herring, Maarten Lankhorst, David Herrmann, linux-kernel, linux-video On 2/23/22 18:12, Michal Suchánek wrote: > On Wed, Feb 23, 2022 at 05:54:54PM +0100, Javier Martinez Canillas wrote: [snip] >> >> Yes, that's what I tried to say. But your commit message says "To enable >> use of VESA modes with simplefb in legacy BIOS boot mode" and that isn't >> accurate AFAIU (unless you meant sysfb instead). > > config SYSFB_SIMPLEFB > bool "Mark VGA/VBE/EFI FB as generic system framebuffer" > depends on SYSFB > + select BOOT_VESA_SUPPORT if X86 > > This to me means that it's simplefb specifically that requires it, not sysfb. > More precisely SYSFB_SIMPLEFB which is the simplefb implementation on top of > legacy BIOS. > Ok, I see what you meant. The fact that simplefb is what's named to the part of the sysfb driver that register the "simple-framebuffer" platform device and also the name of the fbdev driver that matches the "simple-framebuffer" is too confusing. My point about the subject line remains thought, I would use something like: firmware: sysfb: Enable boot time VESA graphic mode selection for simplefb But I'll stop bike-shedding this. I don't mind if you keep the current line and feel free to keep my r-b tag. Best regards, -- Javier Martinez Canillas Linux Engineering Red Hat ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v3] simplefb: Enable boot time VESA graphic mode selection. 2022-02-23 18:13 ` Javier Martinez Canillas @ 2022-02-23 18:23 ` Michal Suchánek 2022-02-23 18:34 ` Javier Martinez Canillas 0 siblings, 1 reply; 31+ messages in thread From: Michal Suchánek @ 2022-02-23 18:23 UTC (permalink / raw) To: Javier Martinez Canillas Cc: dri-devel, linux-fbdev, Thomas Zimmermann, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Martin Mares, Helge Deller, Bjorn Andersson, Daniel Vetter, Sudeep Holla, Greg Kroah-Hartman, Krzysztof Kozlowski, Cristian Marussi, Simon Trimmer, Geert Uytterhoeven, Arnd Bergmann, Andy Shevchenko, Rob Herring, Maarten Lankhorst, David Herrmann, linux-kernel, linux-video On Wed, Feb 23, 2022 at 07:13:07PM +0100, Javier Martinez Canillas wrote: > On 2/23/22 18:12, Michal Suchánek wrote: > > On Wed, Feb 23, 2022 at 05:54:54PM +0100, Javier Martinez Canillas wrote: > > [snip] > > >> > >> Yes, that's what I tried to say. But your commit message says "To enable > >> use of VESA modes with simplefb in legacy BIOS boot mode" and that isn't > >> accurate AFAIU (unless you meant sysfb instead). > > > > config SYSFB_SIMPLEFB > > bool "Mark VGA/VBE/EFI FB as generic system framebuffer" > > depends on SYSFB > > + select BOOT_VESA_SUPPORT if X86 > > > > This to me means that it's simplefb specifically that requires it, not sysfb. > > More precisely SYSFB_SIMPLEFB which is the simplefb implementation on top of > > legacy BIOS. > > > > Ok, I see what you meant. The fact that simplefb is what's named to the part > of the sysfb driver that register the "simple-framebuffer" platform device > and also the name of the fbdev driver that matches the "simple-framebuffer" > is too confusing. > > My point about the subject line remains thought, I would use something like: > > firmware: sysfb: Enable boot time VESA graphic mode selection for simplefb I see where the confusion comes from. The efifb (and probably vesafb) has implicit unstated dependency on sysfb. So the drivers that select BOOT_VESA_SUPPORT should instead depend on SYSFB, and then SYSFB can select BOOT_VESA_SUPPORT, and it will look much saner. Thanks Michal ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v3] simplefb: Enable boot time VESA graphic mode selection. 2022-02-23 18:23 ` Michal Suchánek @ 2022-02-23 18:34 ` Javier Martinez Canillas 2022-02-23 19:55 ` Michal Suchánek ` (3 more replies) 0 siblings, 4 replies; 31+ messages in thread From: Javier Martinez Canillas @ 2022-02-23 18:34 UTC (permalink / raw) To: Michal Suchánek Cc: dri-devel, linux-fbdev, Thomas Zimmermann, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Martin Mares, Helge Deller, Bjorn Andersson, Daniel Vetter, Sudeep Holla, Greg Kroah-Hartman, Krzysztof Kozlowski, Cristian Marussi, Simon Trimmer, Geert Uytterhoeven, Arnd Bergmann, Andy Shevchenko, Rob Herring, Maarten Lankhorst, David Herrmann, linux-kernel, linux-video On 2/23/22 19:23, Michal Suchánek wrote: [snip] >> My point about the subject line remains thought, I would use something like: >> >> firmware: sysfb: Enable boot time VESA graphic mode selection for simplefb > > I see where the confusion comes from. > Yeah. And just to clarify, the "simplefb" in the subject line I proposed was about the sysfb simplefb and not the fbdev simplefb :) > The efifb (and probably vesafb) has implicit unstated dependency on > sysfb. So the drivers that select BOOT_VESA_SUPPORT should instead > depend on SYSFB, and then SYSFB can select BOOT_VESA_SUPPORT, and it > will look much saner. > That indeed would be much nicer. And I agree with you that there's an implicit dependency that should be made explicit since SYSFB is what registers the "efi-framebuffer" or "vesa-framebuffer" if SYSFB_SIMPLEFB is not enabled. Should SYSFB should only select BOOT_VESA_SUPPORT if x86 ? I know that in practice shouldn't matter because BOOT_VESA_SUPPORT is under x86 but I guess is more correct if that's the case. And I think that FB_SIMPLE should depend on SYSFB_SIMPLEFB if !OF (since a "simple-framebuffer" platform device could be registered by OF if a Device Tree node with compatible "simple-framebuffer" exists). Best regards, -- Javier Martinez Canillas Linux Engineering Red Hat ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH v3] simplefb: Enable boot time VESA graphic mode selection. 2022-02-23 18:34 ` Javier Martinez Canillas @ 2022-02-23 19:55 ` Michal Suchánek 2022-02-25 20:51 ` [PATCH v4 1/3] sysfb: Make config option dependencies explicit Michal Suchanek ` (2 subsequent siblings) 3 siblings, 0 replies; 31+ messages in thread From: Michal Suchánek @ 2022-02-23 19:55 UTC (permalink / raw) To: Javier Martinez Canillas Cc: dri-devel, linux-fbdev, Thomas Zimmermann, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Martin Mares, Helge Deller, Bjorn Andersson, Daniel Vetter, Sudeep Holla, Greg Kroah-Hartman, Krzysztof Kozlowski, Cristian Marussi, Simon Trimmer, Geert Uytterhoeven, Arnd Bergmann, Andy Shevchenko, Rob Herring, Maarten Lankhorst, David Herrmann, linux-kernel, linux-video On Wed, Feb 23, 2022 at 07:34:54PM +0100, Javier Martinez Canillas wrote: > On 2/23/22 19:23, Michal Suchánek wrote: > > [snip] > > >> My point about the subject line remains thought, I would use something like: > >> > >> firmware: sysfb: Enable boot time VESA graphic mode selection for simplefb > > > > I see where the confusion comes from. > > > > Yeah. And just to clarify, the "simplefb" in the subject line I proposed > was about the sysfb simplefb and not the fbdev simplefb :) > > > The efifb (and probably vesafb) has implicit unstated dependency on > > sysfb. So the drivers that select BOOT_VESA_SUPPORT should instead > > depend on SYSFB, and then SYSFB can select BOOT_VESA_SUPPORT, and it > > will look much saner. > > > > That indeed would be much nicer. And I agree with you that there's an > implicit dependency that should be made explicit since SYSFB is what > registers the "efi-framebuffer" or "vesa-framebuffer" if SYSFB_SIMPLEFB > is not enabled. > > Should SYSFB should only select BOOT_VESA_SUPPORT if x86 ? I know that > in practice shouldn't matter because BOOT_VESA_SUPPORT is under x86 but > I guess is more correct if that's the case. Part of the reason to move it to x86 is to avoid the conditional. Technically there is nothing stopping other platforms from running the VESA BIOS, it's just not very practical. > And I think that FB_SIMPLE should depend on SYSFB_SIMPLEFB if !OF (since > a "simple-framebuffer" platform device could be registered by OF if a > Device Tree node with compatible "simple-framebuffer" exists). So generally SYSFB_SIMPLEFB || OF. The part that you can enable the driver and it does not do anything because you are missing SYSFB_SIMPLEFB is indeed confusing. There is a comment in SIMLEDRM description but not FB_SIMPLE. Then there is the part that if neither simplefb nor vesafb nor efifb nor offb is built then the sysfb code is unused. Thanks Michal ^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH v4 1/3] sysfb: Make config option dependencies explicit 2022-02-23 18:34 ` Javier Martinez Canillas 2022-02-23 19:55 ` Michal Suchánek @ 2022-02-25 20:51 ` Michal Suchanek 2022-02-25 22:09 ` Javier Martinez Canillas 2022-02-25 20:51 ` [PATCH v4 2/3] sysfb: Enable boot time VESA graphic mode selection Michal Suchanek 2022-02-25 20:51 ` [PATCH v4 3/3] efifb: Remove redundant efifb_setup_from_dmi stub Michal Suchanek 3 siblings, 1 reply; 31+ messages in thread From: Michal Suchanek @ 2022-02-25 20:51 UTC (permalink / raw) To: dri-devel, linux-fbdev, Thomas Zimmermann, Javier Martinez Canillas Cc: Michal Suchanek, Borislav Petkov, Thomas Gleixner, Ingo Molnar, Dave Hansen, x86, H. Peter Anvin, Martin Mares, Helge Deller, Ard Biesheuvel, Bjorn Andersson, Sudeep Holla, Greg Kroah-Hartman, Krzysztof Kozlowski, Arnd Bergmann, Geert Uytterhoeven, Cristian Marussi, Andy Shevchenko, David Herrmann, linux-kernel, linux-video, linux-efi efifb and vesafb requires sysfb implicitly but this is not stated in Kconfig. Add the dependency. With that all drivers that require sysfb depend on it so it can default to disabled. Signed-off-by: Michal Suchanek <msuchanek@suse.de> --- v4: new patch --- drivers/firmware/Kconfig | 5 ++--- drivers/video/fbdev/Kconfig | 2 ++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig index 75cb91055c17..5265eca74ba1 100644 --- a/drivers/firmware/Kconfig +++ b/drivers/firmware/Kconfig @@ -218,12 +218,11 @@ config QCOM_SCM_DOWNLOAD_MODE_DEFAULT config SYSFB bool - default y - depends on X86 || EFI config SYSFB_SIMPLEFB bool "Mark VGA/VBE/EFI FB as generic system framebuffer" - depends on SYSFB + depends on X86 || EFI + select SYSFB help Firmwares often provide initial graphics framebuffers so the BIOS, bootloader or kernel can show basic video-output during boot for diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig index 3cfce8dce8d9..907c305caf27 100644 --- a/drivers/video/fbdev/Kconfig +++ b/drivers/video/fbdev/Kconfig @@ -628,6 +628,7 @@ config FB_VESA select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT select FB_BOOT_VESA_SUPPORT + select SYSFB 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. @@ -641,6 +642,7 @@ config FB_EFI select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT + select SYSFB help This is the EFI frame buffer device driver. If the firmware on your platform is EFI 1.10 or UEFI 2.0, select Y to add support for -- 2.34.1 ^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: [PATCH v4 1/3] sysfb: Make config option dependencies explicit 2022-02-25 20:51 ` [PATCH v4 1/3] sysfb: Make config option dependencies explicit Michal Suchanek @ 2022-02-25 22:09 ` Javier Martinez Canillas 0 siblings, 0 replies; 31+ messages in thread From: Javier Martinez Canillas @ 2022-02-25 22:09 UTC (permalink / raw) To: Michal Suchanek, dri-devel, linux-fbdev, Thomas Zimmermann Cc: Borislav Petkov, Thomas Gleixner, Ingo Molnar, Dave Hansen, x86, H. Peter Anvin, Martin Mares, Helge Deller, Ard Biesheuvel, Bjorn Andersson, Sudeep Holla, Greg Kroah-Hartman, Krzysztof Kozlowski, Arnd Bergmann, Geert Uytterhoeven, Cristian Marussi, Andy Shevchenko, David Herrmann, linux-kernel, linux-video, linux-efi Hello Michal, On 2/25/22 21:51, Michal Suchanek wrote: > efifb and vesafb requires sysfb implicitly but this is not stated in > Kconfig. Add the dependency. > > With that all drivers that require sysfb depend on it so it can default > to disabled. > > Signed-off-by: Michal Suchanek <msuchanek@suse.de> > --- Thanks for the patch. This makes much more sense to me. Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> -- Best regards, Javier Martinez Canillas Linux Engineering Red Hat ^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH v4 2/3] sysfb: Enable boot time VESA graphic mode selection 2022-02-23 18:34 ` Javier Martinez Canillas 2022-02-23 19:55 ` Michal Suchánek 2022-02-25 20:51 ` [PATCH v4 1/3] sysfb: Make config option dependencies explicit Michal Suchanek @ 2022-02-25 20:51 ` Michal Suchanek 2022-02-25 22:10 ` Javier Martinez Canillas 2022-02-25 20:51 ` [PATCH v4 3/3] efifb: Remove redundant efifb_setup_from_dmi stub Michal Suchanek 3 siblings, 1 reply; 31+ messages in thread From: Michal Suchanek @ 2022-02-25 20:51 UTC (permalink / raw) To: dri-devel, linux-fbdev, Thomas Zimmermann, Javier Martinez Canillas Cc: Michal Suchanek, Borislav Petkov, Thomas Gleixner, Ingo Molnar, Dave Hansen, x86, H. Peter Anvin, Martin Mares, Helge Deller, Ard Biesheuvel, Bjorn Andersson, Sudeep Holla, Greg Kroah-Hartman, Krzysztof Kozlowski, Arnd Bergmann, Geert Uytterhoeven, Cristian Marussi, Andy Shevchenko, David Herrmann, linux-kernel, linux-video, linux-efi, Borislav Petkov 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: e3263ab389a7 ("x86: provide platform-devices for boot-framebuffers") Signed-off-by: Michal Suchanek <msuchanek@suse.de> Acked-by: Borislav Petkov <bp@suse.de> --- v2: Select BOOT_VESA_SUPPORT from simplefb rather than simpledrm. The simpledrm driver uses the firmware provided video modes only indirectly through simplefb, and both can be enabled independently. v3: Move BOOT_VESA_SUPPORT from fbdev to x86 v4: Select BOOT_VESA_SUPPORT from sysfb rather than individial sysfb based drivers. --- arch/x86/Kconfig | 6 ++++++ arch/x86/boot/video-vesa.c | 4 ++-- drivers/firmware/Kconfig | 1 + drivers/video/fbdev/Kconfig | 12 ++---------- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 9f5bd41bf660..cceb1aab0486 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -942,6 +942,12 @@ config GART_IOMMU 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 bool "Enable Maximum number of SMP Processors and NUMA Nodes" depends on X86_64 && SMP && DEBUG_KERNEL 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/firmware/Kconfig b/drivers/firmware/Kconfig index 5265eca74ba1..be42ae6f079e 100644 --- a/drivers/firmware/Kconfig +++ b/drivers/firmware/Kconfig @@ -218,6 +218,7 @@ config QCOM_SCM_DOWNLOAD_MODE_DEFAULT config SYSFB bool + select BOOT_VESA_SUPPORT config SYSFB_SIMPLEFB bool "Mark VGA/VBE/EFI FB as generic system framebuffer" diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig index 907c305caf27..0e25434a71e1 100644 --- a/drivers/video/fbdev/Kconfig +++ b/drivers/video/fbdev/Kconfig @@ -66,13 +66,6 @@ config FB_DDC select I2C_ALGOBIT 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 tristate depends on FB @@ -627,7 +620,6 @@ config FB_VESA select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT - select FB_BOOT_VESA_SUPPORT select SYSFB help This is the frame buffer device driver for generic VESA 2.0 @@ -1053,7 +1045,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 @@ -1380,7 +1372,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 -- 2.34.1 ^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: [PATCH v4 2/3] sysfb: Enable boot time VESA graphic mode selection 2022-02-25 20:51 ` [PATCH v4 2/3] sysfb: Enable boot time VESA graphic mode selection Michal Suchanek @ 2022-02-25 22:10 ` Javier Martinez Canillas 0 siblings, 0 replies; 31+ messages in thread From: Javier Martinez Canillas @ 2022-02-25 22:10 UTC (permalink / raw) To: Michal Suchanek, dri-devel, linux-fbdev, Thomas Zimmermann Cc: Borislav Petkov, Thomas Gleixner, Ingo Molnar, Dave Hansen, x86, H. Peter Anvin, Martin Mares, Helge Deller, Ard Biesheuvel, Bjorn Andersson, Sudeep Holla, Greg Kroah-Hartman, Krzysztof Kozlowski, Arnd Bergmann, Geert Uytterhoeven, Cristian Marussi, Andy Shevchenko, David Herrmann, linux-kernel, linux-video, linux-efi, Borislav Petkov On 2/25/22 21:51, Michal Suchanek wrote: > 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: e3263ab389a7 ("x86: provide platform-devices for boot-framebuffers") > Signed-off-by: Michal Suchanek <msuchanek@suse.de> > Acked-by: Borislav Petkov <bp@suse.de> > --- Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> -- Best regards, Javier Martinez Canillas Linux Engineering Red Hat ^ permalink raw reply [flat|nested] 31+ messages in thread
* [PATCH v4 3/3] efifb: Remove redundant efifb_setup_from_dmi stub 2022-02-23 18:34 ` Javier Martinez Canillas ` (2 preceding siblings ...) 2022-02-25 20:51 ` [PATCH v4 2/3] sysfb: Enable boot time VESA graphic mode selection Michal Suchanek @ 2022-02-25 20:51 ` Michal Suchanek 2022-02-25 22:11 ` Javier Martinez Canillas 3 siblings, 1 reply; 31+ messages in thread From: Michal Suchanek @ 2022-02-25 20:51 UTC (permalink / raw) To: dri-devel, linux-fbdev, Thomas Zimmermann, Javier Martinez Canillas Cc: Michal Suchanek, Borislav Petkov, Thomas Gleixner, Ingo Molnar, Dave Hansen, x86, H. Peter Anvin, Martin Mares, Helge Deller, Ard Biesheuvel, Bjorn Andersson, Sudeep Holla, Greg Kroah-Hartman, Krzysztof Kozlowski, Arnd Bergmann, Geert Uytterhoeven, Cristian Marussi, Andy Shevchenko, David Herrmann, linux-kernel, linux-video, linux-efi efifb is the only user of efifb_setup_from_dmi which is provided by sysfb which is selected by efifb. That makes the stub redundant. Signed-off-by: Michal Suchanek <msuchanek@suse.de> --- v4: new patch --- include/linux/efi.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/include/linux/efi.h b/include/linux/efi.h index ccd4d3f91c98..0cbbc4103632 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h @@ -1329,10 +1329,6 @@ static inline struct efi_mokvar_table_entry *efi_mokvar_entry_find( } #endif -#ifdef CONFIG_SYSFB extern void efifb_setup_from_dmi(struct screen_info *si, const char *opt); -#else -static inline void efifb_setup_from_dmi(struct screen_info *si, const char *opt) { } -#endif #endif /* _LINUX_EFI_H */ -- 2.34.1 ^ permalink raw reply related [flat|nested] 31+ messages in thread
* Re: [PATCH v4 3/3] efifb: Remove redundant efifb_setup_from_dmi stub 2022-02-25 20:51 ` [PATCH v4 3/3] efifb: Remove redundant efifb_setup_from_dmi stub Michal Suchanek @ 2022-02-25 22:11 ` Javier Martinez Canillas 0 siblings, 0 replies; 31+ messages in thread From: Javier Martinez Canillas @ 2022-02-25 22:11 UTC (permalink / raw) To: Michal Suchanek, dri-devel, linux-fbdev, Thomas Zimmermann Cc: Borislav Petkov, Thomas Gleixner, Ingo Molnar, Dave Hansen, x86, H. Peter Anvin, Martin Mares, Helge Deller, Ard Biesheuvel, Bjorn Andersson, Sudeep Holla, Greg Kroah-Hartman, Krzysztof Kozlowski, Arnd Bergmann, Geert Uytterhoeven, Cristian Marussi, Andy Shevchenko, David Herrmann, linux-kernel, linux-video, linux-efi On 2/25/22 21:51, Michal Suchanek wrote: > efifb is the only user of efifb_setup_from_dmi which is provided by > sysfb which is selected by efifb. That makes the stub redundant. > > Signed-off-by: Michal Suchanek <msuchanek@suse.de> > --- Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> -- Best regards, Javier Martinez Canillas Linux Engineering Red Hat ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH] simpldrm: Enable boot time VESA graphic mode selection. 2022-02-18 9:33 [PATCH] simpldrm: Enable boot time VESA graphic mode selection Michal Suchanek 2022-02-18 9:57 ` Thomas Zimmermann @ 2022-03-02 19:31 ` Thomas Zimmermann 2022-03-02 19:38 ` Michal Suchánek 1 sibling, 1 reply; 31+ messages in thread From: Thomas Zimmermann @ 2022-03-02 19:31 UTC (permalink / raw) To: Michal Suchanek, dri-devel, linux-fbdev Cc: David Airlie, Dave Hansen, H. Peter Anvin, Sam Ravnborg, Helge Deller, x86, Javier Martinez Canillas, Ingo Molnar, Arnd Bergmann, Borislav Petkov, Maxime Ripard, Thomas Gleixner, Andy Shevchenko, Greg Kroah-Hartman, linux-kernel, Martin Mares, linux-video, Daniel Mack [-- Attachment #1.1: Type: text/plain, Size: 4015 bytes --] Hi, is this ready to be merged? Best regards Thomas 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. > > 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 > 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 [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 840 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH] simpldrm: Enable boot time VESA graphic mode selection. 2022-03-02 19:31 ` [PATCH] simpldrm: Enable boot time VESA graphic mode selection Thomas Zimmermann @ 2022-03-02 19:38 ` Michal Suchánek 2022-03-02 19:47 ` Javier Martinez Canillas 0 siblings, 1 reply; 31+ messages in thread From: Michal Suchánek @ 2022-03-02 19:38 UTC (permalink / raw) To: Thomas Zimmermann Cc: dri-devel, linux-fbdev, David Airlie, Dave Hansen, H. Peter Anvin, Sam Ravnborg, Helge Deller, x86, Javier Martinez Canillas, Ingo Molnar, Arnd Bergmann, Borislav Petkov, Maxime Ripard, Thomas Gleixner, Andy Shevchenko, Greg Kroah-Hartman, linux-kernel, Martin Mares, linux-video, Daniel Mack Hello, On Wed, Mar 02, 2022 at 08:31:25PM +0100, Thomas Zimmermann wrote: > Hi, > > is this ready to be merged? The objections raised so far have been addressed in v4. I think this is good to merge. Thanks Michal > > Best regards > Thomas > > 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. > > > > 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 > > 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 ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH] simpldrm: Enable boot time VESA graphic mode selection. 2022-03-02 19:38 ` Michal Suchánek @ 2022-03-02 19:47 ` Javier Martinez Canillas 2022-03-04 20:00 ` Thomas Zimmermann 0 siblings, 1 reply; 31+ messages in thread From: Javier Martinez Canillas @ 2022-03-02 19:47 UTC (permalink / raw) To: Michal Suchánek, Thomas Zimmermann Cc: linux-fbdev, x86, Arnd Bergmann, David Airlie, Greg Kroah-Hartman, Helge Deller, Dave Hansen, dri-devel, linux-kernel, linux-video, Ingo Molnar, Borislav Petkov, Maxime Ripard, H. Peter Anvin, Martin Mares, Thomas Gleixner, Andy Shevchenko, Sam Ravnborg, Daniel Mack Hello, On 3/2/22 20:38, Michal Suchánek wrote: > Hello, > > On Wed, Mar 02, 2022 at 08:31:25PM +0100, Thomas Zimmermann wrote: >> Hi, >> >> is this ready to be merged? > > The objections raised so far have been addressed in v4. > > I think this is good to merge. > The v4 patches looks good to me and have provided my Reviewed-by to all of them. > Thanks > > Michal > >> -- Best regards, Javier Martinez Canillas Linux Engineering Red Hat ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH] simpldrm: Enable boot time VESA graphic mode selection. 2022-03-02 19:47 ` Javier Martinez Canillas @ 2022-03-04 20:00 ` Thomas Zimmermann 2022-03-04 20:47 ` Javier Martinez Canillas 0 siblings, 1 reply; 31+ messages in thread From: Thomas Zimmermann @ 2022-03-04 20:00 UTC (permalink / raw) To: Javier Martinez Canillas, Michal Suchánek Cc: linux-fbdev, x86, Arnd Bergmann, David Airlie, Greg Kroah-Hartman, Helge Deller, Dave Hansen, dri-devel, linux-kernel, linux-video, Ingo Molnar, Borislav Petkov, Maxime Ripard, H. Peter Anvin, Martin Mares, Thomas Gleixner, Andy Shevchenko, Sam Ravnborg, Daniel Mack [-- Attachment #1.1: Type: text/plain, Size: 780 bytes --] Hi, I've merged the patches into drm-misc-fixes. Thanks a lot to both of you. Best regards Thomas Am 02.03.22 um 20:47 schrieb Javier Martinez Canillas: > Hello, > > On 3/2/22 20:38, Michal Suchánek wrote: >> Hello, >> >> On Wed, Mar 02, 2022 at 08:31:25PM +0100, Thomas Zimmermann wrote: >>> Hi, >>> >>> is this ready to be merged? >> >> The objections raised so far have been addressed in v4. >> >> I think this is good to merge. >> > > The v4 patches looks good to me and have provided my Reviewed-by to all of them. > >> 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 [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 840 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH] simpldrm: Enable boot time VESA graphic mode selection. 2022-03-04 20:00 ` Thomas Zimmermann @ 2022-03-04 20:47 ` Javier Martinez Canillas 2022-03-07 14:33 ` Javier Martinez Canillas 0 siblings, 1 reply; 31+ messages in thread From: Javier Martinez Canillas @ 2022-03-04 20:47 UTC (permalink / raw) To: Thomas Zimmermann, Michal Suchánek Cc: linux-fbdev, x86, Arnd Bergmann, David Airlie, Greg Kroah-Hartman, Helge Deller, Dave Hansen, dri-devel, linux-kernel, linux-video, Ingo Molnar, Borislav Petkov, Maxime Ripard, H. Peter Anvin, Martin Mares, Thomas Gleixner, Andy Shevchenko, Sam Ravnborg, Daniel Mack Hello Thomas, On 3/4/22 21:00, Thomas Zimmermann wrote: > Hi, > > I've merged the patches into drm-misc-fixes. Thanks a lot to both of you. > Ard already picked these through the efi tree: https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git/log/ > Best regards > Thomas > -- Best regards, Javier Martinez Canillas Linux Engineering Red Hat ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: [PATCH] simpldrm: Enable boot time VESA graphic mode selection. 2022-03-04 20:47 ` Javier Martinez Canillas @ 2022-03-07 14:33 ` Javier Martinez Canillas 0 siblings, 0 replies; 31+ messages in thread From: Javier Martinez Canillas @ 2022-03-07 14:33 UTC (permalink / raw) To: Thomas Zimmermann, Michal Suchánek Cc: linux-fbdev, x86, Arnd Bergmann, David Airlie, Greg Kroah-Hartman, Helge Deller, Dave Hansen, dri-devel, linux-kernel, linux-video, Ingo Molnar, Borislav Petkov, Maxime Ripard, H. Peter Anvin, Martin Mares, Thomas Gleixner, Andy Shevchenko, Sam Ravnborg, Daniel Mack On 3/4/22 21:47, Javier Martinez Canillas wrote: > Hello Thomas, > > On 3/4/22 21:00, Thomas Zimmermann wrote: >> Hi, >> >> I've merged the patches into drm-misc-fixes. Thanks a lot to both of you. >> > > Ard already picked these through the efi tree: > > https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git/log/ > I talked with Ard and he kindly dropped these patches from the efi tree. So everything is fine. >> Best regards >> Thomas >> -- Best regards, Javier Martinez Canillas Linux Engineering Red Hat ^ permalink raw reply [flat|nested] 31+ messages in thread
end of thread, other threads:[~2022-03-07 14:33 UTC | newest] Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-02-18 9:33 [PATCH] simpldrm: Enable boot time VESA graphic mode selection Michal Suchanek 2022-02-18 9:57 ` Thomas Zimmermann 2022-02-18 10:08 ` Michal Suchánek 2022-02-18 10:24 ` Thomas Zimmermann 2022-02-18 10:51 ` [PATCH v2] simplefb: " Michal Suchanek 2022-02-18 11:36 ` Thomas Zimmermann 2022-02-18 12:05 ` Michal Suchánek 2022-02-18 16:04 ` [PATCH v3] " Michal Suchanek 2022-02-21 9:51 ` Thomas Zimmermann 2022-02-23 18:38 ` Borislav Petkov 2022-02-23 16:34 ` Javier Martinez Canillas 2022-02-23 16:45 ` Michal Suchánek 2022-02-23 16:54 ` Javier Martinez Canillas 2022-02-23 17:07 ` Javier Martinez Canillas 2022-02-23 17:12 ` Michal Suchánek 2022-02-23 18:13 ` Javier Martinez Canillas 2022-02-23 18:23 ` Michal Suchánek 2022-02-23 18:34 ` Javier Martinez Canillas 2022-02-23 19:55 ` Michal Suchánek 2022-02-25 20:51 ` [PATCH v4 1/3] sysfb: Make config option dependencies explicit Michal Suchanek 2022-02-25 22:09 ` Javier Martinez Canillas 2022-02-25 20:51 ` [PATCH v4 2/3] sysfb: Enable boot time VESA graphic mode selection Michal Suchanek 2022-02-25 22:10 ` Javier Martinez Canillas 2022-02-25 20:51 ` [PATCH v4 3/3] efifb: Remove redundant efifb_setup_from_dmi stub Michal Suchanek 2022-02-25 22:11 ` Javier Martinez Canillas 2022-03-02 19:31 ` [PATCH] simpldrm: Enable boot time VESA graphic mode selection Thomas Zimmermann 2022-03-02 19:38 ` Michal Suchánek 2022-03-02 19:47 ` Javier Martinez Canillas 2022-03-04 20:00 ` Thomas Zimmermann 2022-03-04 20:47 ` Javier Martinez Canillas 2022-03-07 14:33 ` Javier Martinez Canillas
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).