Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Dongwon Kim <dongwon.kim@intel.com>
To: intel-gfx@lists.freedesktop.org, chris@chris-wilson.co.uk
Cc: Dongwon Kim <dongwon.kim@intel.com>
Subject: [PATCH] drm/i915/gen11: enable support for headerless msgs
Date: Wed, 24 Apr 2019 13:38:57 -0700	[thread overview]
Message-ID: <20190424203857.7317-1-dongwon.kim@intel.com> (raw)
In-Reply-To: <20190423190503.32583-1-dongwon.kim@intel.com>

Setting bit5 (headerless msg for preemptable GPGPU context) of SAMPLER_MODE
register to enable support for the headless msgs on gen11. None of existing
use cases will be affected by this as this change makes both types of message
- headerless and w/ header supported at the same time. It also complies with
the new recommendation for the default bit value for the next gen.

v2: rewrote commit message to include more information

Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
---
 drivers/gpu/drm/i915/i915_reg.h  |  1 +
 drivers/gpu/drm/i915/intel_lrc.c | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index b74824f0b5b1..b45042f71c0a 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -8862,6 +8862,7 @@ enum {
 #define   GEN11_LSN_UNSLCVC_GAFS_HALF_SF_MAXALLOC	(1 << 7)
 
 #define GEN10_SAMPLER_MODE		_MMIO(0xE18C)
+#define   GEN11_SAMPLER_ENABLE_HEADLESS_MSG	(1 << 5)
 
 /* IVYBRIDGE DPF */
 #define GEN7_L3CDERRST1(slice)		_MMIO(0xB008 + (slice) * 0x200) /* L3CD Error Status 1 */
diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
index 4e0a351bfbca..07c8fe2a5549 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -1807,6 +1807,21 @@ static int gen8_init_common_ring(struct intel_engine_cs *engine)
 	return 0;
 }
 
+static int gen11_init_render_ring(struct intel_engine_cs *engine)
+{
+	struct drm_i915_private *dev_priv = engine->i915;
+	int ret;
+
+	ret = gen8_init_common_ring(engine);
+	if (ret)
+		return ret;
+
+	/* allow headerless messages for pre-emptable GPGPU contexts */
+	I915_WRITE(GEN10_SAMPLER_MODE, _MASKED_BIT_ENABLE(GEN11_SAMPLER_ENABLE_HEADLESS_MSG));
+
+	return 0;
+}
+
 static void execlists_reset_prepare(struct intel_engine_cs *engine)
 {
 	struct intel_engine_execlists * const execlists = &engine->execlists;
@@ -2516,6 +2531,9 @@ int logical_render_ring_init(struct intel_engine_cs *engine)
 		return ret;
 
 	/* Override some for render ring. */
+	if (INTEL_GEN(engine->i915) == 11)
+		engine->init_hw = gen11_init_render_ring;
+
 	engine->init_context = gen8_init_rcs_context;
 	engine->emit_flush = gen8_emit_flush_render;
 	engine->emit_fini_breadcrumb = gen8_emit_fini_breadcrumb_rcs;
-- 
2.17.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  parent reply	other threads:[~2019-04-24 20:42 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-23 19:05 [PATCH] drm/i915/gen11: enable support for headerless msgs Dongwon Kim
2019-04-23 19:32 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2019-04-23 19:53 ` ✓ Fi.CI.BAT: success " Patchwork
2019-04-23 19:59 ` [PATCH] " Chris Wilson
2019-04-23 22:55 ` ✓ Fi.CI.IGT: success for " Patchwork
2019-04-24 20:38 ` Dongwon Kim [this message]
2019-04-24 20:43   ` [PATCH] " Chris Wilson
2019-04-24 21:02 ` [PATCH v3] " Dongwon Kim
2019-04-25  5:50   ` [PATCH] " Chris Wilson
2019-05-24  8:03     ` Mika Kuoppala
2019-05-24  9:07       ` Chris Wilson
2019-04-25  7:31 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/gen11: enable support for headerless msgs (rev4) Patchwork
2019-04-25  7:54 ` ✗ Fi.CI.BAT: failure " Patchwork
2019-05-06 20:27   ` Dongwon Kim
2019-05-08  6:41     ` Peres, Martin
2019-05-23 21:13       ` Dongwon Kim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190424203857.7317-1-dongwon.kim@intel.com \
    --to=dongwon.kim@intel.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox