[Intel-gfx] [PATCH 3/7] drm/i915: Remove DRIVER_MODESET checks in the gpu reset code

Rodrigo Vivi rodrigo.vivi at gmail.com
Thu Feb 26 17:06:34 PST 2015


Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>

On Mon, Feb 23, 2015 at 3:03 AM, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> Again, good riddance to UMS!
>
> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
> ---
>  drivers/gpu/drm/i915/i915_drv.c | 49 +++++++++++++++++++----------------------
>  1 file changed, 23 insertions(+), 26 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index c1a5377caff0..cc6c51107047 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -863,38 +863,35 @@ int i915_reset(struct drm_device *dev)
>          * was running at the time of the reset (i.e. we weren't VT
>          * switched away).
>          */
> -       if (drm_core_check_feature(dev, DRIVER_MODESET)) {
> -               /* Used to prevent gem_check_wedged returning -EAGAIN during gpu reset */
> -               dev_priv->gpu_error.reload_in_reset = true;
>
> -               ret = i915_gem_init_hw(dev);
> +       /* Used to prevent gem_check_wedged returning -EAGAIN during gpu reset */
> +       dev_priv->gpu_error.reload_in_reset = true;
>
> -               dev_priv->gpu_error.reload_in_reset = false;
> +       ret = i915_gem_init_hw(dev);
>
> -               mutex_unlock(&dev->struct_mutex);
> -               if (ret) {
> -                       DRM_ERROR("Failed hw init on reset %d\n", ret);
> -                       return ret;
> -               }
> -
> -               /*
> -                * FIXME: This races pretty badly against concurrent holders of
> -                * ring interrupts. This is possible since we've started to drop
> -                * dev->struct_mutex in select places when waiting for the gpu.
> -                */
> +       dev_priv->gpu_error.reload_in_reset = false;
>
> -               /*
> -                * rps/rc6 re-init is necessary to restore state lost after the
> -                * reset and the re-install of gt irqs. Skip for ironlake per
> -                * previous concerns that it doesn't respond well to some forms
> -                * of re-init after reset.
> -                */
> -               if (INTEL_INFO(dev)->gen > 5)
> -                       intel_enable_gt_powersave(dev);
> -       } else {
> -               mutex_unlock(&dev->struct_mutex);
> +       mutex_unlock(&dev->struct_mutex);
> +       if (ret) {
> +               DRM_ERROR("Failed hw init on reset %d\n", ret);
> +               return ret;
>         }
>
> +       /*
> +        * FIXME: This races pretty badly against concurrent holders of
> +        * ring interrupts. This is possible since we've started to drop
> +        * dev->struct_mutex in select places when waiting for the gpu.
> +        */
> +
> +       /*
> +        * rps/rc6 re-init is necessary to restore state lost after the
> +        * reset and the re-install of gt irqs. Skip for ironlake per
> +        * previous concerns that it doesn't respond well to some forms
> +        * of re-init after reset.
> +        */
> +       if (INTEL_INFO(dev)->gen > 5)
> +               intel_enable_gt_powersave(dev);
> +
>         return 0;
>  }
>
> --
> 2.1.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx



-- 
Rodrigo Vivi
Blog: http://blog.vivi.eng.br


More information about the Intel-gfx mailing list