]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/i915: Whitelist context-local timestamp in the gen9 cmdparser
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 1 Jun 2020 16:19:42 +0000 (17:19 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jun 2020 13:41:46 +0000 (15:41 +0200)
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 <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: <stable@vger.kernel.org> # v5.4+
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200601161942.30854-1-chris@chris-wilson.co.uk
(cherry picked from commit f9496520df11de00fbafc3cbd693b9570d600ab3)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/i915/i915_cmd_parser.c

index e4b9eb1f6b6021b0563341aff68ae4eab3c75f98..f6b81f3256cf0fd08ef241f09a984f671067ea8b 100644 (file)
@@ -570,6 +570,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.
  *
@@ -667,6 +670,7 @@ static const struct drm_i915_reg_descriptor gen9_blt_regs[] = {
        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),