From: Chris Wilson <ch...@chris-wilson.co.uk>

commit 273500ae71711c040d258a7b3f4b6f44c368fff2 upstream.

Allow batch buffers to read their own _local_ cumulative HW runtime of
their logical context.

Fixes: 0f2f39758341 ("drm/i915: Add gen9 BCS cmdparsing")
Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuopp...@linux.intel.com>
Cc: <sta...@vger.kernel.org> # v5.4+
Reviewed-by: Mika Kuoppala <mika.kuopp...@linux.intel.com>
Link: 
https://patchwork.freedesktop.org/patch/msgid/20200601161942.30854-1-ch...@chris-wilson.co.uk
(cherry picked from commit f9496520df11de00fbafc3cbd693b9570d600ab3)
Signed-off-by: Joonas Lahtinen <joonas.lahti...@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>

---
 drivers/gpu/drm/i915/i915_cmd_parser.c |    4 ++++
 1 file changed, 4 insertions(+)

--- a/drivers/gpu/drm/i915/i915_cmd_parser.c
+++ b/drivers/gpu/drm/i915/i915_cmd_parser.c
@@ -572,6 +572,9 @@ struct drm_i915_reg_descriptor {
 #define REG32(_reg, ...) \
        { .addr = (_reg), __VA_ARGS__ }
 
+#define REG32_IDX(_reg, idx) \
+       { .addr = _reg(idx) }
+
 /*
  * Convenience macro for adding 64-bit registers.
  *
@@ -669,6 +672,7 @@ static const struct drm_i915_reg_descrip
        REG64_IDX(RING_TIMESTAMP, BSD_RING_BASE),
        REG32(BCS_SWCTRL),
        REG64_IDX(RING_TIMESTAMP, BLT_RING_BASE),
+       REG32_IDX(RING_CTX_TIMESTAMP, BLT_RING_BASE),
        REG64_IDX(BCS_GPR, 0),
        REG64_IDX(BCS_GPR, 1),
        REG64_IDX(BCS_GPR, 2),


Reply via email to