[Intel-gfx] [PATCH 4/4] drm/i915: Wait for reset to complete before returning from debugfs/i915_wedged

Mika Kuoppala mika.kuoppala at linux.intel.com
Thu Mar 16 17:02:08 UTC 2017


Mika Kuoppala <mika.kuoppala at linux.intel.com> writes:

> Chris Wilson <chris at chris-wilson.co.uk> writes:
>
>> Provide some serialisation between user operations by waiting for the
>> reset initiated by setting i915_wedged to complete.
>>
>> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
>> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>> Cc: Mika Kuoppala <mika.kuoppala at intel.com>
>> ---
>>  drivers/gpu/drm/i915/i915_debugfs.c | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
>> index 5fdf8c137235..ada823815b8a 100644
>> --- a/drivers/gpu/drm/i915/i915_debugfs.c
>> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
>> @@ -4129,6 +4129,10 @@ i915_wedged_set(void *data, u64 val)
>>  	i915_handle_error(dev_priv, val,
>>  			  "Manually setting wedged to %llu", val);
>>  
>> +	wait_on_bit(&dev_priv->gpu_error.flags,
>> +		    I915_RESET_HANDOFF,
>> +		    TASK_UNINTERRUPTIBLE);
>> +
>
> But what happens here if we have already prevented the reset and
> the handoff never clears? Seems like it is a stuck task as the
> handoff is not cleared on error path in i915_reset.
>

Forget the above. The goto in the i915_reset will handle that.

Reviewed-by: Mika Kuoppala <mika.kuoppala at intel.com>

> -Mika
>
>
>>  	return 0;
>>  }
>>  
>> -- 
>> 2.11.0
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the Intel-gfx mailing list