]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/guc: Clear terminated attribute bit on GuC preemption context
authorJeff McGee <jeff.mcgee@intel.com>
Wed, 1 Nov 2017 22:16:30 +0000 (15:16 -0700)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 2 Nov 2017 08:07:22 +0000 (08:07 +0000)
commitfa649bf1e2c5eb5288f4a3f81f8d5d995b52d721
tree897dd67bb2ca8b74b153d2596487e1b30a2cf78a
parent8835e008495b8255a30d2e7eb291096bd3761e9e
drm/i915/guc: Clear terminated attribute bit on GuC preemption context

If GuC firmware performs an engine reset while that engine had a
preemption pending, it will set the terminated attribute bit on our
preemption stage descriptor. GuC firmware retains all pending work
items for a high-priority GuC client, unlike the normal-priority GuC
client where work items are dropped. It wants to make sure the preempt-
to-idle work doesn't run when scheduling resumes, and uses this bit to
inform its scheduler and presumably us as well. Our job is to clear it
for the next preemption after reset, otherwise that and future
preemptions will never complete. We'll just clear it every time.

Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171101221630.25086-1-jeff.mcgee@intel.com
Reviewed-by: Michel Thierry <michel.thierry@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/i915/i915_guc_submission.c