[Intel-gfx] [PATCH v2 04/11] drm/i915: Generalize the async flip capability check

Karthik B S karthik.b.s at intel.com
Fri Jan 15 10:23:12 UTC 2021


On 1/11/2021 10:07 PM, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Only assign the plane->async_flip() vfunc when the plane supports
> async flips. For now we keep this artificially limited to the primary
> plane since thats the only thing the legacy page flip uapi can target
> and there is no async flip support in the atomic uapi yet.
>
> Cc: Karthik B S <karthik.b.s at intel.com>
> Cc: Vandita Kulkarni <vandita.kulkarni at intel.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

Looks good to me.

Reviewed-by: Karthik B S <karthik.b.s at intel.com>

> ---
>   drivers/gpu/drm/i915/display/intel_display.c | 2 +-
>   drivers/gpu/drm/i915/display/intel_sprite.c  | 4 +++-
>   2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 7735c28b2467..1ad92fcaee7b 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -14377,7 +14377,7 @@ static int intel_atomic_check_async(struct intel_atomic_state *state)
>   		 * this(vlv/chv and icl+) should be added when async flip is
>   		 * enabled in the atomic IOCTL path.
>   		 */
> -		if (plane->id != PLANE_PRIMARY)
> +		if (!plane->async_flip)
>   			return -EINVAL;
>   
>   		/*
> diff --git a/drivers/gpu/drm/i915/display/intel_sprite.c b/drivers/gpu/drm/i915/display/intel_sprite.c
> index b24c8fc8e83e..0a5648d5dcf8 100644
> --- a/drivers/gpu/drm/i915/display/intel_sprite.c
> +++ b/drivers/gpu/drm/i915/display/intel_sprite.c
> @@ -3309,7 +3309,9 @@ skl_universal_plane_create(struct drm_i915_private *dev_priv,
>   	plane->get_hw_state = skl_plane_get_hw_state;
>   	plane->check_plane = skl_plane_check;
>   	plane->min_cdclk = skl_plane_min_cdclk;
> -	plane->async_flip = skl_plane_async_flip;
> +
> +	if (plane_id == PLANE_PRIMARY)
> +		plane->async_flip = skl_plane_async_flip;
>   
>   	if (INTEL_GEN(dev_priv) >= 11)
>   		formats = icl_get_plane_formats(dev_priv, pipe,




More information about the Intel-gfx mailing list