drm/i915/selftests: Exercise intel_timeline_read_hwsp()
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 21 Oct 2020 22:04:11 +0000 (23:04 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 23 Oct 2020 12:35:39 +0000 (13:35 +0100)
commit6e7a21e7ab27dd5e42e212155200c1c84bbadbc7
tree6fd76174d14fc34277734ce89d6d3eaac73b6822
parentc10f6019d0b2dc8a6a62b55459f3ada5bc4e5e1a
drm/i915/selftests: Exercise intel_timeline_read_hwsp()

intel_timeline_read_hwsp() is used to support semaphore waits between
engines, that may themselves be deferred for arbitrary periods -- that
is the read of the target request's HWSP is at an indeterminant point in
the future. To support this, we need to prevent overwriting a HWSP that
is being watched across a seqno wrap (otherwise the next request will
write its value into the old HWSP preventing the watcher from making
progress, ad infinitum.) To simulate the observer across a wrap, let's
create a request that reads from the HWSP and dispatch it at different
points around a wrap to see if the value is lost.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201021220411.5777-2-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/selftest_timeline.c