On Wed, Aug 12, 2015 at 01:08:22PM +0100, Chris Wilson wrote:
> When we queue the command or operation to change the scanout address, we
> mark the flip as in progress. We can use this flag to prevent us from
> checking for a stalled flip prior to its existence!
> 
> Signed-off-by: Chris Wilson <[email protected]>
> ---
>  drivers/gpu/drm/i915/intel_display.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c 
> b/drivers/gpu/drm/i915/intel_display.c
> index aab8dfd1f8a5..edc7d4a7c9de 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -11248,6 +11248,9 @@ static bool __intel_pageflip_stall_check(struct 
> drm_device *dev,
>       if (atomic_read(&work->pending) >= INTEL_FLIP_COMPLETE)
>               return true;
>  
> +     if (atomic_read(&work->pending) < INTEL_FLIP_PENDING)
> +             return false;
> +

unpin_work is assigned and the lock dropped before the flip is marked as
INTEL_FLIP_PENDING. Makes sense.

Reviewed-by: Ville Syrjälä <[email protected]>

>       if (!work->enable_stall_check)
>               return false;
>  
> -- 
> 2.5.0
> 
> _______________________________________________
> Intel-gfx mailing list
> [email protected]
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to