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

Lee, Shawn C shawn.c.lee at intel.com
Mon May 10 09:37:10 UTC 2021


On Fri, 7 May 2021, Auld, Matthew <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>

No more flicker issue seen during boot splash with this patch on my DUT. Thanks!

>---
> 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)
> 		return NULL;
> 
> 	obj = i915_gem_object_create_stolen_for_preallocated(i915, base, size);
>--
>2.26.3
>


More information about the Intel-gfx mailing list