[Intel-gfx] [PATCH] drm/i915: Fix ILK-IVB primary plane enable delays

Ville Syrjälä ville.syrjala at linux.intel.com
Mon Jan 14 19:39:52 UTC 2019


On Thu, Dec 20, 2018 at 01:26:08PM +0200, Juha-Pekka Heikkila wrote:
> Primary and sprite plane enable on ILK-IVB may take two frames to complete
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103925
> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
> ---
>  drivers/gpu/drm/i915/intel_display.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 3b70948..b46ab48 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -10813,8 +10813,11 @@ int intel_plane_atomic_calc_changes(const struct intel_crtc_state *old_crtc_stat
>  	 * Despite the w/a only being listed for IVB we assume that
>  	 * the ILK/SNB note has similar ramifications, hence we apply
>  	 * the w/a on all three platforms.
> +	 *
> +	 * With experimental results seems this is needed also for primary
> +	 * plane, not only sprite plane.

Actually even documented in the spec. I wasn't able to reproduce this
myself for whatever reason while I was coming up with a cleaner way to
handle this. But let's trust the spec and go with it. My cleanup thing
isn't quite ready yet so I've landed your patch in the meantime. Thanks.

>  	 */
> -	if (plane->id == PLANE_SPRITE0 &&
> +	if (plane->id != PLANE_CURSOR &&
>  	    (IS_GEN_RANGE(dev_priv, 5, 6) ||
>  	     IS_IVYBRIDGE(dev_priv)) &&
>  	    (turn_on || (!needs_scaling(old_plane_state) &&
> -- 
> 2.7.4

-- 
Ville Syrjälä
Intel


More information about the Intel-gfx mailing list