]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Update to post-reset execlist queue clean-up
authorTomas Elf <tomas.elf@intel.com>
Fri, 23 Oct 2015 17:02:37 +0000 (18:02 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 11 Dec 2015 16:39:48 +0000 (17:39 +0100)
commit2140c9993813ded05afbd8be23e2682cab2b7f0a
treee5b5d9720052c546faa3d86d38d8b02c4a8a7cea
parentc19c6ac196cd44f6ec73c783e6ead748fb88941f
drm/i915: Update to post-reset execlist queue clean-up

When clearing an execlist queue, instead of traversing it and unreferencing all
requests while holding the spinlock (which might lead to thread sleeping with
IRQs are turned off - bad news!), just move all requests to the retire request
list while holding spinlock and then drop spinlock and invoke the execlists
request retirement path, which already deals with the intricacies of
purging/dereferencing execlist queue requests.

This patch can be considered v3 of:

commit b96db8b81c54ef30485ddb5992d63305d86ea8d3
Author: Tomas Elf <tomas.elf@intel.com>
drm/i915: Grab execlist spinlock to avoid post-reset concurrency issues

This patch assumes v2 of the above patch is part of the baseline, reverts v2
and adds changes on top to turn it into v3.

Signed-off-by: Tomas Elf <tomas.elf@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Link: http://patchwork.freedesktop.org/patch/msgid/1445619757-19822-1-git-send-email-tomas.elf@intel.com
Reviewed-by: Thomas Daniel <thomas.daniel@intel.com>
Reviewed-by: Dave Gordon <dave.gordon@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem.c