Chris Wilson fcb1de54e2 drm/i915: Add a strong mb to resetting the has-CS-interrupt bit
After a reset, the state of the CSB registers are scrubbed and not valid
until a powercontext is reloaded. We only know when a powercontext has
been reloaded once we see a CS-interrupt, before then we must ignore the
CSB registers within the execlists_submission_tasklet. However, glk is
sporadically dying with an illegal CSB pointer value (both in the HSWP
and mmio) suggesting that it is running with the CS-interrupt bit set
before the powercontext has been reloaded. Make sure the clearing of
that bit is serialised on reset with the re-enabling of the tasklet.

References: https://bugs.freedesktop.org/show_bug.cgi?id=104262
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Michał Winiarski <michal.winiarski@intel.com>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171219090110.11153-1-chris@chris-wilson.co.uk
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-12-19 12:43:14 +00:00
..
2017-11-02 12:40:41 +10:00
2017-10-07 10:11:41 +01:00
2017-08-03 18:18:05 +01:00
2017-08-03 18:18:05 +01:00
2017-08-03 18:18:05 +01:00
2017-08-03 18:18:05 +01:00
2017-08-03 18:18:05 +01:00
2017-07-09 18:48:37 -07:00
2017-12-08 08:41:22 +10:00
2017-06-12 09:42:18 -07:00
2017-12-04 10:56:53 +10:00
2017-12-08 08:41:22 +10:00
2017-12-08 08:41:22 +10:00