drm/i915: Do a nonblocking wait first in pread/pwrite
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 5 Aug 2016 09:14:16 +0000 (10:14 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 5 Aug 2016 09:54:39 +0000 (10:54 +0100)
commit258a5edee0a306d52f5f84ca8a45736efa309ca4
treea26a3c58f3a75ee2e3f4e6449cd00b9d2ccf8afa
parent3b4e896f14b165298d4a85ee4da735633892eeb3
drm/i915: Do a nonblocking wait first in pread/pwrite

If we try and read or write to an active request, we first must wait
upon the GPU completing that request. Let's do that without holding the
mutex (and so allow someone else to access the GPU whilst we wait). Upon
completion, we will acquire the mutex and only then start the operation
(i.e. we do not rely on state from before the initial wait).

v2: Repaint the goto labels
v3: Move the tracepoints back to the start of the ioctls

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1470388464-28458-11-git-send-email-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem.c