On Fri, Dec 11, 2015 at 11:33:04AM +0000, Chris Wilson wrote:
> Now that the reset_counter is stored on the request, we can rearrange
> the code to handle reading the counter versus waiting during the atomic
> modesetting for readibility (by deleting the hairiest of codes).
> 
> Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
> Cc: Daniel Vetter <daniel.vet...@ffwll.ch>

Much better encapsulation of gem internals indeed.

Reviewed-by: Daniel Vetter <daniel.vet...@ffwll.ch>

> ---
>  drivers/gpu/drm/i915/intel_display.c | 18 +++++++-----------
>  1 file changed, 7 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c 
> b/drivers/gpu/drm/i915/intel_display.c
> index d59beca928b7..d7bbd015de35 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -13393,9 +13393,9 @@ static int intel_atomic_prepare_commit(struct 
> drm_device *dev,
>               return ret;
>  
>       ret = drm_atomic_helper_prepare_planes(dev, state);
> -     if (!ret && !async && 
> !i915_reset_in_progress_or_wedged(&dev_priv->gpu_error)) {
> -             mutex_unlock(&dev->struct_mutex);
> +     mutex_unlock(&dev->struct_mutex);
>  
> +     if (!ret && !async) {
>               for_each_plane_in_state(state, plane, plane_state, i) {
>                       struct intel_plane_state *intel_plane_state =
>                               to_intel_plane_state(plane_state);
> @@ -13409,19 +13409,15 @@ static int intel_atomic_prepare_commit(struct 
> drm_device *dev,
>                       /* Swallow -EIO errors to allow updates during hw 
> lockup. */
>                       if (ret == -EIO)
>                               ret = 0;
> -
> -                     if (ret)
> +                     if (ret) {
> +                             mutex_lock(&dev->struct_mutex);
> +                             drm_atomic_helper_cleanup_planes(dev, state);
> +                             mutex_unlock(&dev->struct_mutex);
>                               break;
> +                     }
>               }
> -
> -             if (!ret)
> -                     return 0;
> -
> -             mutex_lock(&dev->struct_mutex);
> -             drm_atomic_helper_cleanup_planes(dev, state);
>       }
>  
> -     mutex_unlock(&dev->struct_mutex);
>       return ret;
>  }
>  
> -- 
> 2.6.3
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to