public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Matt Roper <matthew.d.roper@intel.com>
To: intel-gfx@lists.freedesktop.org
Subject: [PATCH v2] drm/i915/gen11: Add Wa_1604278689:icl,ehl
Date: Mon, 19 Aug 2019 11:08:22 -0700	[thread overview]
Message-ID: <20190819180822.15665-1-matthew.d.roper@intel.com> (raw)
In-Reply-To: <20190819164606.GF27240@mdroper-desk.amr.corp.intel.com>

From the bspec:

        "SW must always program the FBC_RT_BASE_ADDR_REGISTER_* register
        in Render Engine to a reserved value (0xFFFF_FFFF) such that the
        programmed value doesn’t match the render target surface address
        programmed. This would disable render engine from generating
        modify messages to FBC unit in display."

This workaround seems a bit questionable as written since using all 1's
to the RT_BASE register implies setting bit 0, which is a flag to
indicate whether the address is valid.  Indeed, we start seeing CI
failures when we follow the directions here literally.  Let's slightly
deviate from the workaround instructions and set all bits _except_ for
bit 0 of FBC_RT_BASE_ADDR_REGISTER.

v2:
 - Mask off the RT_VALID bit.  Experimentation with CI trybot indicates
   that this is necessary to avoid reset failures on BCS.

Bspec: 11388
Bspec: 33451
Cc: José Roberto de Souza <jose.souza@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
---
 drivers/gpu/drm/i915/gt/intel_workarounds.c | 6 ++++++
 drivers/gpu/drm/i915/i915_reg.h             | 1 +
 2 files changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c
index 704ace01e7f5..f70b7a95bc23 100644
--- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
+++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
@@ -567,6 +567,12 @@ static void icl_ctx_workarounds_init(struct intel_engine_cs *engine,
 	/* allow headerless messages for preemptible GPGPU context */
 	WA_SET_BIT_MASKED(GEN10_SAMPLER_MODE,
 			  GEN11_SAMPLER_ENABLE_HEADLESS_MSG);
+
+	/* Wa_1604278689:icl,ehl */
+	wa_write_masked_or(wal, IVB_FBC_RT_BASE_UPPER,
+			   0, /* write-only register; skip validation */
+			   0xFFFFFFFF);
+	wa_write(wal, IVB_FBC_RT_BASE, 0xFFFFFFFF & ~ILK_FBC_RT_VALID);
 }
 
 static void
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index ea2f0fa2402d..bce7326329db 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -3170,6 +3170,7 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 
 /* Framebuffer compression for Ivybridge */
 #define IVB_FBC_RT_BASE			_MMIO(0x7020)
+#define IVB_FBC_RT_BASE_UPPER		_MMIO(0x7024)
 
 #define IPS_CTL		_MMIO(0x43408)
 #define   IPS_ENABLE	(1 << 31)
-- 
2.20.1

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

  reply	other threads:[~2019-08-19 18:08 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-15 21:58 [PATCH] drm/i915/gen11: Add Wa_1604278689:icl,ehl Matt Roper
2019-08-15 22:19 ` Chris Wilson
2019-08-15 22:24   ` Matt Roper
2019-08-15 23:52 ` ✗ Fi.CI.BAT: failure for " Patchwork
2019-08-16  7:07   ` Chris Wilson
2019-08-16 16:29     ` Matt Roper
2019-08-16 16:38       ` Chris Wilson
2019-08-19 16:13 ` [PATCH] " Ville Syrjälä
2019-08-19 16:46   ` Matt Roper
2019-08-19 18:08     ` Matt Roper [this message]
2019-08-19 20:48 ` ✓ Fi.CI.BAT: success for drm/i915/gen11: Add Wa_1604278689:icl,ehl (rev2) Patchwork
2019-08-20  5:06 ` ✓ Fi.CI.IGT: " Patchwork

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=20190819180822.15665-1-matthew.d.roper@intel.com \
    --to=matthew.d.roper@intel.com \
    --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