On Tue, 12 May 2026, Ville Syrjala <[email protected]> wrote: > From: Ville Syrjälä <[email protected]> > > Respect the user's choice of depth/bpp for the fbdev framebuffer > and throw out the fb we inherited from the BIOS if it doesn't > match.
Seems reasonable, although I admit I might not be aware of all the consequences here. Reviewed-by: Jani Nikula <[email protected]> > > Signed-off-by: Ville Syrjälä <[email protected]> > --- > drivers/gpu/drm/i915/display/intel_fbdev.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c > b/drivers/gpu/drm/i915/display/intel_fbdev.c > index f9c135400453..3754810cc187 100644 > --- a/drivers/gpu/drm/i915/display/intel_fbdev.c > +++ b/drivers/gpu/drm/i915/display/intel_fbdev.c > @@ -268,6 +268,8 @@ static bool bios_fb_ok(const struct intel_framebuffer *fb, > struct intel_display *display = to_intel_display(fb->base.dev); > int width = fb->base.width; > int height = fb->base.height; > + int depth = fb->base.format->depth; > + int bpp = fb->base.format->cpp[0] * 8; > > if (sizes->fb_width > width || sizes->fb_height > height) { > drm_dbg_kms(display->drm, > @@ -276,6 +278,13 @@ static bool bios_fb_ok(const struct intel_framebuffer > *fb, > return false; > } > > + if (sizes->surface_depth != depth || sizes->surface_bpp != bpp) { > + drm_dbg_kms(display->drm, > + "BIOS fb using wrong depth/bpp (%d/%d), we require > (%d/%d), releasing it\n", > + depth, bpp, sizes->surface_depth, > sizes->surface_bpp); > + return false; > + } > + > return true; > } -- Jani Nikula, Intel
