* [PATCH] drm/i915: Unify SLICE_UNIT_LEVEL_CLKGATE w/a for cnl
@ 2017-11-11 10:03 Chris Wilson
2017-11-11 10:21 ` ✓ Fi.CI.BAT: success for " Patchwork
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Chris Wilson @ 2017-11-11 10:03 UTC (permalink / raw)
To: intel-gfx; +Cc: Rodrigo Vivi, Mika Kuoppala
gem_workarounds reports that the SLICE_UNIT_LEVEL_CLKGATE write isn't
sticking. Commit 0a60797a0efb ("drm/i915: Implement
ReadHitWriteOnlyDisable.") presumes that SLICE_UNIT_LEVEL_CLKGATE is a
masked register in the context image, but commit 90007bca6162
("drm/i915/cnl: Introduce initial Cannonlake Workarounds.") lists it as
an ordering unmasked register. The masked write will be losing the
default settings if we trust the original commit. That gem_workarounds
reports the value is lost entirely is more worrying though -- but it
clearly suggests that it is not a masked register in the context image,
so unify both w/a to use the original rmw.
Fixes: 0a60797a0efb ("drm/i915: Implement ReadHitWriteOnlyDisable.")
References: 90007bca6162 ("drm/i915/cnl: Introduce initial Cannonlake Workarounds.")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Rafael Antognolli <rafael.antognolli@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Oscar Mateo <oscar.mateo@intel.com>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
---
drivers/gpu/drm/i915/intel_engine_cs.c | 3 ---
drivers/gpu/drm/i915/intel_pm.c | 8 +++++---
2 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
index 23694916662f..125e4d90c5f7 100644
--- a/drivers/gpu/drm/i915/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/intel_engine_cs.c
@@ -1324,9 +1324,6 @@ static int cnl_init_workarounds(struct intel_engine_cs *engine)
WA_SET_FIELD_MASKED(GEN8_CS_CHICKEN1, GEN9_PREEMPT_GPGPU_LEVEL_MASK,
GEN9_PREEMPT_GPGPU_COMMAND_LEVEL);
- /* ReadHitWriteOnlyDisable: cnl */
- WA_SET_BIT_MASKED(SLICE_UNIT_LEVEL_CLKGATE, RCCUNIT_CLKGATE_DIS);
-
/* WaEnablePreemptionGranularityControlByUMD:cnl */
I915_WRITE(GEN7_FF_SLICE_CS_CHICKEN1,
_MASKED_BIT_ENABLE(GEN9_FFSC_PERCTX_PREEMPT_CTRL));
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index c1a56809f143..6dee6b15f726 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -8474,11 +8474,13 @@ static void cnl_init_clock_gating(struct drm_i915_private *dev_priv)
I915_WRITE(DISP_ARB_CTL, I915_READ(DISP_ARB_CTL) |
DISP_FBC_MEMORY_WAKE);
+ val = I915_READ(SLICE_UNIT_LEVEL_CLKGATE);
+ /* ReadHitWriteOnlyDisable:cnl */
+ val |= RCCUNIT_CLKGATE_DIS;
/* WaSarbUnitClockGatingDisable:cnl (pre-prod) */
if (IS_CNL_REVID(dev_priv, CNL_REVID_A0, CNL_REVID_B0))
- I915_WRITE(SLICE_UNIT_LEVEL_CLKGATE,
- I915_READ(SLICE_UNIT_LEVEL_CLKGATE) |
- SARBUNIT_CLKGATE_DIS);
+ val |= SARBUNIT_CLKGATE_DIS;
+ I915_WRITE(SLICE_UNIT_LEVEL_CLKGATE, val);
/* Display WA #1133: WaFbcSkipSegments:cnl */
val = I915_READ(ILK_DPFC_CHICKEN);
--
2.15.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 5+ messages in thread
* ✓ Fi.CI.BAT: success for drm/i915: Unify SLICE_UNIT_LEVEL_CLKGATE w/a for cnl
2017-11-11 10:03 [PATCH] drm/i915: Unify SLICE_UNIT_LEVEL_CLKGATE w/a for cnl Chris Wilson
@ 2017-11-11 10:21 ` Patchwork
2017-11-11 11:12 ` ✓ Fi.CI.IGT: " Patchwork
2017-11-13 16:20 ` [PATCH] " Rafael Antognolli
2 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2017-11-11 10:21 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: Unify SLICE_UNIT_LEVEL_CLKGATE w/a for cnl
URL : https://patchwork.freedesktop.org/series/33659/
State : success
== Summary ==
Series 33659v1 drm/i915: Unify SLICE_UNIT_LEVEL_CLKGATE w/a for cnl
https://patchwork.freedesktop.org/api/1.0/series/33659/revisions/1/mbox/
Test kms_busy:
Subgroup basic-flip-b:
fail -> PASS (fi-gdg-551) fdo#102654
Test kms_cursor_legacy:
Subgroup basic-busy-flip-before-cursor-legacy:
fail -> PASS (fi-gdg-551) fdo#102618
Test kms_pipe_crc_basic:
Subgroup suspend-read-crc-pipe-c:
incomplete -> PASS (fi-kbl-7560u) fdo#102846
fdo#102654 https://bugs.freedesktop.org/show_bug.cgi?id=102654
fdo#102618 https://bugs.freedesktop.org/show_bug.cgi?id=102618
fdo#102846 https://bugs.freedesktop.org/show_bug.cgi?id=102846
fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:446s
fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:379s
fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:539s
fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:274s
fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:505s
fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:506s
fi-byt-j1900 total:289 pass:254 dwarn:0 dfail:0 fail:0 skip:35 time:495s
fi-byt-n2820 total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:485s
fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:429s
fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:268s
fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:542s
fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:429s
fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:437s
fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:426s
fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:477s
fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:463s
fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:483s
fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:523s
fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:476s
fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:534s
fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:565s
fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:451s
fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:542s
fi-skl-6700hq total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:563s
fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:516s
fi-skl-6770hq total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:497s
fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:553s
fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:427s
Blacklisted hosts:
fi-cfl-s total:289 pass:254 dwarn:3 dfail:0 fail:0 skip:32 time:535s
fi-cnl-y total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:564s
fi-skl-gvtdvm failed to connect after reboot
5718ed25274469e3b860f53debab11eb86588961 drm-tip: 2017y-11m-11d-00h-46m-17s UTC integration manifest
2bb4ee349e21 drm/i915: Unify SLICE_UNIT_LEVEL_CLKGATE w/a for cnl
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7080/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 5+ messages in thread
* ✓ Fi.CI.IGT: success for drm/i915: Unify SLICE_UNIT_LEVEL_CLKGATE w/a for cnl
2017-11-11 10:03 [PATCH] drm/i915: Unify SLICE_UNIT_LEVEL_CLKGATE w/a for cnl Chris Wilson
2017-11-11 10:21 ` ✓ Fi.CI.BAT: success for " Patchwork
@ 2017-11-11 11:12 ` Patchwork
2017-11-13 16:20 ` [PATCH] " Rafael Antognolli
2 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2017-11-11 11:12 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: Unify SLICE_UNIT_LEVEL_CLKGATE w/a for cnl
URL : https://patchwork.freedesktop.org/series/33659/
State : success
== Summary ==
Test kms_setmode:
Subgroup basic:
pass -> FAIL (shard-hsw) fdo#99912
Test drv_module_reload:
Subgroup basic-reload:
pass -> DMESG-WARN (shard-hsw) fdo#102707
fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
fdo#102707 https://bugs.freedesktop.org/show_bug.cgi?id=102707
shard-hsw total:2584 pass:1470 dwarn:4 dfail:2 fail:9 skip:1099 time:9445s
Blacklisted hosts:
shard-apl total:2584 pass:1623 dwarn:2 dfail:1 fail:22 skip:936 time:13158s
shard-kbl total:2505 pass:1650 dwarn:14 dfail:2 fail:24 skip:813 time:10647s
shard-snb total:2584 pass:1209 dwarn:2 dfail:2 fail:12 skip:1359 time:7826s
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7080/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/i915: Unify SLICE_UNIT_LEVEL_CLKGATE w/a for cnl
2017-11-11 10:03 [PATCH] drm/i915: Unify SLICE_UNIT_LEVEL_CLKGATE w/a for cnl Chris Wilson
2017-11-11 10:21 ` ✓ Fi.CI.BAT: success for " Patchwork
2017-11-11 11:12 ` ✓ Fi.CI.IGT: " Patchwork
@ 2017-11-13 16:20 ` Rafael Antognolli
2017-11-14 15:34 ` Chris Wilson
2 siblings, 1 reply; 5+ messages in thread
From: Rafael Antognolli @ 2017-11-13 16:20 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx, Rodrigo Vivi, Mika Kuoppala
On Sat, Nov 11, 2017 at 10:03:36AM +0000, Chris Wilson wrote:
> gem_workarounds reports that the SLICE_UNIT_LEVEL_CLKGATE write isn't
> sticking. Commit 0a60797a0efb ("drm/i915: Implement
> ReadHitWriteOnlyDisable.") presumes that SLICE_UNIT_LEVEL_CLKGATE is a
> masked register in the context image, but commit 90007bca6162
> ("drm/i915/cnl: Introduce initial Cannonlake Workarounds.") lists it as
> an ordering unmasked register. The masked write will be losing the
> default settings if we trust the original commit. That gem_workarounds
> reports the value is lost entirely is more worrying though -- but it
> clearly suggests that it is not a masked register in the context image,
> so unify both w/a to use the original rmw.
Thanks for fixing this.
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
> Fixes: 0a60797a0efb ("drm/i915: Implement ReadHitWriteOnlyDisable.")
> References: 90007bca6162 ("drm/i915/cnl: Introduce initial Cannonlake Workarounds.")
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Rafael Antognolli <rafael.antognolli@intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Cc: Oscar Mateo <oscar.mateo@intel.com>
> Cc: Mika Kuoppala <mika.kuoppala@intel.com>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> ---
> drivers/gpu/drm/i915/intel_engine_cs.c | 3 ---
> drivers/gpu/drm/i915/intel_pm.c | 8 +++++---
> 2 files changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
> index 23694916662f..125e4d90c5f7 100644
> --- a/drivers/gpu/drm/i915/intel_engine_cs.c
> +++ b/drivers/gpu/drm/i915/intel_engine_cs.c
> @@ -1324,9 +1324,6 @@ static int cnl_init_workarounds(struct intel_engine_cs *engine)
> WA_SET_FIELD_MASKED(GEN8_CS_CHICKEN1, GEN9_PREEMPT_GPGPU_LEVEL_MASK,
> GEN9_PREEMPT_GPGPU_COMMAND_LEVEL);
>
> - /* ReadHitWriteOnlyDisable: cnl */
> - WA_SET_BIT_MASKED(SLICE_UNIT_LEVEL_CLKGATE, RCCUNIT_CLKGATE_DIS);
> -
> /* WaEnablePreemptionGranularityControlByUMD:cnl */
> I915_WRITE(GEN7_FF_SLICE_CS_CHICKEN1,
> _MASKED_BIT_ENABLE(GEN9_FFSC_PERCTX_PREEMPT_CTRL));
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index c1a56809f143..6dee6b15f726 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -8474,11 +8474,13 @@ static void cnl_init_clock_gating(struct drm_i915_private *dev_priv)
> I915_WRITE(DISP_ARB_CTL, I915_READ(DISP_ARB_CTL) |
> DISP_FBC_MEMORY_WAKE);
>
> + val = I915_READ(SLICE_UNIT_LEVEL_CLKGATE);
> + /* ReadHitWriteOnlyDisable:cnl */
> + val |= RCCUNIT_CLKGATE_DIS;
> /* WaSarbUnitClockGatingDisable:cnl (pre-prod) */
> if (IS_CNL_REVID(dev_priv, CNL_REVID_A0, CNL_REVID_B0))
> - I915_WRITE(SLICE_UNIT_LEVEL_CLKGATE,
> - I915_READ(SLICE_UNIT_LEVEL_CLKGATE) |
> - SARBUNIT_CLKGATE_DIS);
> + val |= SARBUNIT_CLKGATE_DIS;
> + I915_WRITE(SLICE_UNIT_LEVEL_CLKGATE, val);
>
> /* Display WA #1133: WaFbcSkipSegments:cnl */
> val = I915_READ(ILK_DPFC_CHICKEN);
> --
> 2.15.0
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/i915: Unify SLICE_UNIT_LEVEL_CLKGATE w/a for cnl
2017-11-13 16:20 ` [PATCH] " Rafael Antognolli
@ 2017-11-14 15:34 ` Chris Wilson
0 siblings, 0 replies; 5+ messages in thread
From: Chris Wilson @ 2017-11-14 15:34 UTC (permalink / raw)
To: Rafael Antognolli; +Cc: intel-gfx, Rodrigo Vivi, Mika Kuoppala
Quoting Rafael Antognolli (2017-11-13 16:20:39)
> On Sat, Nov 11, 2017 at 10:03:36AM +0000, Chris Wilson wrote:
> > gem_workarounds reports that the SLICE_UNIT_LEVEL_CLKGATE write isn't
> > sticking. Commit 0a60797a0efb ("drm/i915: Implement
> > ReadHitWriteOnlyDisable.") presumes that SLICE_UNIT_LEVEL_CLKGATE is a
> > masked register in the context image, but commit 90007bca6162
> > ("drm/i915/cnl: Introduce initial Cannonlake Workarounds.") lists it as
> > an ordering unmasked register. The masked write will be losing the
> > default settings if we trust the original commit. That gem_workarounds
> > reports the value is lost entirely is more worrying though -- but it
> > clearly suggests that it is not a masked register in the context image,
> > so unify both w/a to use the original rmw.
>
> Thanks for fixing this.
>
> Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
So I am not 100% confident that the register write is sticking, but
applying the two w/a together does at least mean one isn't overwriting
the other!
We shall revisit this when we have the generic w/a checker. Thanks for
the review, pushed with bugzilla tag.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-11-14 15:35 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-11 10:03 [PATCH] drm/i915: Unify SLICE_UNIT_LEVEL_CLKGATE w/a for cnl Chris Wilson
2017-11-11 10:21 ` ✓ Fi.CI.BAT: success for " Patchwork
2017-11-11 11:12 ` ✓ Fi.CI.IGT: " Patchwork
2017-11-13 16:20 ` [PATCH] " Rafael Antognolli
2017-11-14 15:34 ` Chris Wilson
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.