drm/i915/oa: Reconfigure contexts on the fly
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 16 Jul 2019 21:34:43 +0000 (22:34 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 17 Jul 2019 06:58:27 +0000 (07:58 +0100)
commita9877da2d62958972548e98ecad0413d482b5eac
tree480c98870ad8444a7fa6a737d69fb777e34b50bc
parentbea5faf7be325bba63d82b5d37e31b43140ddabf
drm/i915/oa: Reconfigure contexts on the fly

Avoid a global idle barrier by reconfiguring each context by rewriting
them with MI_STORE_DWORD from the kernel context.

v2: We only need to determine the desired register values once, they are
the same for all contexts.
v3: Don't remove the kernel context from the list of known GEM contexts;
the world is not ready for that yet.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190716213443.9874-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gem/i915_gem_context.c
drivers/gpu/drm/i915/gt/intel_context.c
drivers/gpu/drm/i915/gt/intel_context.h
drivers/gpu/drm/i915/gt/intel_lrc.c
drivers/gpu/drm/i915/i915_perf.c