[Intel-gfx] [PATCH] drm/i915: Do graphics device reset under forcewake

Jani Nikula jani.nikula at linux.intel.com
Thu Nov 5 05:33:21 PST 2015


On Thu, 05 Nov 2015, Chris Wilson <chris at chris-wilson.co.uk> wrote:
> On Thu, Nov 05, 2015 at 01:11:38PM +0200, Mika Kuoppala wrote:
>> We have a timed release of a forcewake when using
>> I915_READ/WRITE macros. wait_for() macro will go to quite
>> long sleep if the first read doesn't satisfy the condition for
>> successful exit. With these two interacting, it is possible that
>> we lose the forcewake during the wait_for() and the subsequent read
>> will reaquire forcewake.
>> 
>> Further experiments with skl shows that when we lose forcewake,
>> we lose the reset request we submitted. So reset request register
>> is not power context saved.
>> 
>> Grab forcewakes for all engines before starting the reset/request
>> dance so that all requests stay valid for the duration of reset
>> requisition across all the engines.
>> 
>> v2: Add comment on power well sleeps. Wrap the reset handling
>>     under forcewake instead of just reset requests (Chris)
>> 
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92774
>> Cc: Chris Wilson <chris at chris-wilson.co.uk>
>> Tested-by: Tomi Sarvela <tomix.p.sarvela at intel.com> (v1, v2)
>> Signed-off-by: Mika Kuoppala <mika.kuoppala at intel.com>
> Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>

Pushed to drm-intel-next-fixes, thanks for the patch and review.

BR,
Jani.


-- 
Jani Nikula, Intel Open Source Technology Center


More information about the Intel-gfx mailing list