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 <ch...@chris-wilson.co.uk>
> Tested-by: Tomi Sarvela <tomix.p.sarv...@intel.com> (v1, v2)
> Signed-off-by: Mika Kuoppala <mika.kuopp...@intel.com>
Reviewed-by: Chris Wilson <ch...@chris-wilson.co.uk>
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to