From: Mika Kuoppala <mika.kuoppala@linux.intel.com>
To: Arun Siluvery <arun.siluvery@linux.intel.com>,
intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH v2 3/4] drm/i915/gen9: Add WaFlushCoherentL3CacheLinesAtContextSwitch workaround
Date: Mon, 13 Jul 2015 16:08:24 +0300 [thread overview]
Message-ID: <87twt8mchj.fsf@gaia.fi.intel.com> (raw)
In-Reply-To: <1436783788-17745-1-git-send-email-arun.siluvery@linux.intel.com>
Arun Siluvery <arun.siluvery@linux.intel.com> writes:
> In Indirect context w/a batch buffer,
> +WaFlushCoherentL3CacheLinesAtContextSwitch:bdw
s/bdw/skl ?
>
> v2: address static checker warning where unsigned value was checked for
> less than zero which is never true.
>
Add ^^ (Dan Carpenter)
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
And remove this line as this would mean the workaround/bug
in question would be reported by Dan.
> Cc: Imre Deak <imre.deak@intel.com>
> Signed-off-by: Arun Siluvery <arun.siluvery@linux.intel.com>
> ---
> drivers/gpu/drm/i915/intel_lrc.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
> index 6a0b128..7536682 100644
> --- a/drivers/gpu/drm/i915/intel_lrc.c
> +++ b/drivers/gpu/drm/i915/intel_lrc.c
> @@ -1253,6 +1253,7 @@ static int gen9_init_indirectctx_bb(struct intel_engine_cs *ring,
> uint32_t *const batch,
> uint32_t *offset)
> {
> + int ret;
> struct drm_device *dev = ring->dev;
> uint32_t index = wa_ctx_start(wa_ctx, *offset, CACHELINE_DWORDS);
>
> @@ -1261,6 +1262,12 @@ static int gen9_init_indirectctx_bb(struct intel_engine_cs *ring,
> (IS_BROXTON(dev) && (INTEL_REVID(dev) == BXT_REVID_A0)))
> wa_ctx_emit(batch, MI_ARB_ON_OFF | MI_ARB_DISABLE);
>
> + /* WaFlushCoherentL3CacheLinesAtContextSwitch:skl,bxt */
> + ret = gen8_emit_flush_coherentl3_wa(ring, batch, index);
Not shown in this patch but the above function assumes default
value for GEN8_L3SQCREG4 which doesn't match what we have by
default.
This is due to skl_init_clock_gating() setting up one bit
in this register.
I think the proper way to fix this would be remove the
write from skl_init_clock_gating() and setup all
the bits in this register, even the default ones with
WA_SET_BIT() in gen9_init_workarounds().
And then search the default value out from the wa list,
when you build the batch.
But if you choose to go with default skl value of
0x48400000, make a comment to intel_pm.c and also
the gen8_emit_flush_coherentl3_wa() that you
have a dependency.
-Mika
> + if (ret < 0)
> + return ret;
> + index = ret;
> +
> /* Pad to end of cacheline */
> while (index % CACHELINE_DWORDS)
> wa_ctx_emit(batch, MI_NOOP);
> --
> 1.9.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2015-07-13 13:08 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-06 16:12 [PATCH v2 0/4] Gen9 WA Batch patches Arun Siluvery
2015-07-06 16:12 ` [PATCH v2 1/4] drm/i915: Enable WA batch buffers for Gen9 Arun Siluvery
2015-07-10 15:52 ` Mika Kuoppala
2015-07-10 16:16 ` Siluvery, Arun
2015-07-06 16:12 ` [PATCH v2 2/4] drm/i915/gen9: Add WaDisableCtxRestoreArbitration workaround Arun Siluvery
2015-07-07 17:41 ` Arun Siluvery
2015-07-13 12:31 ` Mika Kuoppala
2015-07-13 14:49 ` Daniel Vetter
2015-07-13 14:52 ` Daniel Vetter
2015-07-06 16:12 ` [PATCH v2 3/4] drm/i915/gen9: Add WaFlushCoherentL3CacheLinesAtContextSwitch workaround Arun Siluvery
2015-07-13 10:36 ` Arun Siluvery
2015-07-13 13:08 ` Mika Kuoppala [this message]
2015-07-06 16:12 ` [PATCH v2 4/4] drm/i915/gen9: Add WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken Arun Siluvery
2015-07-07 17:43 ` Arun Siluvery
2015-07-13 13:16 ` Mika Kuoppala
2015-07-14 9:34 ` Dave Gordon
2015-07-14 9:52 ` Mika Kuoppala
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=87twt8mchj.fsf@gaia.fi.intel.com \
--to=mika.kuoppala@linux.intel.com \
--cc=arun.siluvery@linux.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.