[Intel-gfx] [PATCH] drm/i915/display: relax 2big checking around initial fb

Imre Deak imre.deak at intel.com
Tue May 25 15:19:50 UTC 2021


On Tue, May 25, 2021 at 02:25:15PM +0100, Matthew Auld wrote:
> On Fri, 7 May 2021 at 10:12, Matthew Auld <matthew.auld at intel.com> wrote:
> >
> > From: Chris Wilson <chris at chris-wilson.co.uk>
> >
> > The kernel prefers enabling fbc over the initial fb, since this leads to
> > actual runtime power savings, so if the initial fb is deemed too big
> > using some heuristic, then we simply skip allocating stolen for it.
> > However if the kernel is not configured with fbcon then it should be
> > possible to relax this, since unlike with fbcon the display server
> > shouldn't preserve it when later replacing it, and so we should be able
> > to re-use the stolen memory for fbc and friends. This patch is reported
> > to fix some flicker seen during boot splash on some devices.
> >
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > Signed-off-by: Matthew Auld <matthew.auld at intel.com>
> > Cc: Lee Shawn C <shawn.c.lee at intel.com>
> > Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > Cc: Daniel Vetter <daniel.vetter at intel.com>
> 
> Ville, Imre, or somebody else with display experience, does this at
> least look somewhat reasonable?
> 
> > ---
> >  drivers/gpu/drm/i915/display/intel_display.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> > index ec2d3fa60003..0ee1f0213fd9 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -1455,7 +1455,7 @@ initial_plane_vma(struct drm_i915_private *i915,
> >          * important and we should probably use that space with FBC or other
> >          * features.
> >          */
> > -       if (size * 2 > i915->stolen_usable_size)
> > +       if (IS_ENABLED(FRAMEBUFFER_CONSOLE) && size * 2 > i915->stolen_usable_size)

Makes sense and aligns with how the FB object is allocated in intelfb_alloc():

Reviewed-by: Imre Deak <imre.deak at intel.com>


> >                 return NULL;
> >
> >         obj = i915_gem_object_create_stolen_for_preallocated(i915, base, size);
> > --
> > 2.26.3
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the Intel-gfx mailing list