* [PATCH 00/18] A few more workarounds
@ 2015-02-09 19:33 Damien Lespiau
2015-02-09 19:33 ` [PATCH 01/18] drm/i915: Support not having an init clock gating function defined Damien Lespiau
` (17 more replies)
0 siblings, 18 replies; 49+ messages in thread
From: Damien Lespiau @ 2015-02-09 19:33 UTC (permalink / raw)
To: intel-gfx
Following Nick's work, I found a few more.
--
Damien
Damien Lespiau (18):
drm/i915: Support not having an init clock gating function defined
drm/i915/skl: Implement WaDisableHBR2
drm/i915/skl: Document the WM read latency W/A with its name
drm/i915/skl: Provide a gen9 specific init_render_ring()
drm/i915/skl: Make the init clock gating function skylake specific
drm/i915/skl: Implement WaSetGAPSunitClckGateDisable
drm/i915/skl: Implement
WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken
drm/i915/skl: Document that we implement WaRsClearFWBitsAtReset
drm/i915/skl: Implement WaEnableLbsSlaRetryTimerDecrement
drm/i915/skl: Implement WaDisableVFUnitClockGating
drm/i915/skl: Introduce a SKL specific init_workarounds()
drm/i915/skl: Implement WaDisablePowerCompilerClockGating
drm/i915/skl: Implement WaDisablePartialResolveInVc
drm/i915/skl: Implement WaDisableLSQCROPERFforOCL
drm/i915/skl: Implement WaDisableHDCInvalidation
drm/i915/skl: Implement WaDisableChickenBitTSGBarrierAckForFFSliceCS
drm/i915/skl: Implement WaCcsTlbPrefetchDisable:skl
drm/i915/skl: Implement WaBarrierPerformanceFixDisable
drivers/gpu/drm/i915/i915_drv.h | 1 +
drivers/gpu/drm/i915/i915_reg.h | 24 +++++++++++++++++--
drivers/gpu/drm/i915/intel_dp.c | 5 +++-
drivers/gpu/drm/i915/intel_lrc.c | 16 ++++++++++++-
drivers/gpu/drm/i915/intel_pm.c | 41 ++++++++++++++++++++++++++++++---
drivers/gpu/drm/i915/intel_ringbuffer.c | 41 ++++++++++++++++++++++++++++++++-
drivers/gpu/drm/i915/intel_uncore.c | 1 +
7 files changed, 121 insertions(+), 8 deletions(-)
--
1.8.3.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* [PATCH 01/18] drm/i915: Support not having an init clock gating function defined
2015-02-09 19:33 [PATCH 00/18] A few more workarounds Damien Lespiau
@ 2015-02-09 19:33 ` Damien Lespiau
2015-02-10 9:39 ` Daniel Vetter
2015-02-11 14:44 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 02/18] drm/i915/skl: Implement WaDisableHBR2 Damien Lespiau
` (16 subsequent siblings)
17 siblings, 2 replies; 49+ messages in thread
From: Damien Lespiau @ 2015-02-09 19:33 UTC (permalink / raw)
To: intel-gfx
When enabling new platforms, we may not have any W/A to apply,
especially that, now, a bunch of them have to be done from the ring.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
drivers/gpu/drm/i915/intel_pm.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 3c64810..a3b979d 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -6386,7 +6386,8 @@ void intel_init_clock_gating(struct drm_device *dev)
{
struct drm_i915_private *dev_priv = dev->dev_private;
- dev_priv->display.init_clock_gating(dev);
+ if (dev_priv->display.init_clock_gating)
+ dev_priv->display.init_clock_gating(dev);
}
void intel_suspend_hw(struct drm_device *dev)
--
1.8.3.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 49+ messages in thread
* [PATCH 02/18] drm/i915/skl: Implement WaDisableHBR2
2015-02-09 19:33 [PATCH 00/18] A few more workarounds Damien Lespiau
2015-02-09 19:33 ` [PATCH 01/18] drm/i915: Support not having an init clock gating function defined Damien Lespiau
@ 2015-02-09 19:33 ` Damien Lespiau
2015-02-11 14:49 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 03/18] drm/i915/skl: Document the WM read latency W/A with its name Damien Lespiau
` (15 subsequent siblings)
17 siblings, 1 reply; 49+ messages in thread
From: Damien Lespiau @ 2015-02-09 19:33 UTC (permalink / raw)
To: intel-gfx
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
drivers/gpu/drm/i915/intel_dp.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index d4c82d7..4a60c6a 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -129,7 +129,10 @@ intel_dp_max_link_bw(struct intel_dp *intel_dp)
case DP_LINK_BW_2_7:
break;
case DP_LINK_BW_5_4: /* 1.2 capable displays may advertise higher bw */
- if (((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) ||
+ if (IS_SKYLAKE(dev) && dev->pdev->revision <= 0x1)
+ /* WaDisableHBR2:skl */
+ max_link_bw = DP_LINK_BW_2_7;
+ else if (((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) ||
INTEL_INFO(dev)->gen >= 8) &&
intel_dp->dpcd[DP_DPCD_REV] >= 0x12)
max_link_bw = DP_LINK_BW_5_4;
--
1.8.3.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 49+ messages in thread
* [PATCH 03/18] drm/i915/skl: Document the WM read latency W/A with its name
2015-02-09 19:33 [PATCH 00/18] A few more workarounds Damien Lespiau
2015-02-09 19:33 ` [PATCH 01/18] drm/i915: Support not having an init clock gating function defined Damien Lespiau
2015-02-09 19:33 ` [PATCH 02/18] drm/i915/skl: Implement WaDisableHBR2 Damien Lespiau
@ 2015-02-09 19:33 ` Damien Lespiau
2015-02-11 14:51 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 04/18] drm/i915/skl: Provide a gen9 specific init_render_ring() Damien Lespiau
` (14 subsequent siblings)
17 siblings, 1 reply; 49+ messages in thread
From: Damien Lespiau @ 2015-02-09 19:33 UTC (permalink / raw)
To: intel-gfx
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
drivers/gpu/drm/i915/intel_pm.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index a3b979d..6fd6f26 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -1701,6 +1701,8 @@ static void intel_read_wm_latency(struct drm_device *dev, uint16_t wm[8])
GEN9_MEM_LATENCY_LEVEL_MASK;
/*
+ * WaWmMemoryReadLatency:skl
+ *
* punit doesn't take into account the read latency so we need
* to add 2us to the various latency levels we retrieve from
* the punit.
--
1.8.3.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 49+ messages in thread
* [PATCH 04/18] drm/i915/skl: Provide a gen9 specific init_render_ring()
2015-02-09 19:33 [PATCH 00/18] A few more workarounds Damien Lespiau
` (2 preceding siblings ...)
2015-02-09 19:33 ` [PATCH 03/18] drm/i915/skl: Document the WM read latency W/A with its name Damien Lespiau
@ 2015-02-09 19:33 ` Damien Lespiau
2015-02-11 14:52 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 05/18] drm/i915/skl: Make the init clock gating function skylake specific Damien Lespiau
` (13 subsequent siblings)
17 siblings, 1 reply; 49+ messages in thread
From: Damien Lespiau @ 2015-02-09 19:33 UTC (permalink / raw)
To: intel-gfx
WaDisableAsyncFlipPerfMode isn't listed for SKL and
INSTPM_FORCE_ORDERING is MBZ so let's make a gen9 specific render init
function.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
drivers/gpu/drm/i915/intel_lrc.c | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
index d05f3bc..fe25ced 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -1149,6 +1149,17 @@ static int gen8_init_render_ring(struct intel_engine_cs *ring)
return init_workarounds_ring(ring);
}
+static int gen9_init_render_ring(struct intel_engine_cs *ring)
+{
+ int ret;
+
+ ret = gen8_init_common_ring(ring);
+ if (ret)
+ return ret;
+
+ return init_workarounds_ring(ring);
+}
+
static int gen8_emit_bb_start(struct intel_ringbuffer *ringbuf,
struct intel_context *ctx,
u64 offset, unsigned flags)
@@ -1408,7 +1419,10 @@ static int logical_render_ring_init(struct drm_device *dev)
if (HAS_L3_DPF(dev))
ring->irq_keep_mask |= GT_RENDER_L3_PARITY_ERROR_INTERRUPT;
- ring->init_hw = gen8_init_render_ring;
+ if (INTEL_INFO(dev)->gen >= 9)
+ ring->init_hw = gen9_init_render_ring;
+ else
+ ring->init_hw = gen8_init_render_ring;
ring->init_context = gen8_init_rcs_context;
ring->cleanup = intel_fini_pipe_control;
ring->get_seqno = gen8_get_seqno;
--
1.8.3.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 49+ messages in thread
* [PATCH 05/18] drm/i915/skl: Make the init clock gating function skylake specific
2015-02-09 19:33 [PATCH 00/18] A few more workarounds Damien Lespiau
` (3 preceding siblings ...)
2015-02-09 19:33 ` [PATCH 04/18] drm/i915/skl: Provide a gen9 specific init_render_ring() Damien Lespiau
@ 2015-02-09 19:33 ` Damien Lespiau
2015-02-11 14:56 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 06/18] drm/i915/skl: Implement WaSetGAPSunitClckGateDisable Damien Lespiau
` (12 subsequent siblings)
17 siblings, 1 reply; 49+ messages in thread
From: Damien Lespiau @ 2015-02-09 19:33 UTC (permalink / raw)
To: intel-gfx
We'll gather cross-gen9 W/A in a separate function later.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
drivers/gpu/drm/i915/intel_pm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 6fd6f26..03e27c2 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -52,7 +52,7 @@
#define INTEL_RC6p_ENABLE (1<<1)
#define INTEL_RC6pp_ENABLE (1<<2)
-static void gen9_init_clock_gating(struct drm_device *dev)
+static void skl_init_clock_gating(struct drm_device *dev)
{
struct drm_i915_private *dev_priv = dev->dev_private;
@@ -6415,7 +6415,7 @@ void intel_init_pm(struct drm_device *dev)
if (INTEL_INFO(dev)->gen >= 9) {
skl_setup_wm_latency(dev);
- dev_priv->display.init_clock_gating = gen9_init_clock_gating;
+ dev_priv->display.init_clock_gating = skl_init_clock_gating;
dev_priv->display.update_wm = skl_update_wm;
dev_priv->display.update_sprite_wm = skl_update_sprite_wm;
} else if (HAS_PCH_SPLIT(dev)) {
--
1.8.3.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 49+ messages in thread
* [PATCH 06/18] drm/i915/skl: Implement WaSetGAPSunitClckGateDisable
2015-02-09 19:33 [PATCH 00/18] A few more workarounds Damien Lespiau
` (4 preceding siblings ...)
2015-02-09 19:33 ` [PATCH 05/18] drm/i915/skl: Make the init clock gating function skylake specific Damien Lespiau
@ 2015-02-09 19:33 ` Damien Lespiau
2015-02-11 14:56 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 07/18] drm/i915/skl: Implement WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken Damien Lespiau
` (11 subsequent siblings)
17 siblings, 1 reply; 49+ messages in thread
From: Damien Lespiau @ 2015-02-09 19:33 UTC (permalink / raw)
To: intel-gfx
Let's also take the opportunity the remove the comment telling it's a
pre-prod W/A, it should be obvious from the stepping test.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
drivers/gpu/drm/i915/i915_reg.h | 1 +
drivers/gpu/drm/i915/intel_pm.c | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 4ee1964..578fd90 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -6016,6 +6016,7 @@ enum skl_disp_power_wells {
#define GEN6_RSTCTL 0x9420
#define GEN8_UCGCTL6 0x9430
+#define GEN8_GAPSUNIT_CLOCK_GATE_DISABLE (1<<24)
#define GEN8_SDEUNIT_CLOCK_GATE_DISABLE (1<<14)
#define GEN6_GFXPAUSE 0xA000
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 03e27c2..2c66423 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -59,9 +59,10 @@ static void skl_init_clock_gating(struct drm_device *dev)
if (INTEL_REVID(dev) == SKL_REVID_A0) {
/*
* WaDisableSDEUnitClockGating:skl
- * This seems to be a pre-production w/a.
+ * WaSetGAPSunitClckGateDisable:skl
*/
I915_WRITE(GEN8_UCGCTL6, I915_READ(GEN8_UCGCTL6) |
+ GEN8_GAPSUNIT_CLOCK_GATE_DISABLE |
GEN8_SDEUNIT_CLOCK_GATE_DISABLE);
}
}
--
1.8.3.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 49+ messages in thread
* [PATCH 07/18] drm/i915/skl: Implement WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken
2015-02-09 19:33 [PATCH 00/18] A few more workarounds Damien Lespiau
` (5 preceding siblings ...)
2015-02-09 19:33 ` [PATCH 06/18] drm/i915/skl: Implement WaSetGAPSunitClckGateDisable Damien Lespiau
@ 2015-02-09 19:33 ` Damien Lespiau
2015-02-12 13:29 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 08/18] drm/i915/skl: Document that we implement WaRsClearFWBitsAtReset Damien Lespiau
` (10 subsequent siblings)
17 siblings, 1 reply; 49+ messages in thread
From: Damien Lespiau @ 2015-02-09 19:33 UTC (permalink / raw)
To: intel-gfx
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
drivers/gpu/drm/i915/i915_reg.h | 4 ++++
drivers/gpu/drm/i915/intel_ringbuffer.c | 8 ++++++++
2 files changed, 12 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 578fd90..cb66c8f 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -5237,12 +5237,16 @@ enum skl_disp_power_wells {
/* GEN7 chicken */
#define GEN7_COMMON_SLICE_CHICKEN1 0x7010
# define GEN7_CSC1_RHWO_OPT_DISABLE_IN_RCC ((1<<10) | (1<<26))
+# define GEN9_RHWO_OPTIMIZATION_DISABLE (1<<14)
#define COMMON_SLICE_CHICKEN2 0x7014
# define GEN8_CSC2_SBE_VUE_CACHE_CONSERVATIVE (1<<0)
#define HIZ_CHICKEN 0x7018
# define CHV_HZ_8X8_MODE_IN_1X (1<<15)
+#define GEN9_SLICE_COMMON_ECO_CHICKEN0 0x7308
+#define DISABLE_PIXEL_MASK_CAMMING (1<<14)
+
#define GEN7_L3SQCREG1 0xB010
#define VLV_B0_WA_L3SQCREG1_VALUE 0x00D30000
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index 293d1b6..b15d596 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -897,6 +897,14 @@ static int gen9_init_workarounds(struct intel_engine_cs *ring)
~GEN9_DG_MIRROR_FIX_ENABLE);
}
+ if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0) {
+ /* WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken:skl */
+ WA_SET_BIT_MASKED(GEN7_COMMON_SLICE_CHICKEN1,
+ GEN9_RHWO_OPTIMIZATION_DISABLE);
+ WA_SET_BIT_MASKED(GEN9_SLICE_COMMON_ECO_CHICKEN0,
+ DISABLE_PIXEL_MASK_CAMMING);
+ }
+
if (INTEL_REVID(dev) >= SKL_REVID_C0) {
/* WaEnableYV12BugFixInHalfSliceChicken7:skl */
WA_SET_BIT_MASKED(GEN9_HALF_SLICE_CHICKEN7,
--
1.8.3.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 49+ messages in thread
* [PATCH 08/18] drm/i915/skl: Document that we implement WaRsClearFWBitsAtReset
2015-02-09 19:33 [PATCH 00/18] A few more workarounds Damien Lespiau
` (6 preceding siblings ...)
2015-02-09 19:33 ` [PATCH 07/18] drm/i915/skl: Implement WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken Damien Lespiau
@ 2015-02-09 19:33 ` Damien Lespiau
2015-02-11 15:08 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 09/18] drm/i915/skl: Implement WaEnableLbsSlaRetryTimerDecrement Damien Lespiau
` (9 subsequent siblings)
17 siblings, 1 reply; 49+ messages in thread
From: Damien Lespiau @ 2015-02-09 19:33 UTC (permalink / raw)
To: intel-gfx
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
drivers/gpu/drm/i915/intel_uncore.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
index c47a3ba..ad71575 100644
--- a/drivers/gpu/drm/i915/intel_uncore.c
+++ b/drivers/gpu/drm/i915/intel_uncore.c
@@ -972,6 +972,7 @@ static void fw_domain_init(struct drm_i915_private *dev_priv,
d->val_set = FORCEWAKE_KERNEL;
d->val_clear = 0;
} else {
+ /* WaRsClearFWBitsAtReset:bdw,skl */
d->val_reset = _MASKED_BIT_DISABLE(0xffff);
d->val_set = _MASKED_BIT_ENABLE(FORCEWAKE_KERNEL);
d->val_clear = _MASKED_BIT_DISABLE(FORCEWAKE_KERNEL);
--
1.8.3.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 49+ messages in thread
* [PATCH 09/18] drm/i915/skl: Implement WaEnableLbsSlaRetryTimerDecrement
2015-02-09 19:33 [PATCH 00/18] A few more workarounds Damien Lespiau
` (7 preceding siblings ...)
2015-02-09 19:33 ` [PATCH 08/18] drm/i915/skl: Document that we implement WaRsClearFWBitsAtReset Damien Lespiau
@ 2015-02-09 19:33 ` Damien Lespiau
2015-02-12 15:09 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 10/18] drm/i915/skl: Implement WaDisableVFUnitClockGating Damien Lespiau
` (8 subsequent siblings)
17 siblings, 1 reply; 49+ messages in thread
From: Damien Lespiau @ 2015-02-09 19:33 UTC (permalink / raw)
To: intel-gfx
This W/A is put in a gen9 specific function because it may well be
needed on other gen9 platforms.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
drivers/gpu/drm/i915/i915_reg.h | 3 +++
drivers/gpu/drm/i915/intel_pm.c | 11 +++++++++++
2 files changed, 14 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index cb66c8f..2043e82 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -5275,6 +5275,9 @@ enum skl_disp_power_wells {
#define HSW_SCRATCH1 0xb038
#define HSW_SCRATCH1_L3_DATA_ATOMICS_DISABLE (1<<27)
+#define BDW_SCRATCH1 0xb11c
+#define GEN9_LBS_SLA_RETRY_TIMER_DECREMENT_ENABLE (1<<2)
+
/* PCH */
/* south display engine interrupt: IBX */
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 2c66423..ed029e7 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -52,10 +52,21 @@
#define INTEL_RC6p_ENABLE (1<<1)
#define INTEL_RC6pp_ENABLE (1<<2)
+static void gen9_init_clock_gating(struct drm_device *dev)
+{
+ struct drm_i915_private *dev_priv = dev->dev_private;
+
+ /* WaEnableLbsSlaRetryTimerDecrement:skl */
+ I915_WRITE(BDW_SCRATCH1, I915_READ(BDW_SCRATCH1) |
+ GEN9_LBS_SLA_RETRY_TIMER_DECREMENT_ENABLE);
+}
+
static void skl_init_clock_gating(struct drm_device *dev)
{
struct drm_i915_private *dev_priv = dev->dev_private;
+ gen9_init_clock_gating(dev);
+
if (INTEL_REVID(dev) == SKL_REVID_A0) {
/*
* WaDisableSDEUnitClockGating:skl
--
1.8.3.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 49+ messages in thread
* [PATCH 10/18] drm/i915/skl: Implement WaDisableVFUnitClockGating
2015-02-09 19:33 [PATCH 00/18] A few more workarounds Damien Lespiau
` (8 preceding siblings ...)
2015-02-09 19:33 ` [PATCH 09/18] drm/i915/skl: Implement WaEnableLbsSlaRetryTimerDecrement Damien Lespiau
@ 2015-02-09 19:33 ` Damien Lespiau
2015-02-11 15:21 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 11/18] drm/i915/skl: Introduce a SKL specific init_workarounds() Damien Lespiau
` (7 subsequent siblings)
17 siblings, 1 reply; 49+ messages in thread
From: Damien Lespiau @ 2015-02-09 19:33 UTC (permalink / raw)
To: intel-gfx
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
drivers/gpu/drm/i915/i915_reg.h | 1 +
drivers/gpu/drm/i915/intel_pm.c | 4 ++++
2 files changed, 5 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 2043e82..a457c28 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -6007,6 +6007,7 @@ enum skl_disp_power_wells {
# define GEN6_CSUNIT_CLOCK_GATE_DISABLE (1 << 7)
#define GEN6_UCGCTL2 0x9404
+# define GEN6_VFUNIT_CLOCK_GATE_DISABLE (1 << 31)
# define GEN7_VDSUNIT_CLOCK_GATE_DISABLE (1 << 30)
# define GEN7_TDLUNIT_CLOCK_GATE_DISABLE (1 << 22)
# define GEN6_RCZUNIT_CLOCK_GATE_DISABLE (1 << 13)
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index ed029e7..ff4e289 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -75,6 +75,10 @@ static void skl_init_clock_gating(struct drm_device *dev)
I915_WRITE(GEN8_UCGCTL6, I915_READ(GEN8_UCGCTL6) |
GEN8_GAPSUNIT_CLOCK_GATE_DISABLE |
GEN8_SDEUNIT_CLOCK_GATE_DISABLE);
+
+ /* WaDisableVFUnitClockGating:skl */
+ I915_WRITE(GEN6_UCGCTL2, I915_READ(GEN6_UCGCTL2) |
+ GEN6_VFUNIT_CLOCK_GATE_DISABLE);
}
}
--
1.8.3.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 49+ messages in thread
* [PATCH 11/18] drm/i915/skl: Introduce a SKL specific init_workarounds()
2015-02-09 19:33 [PATCH 00/18] A few more workarounds Damien Lespiau
` (9 preceding siblings ...)
2015-02-09 19:33 ` [PATCH 10/18] drm/i915/skl: Implement WaDisableVFUnitClockGating Damien Lespiau
@ 2015-02-09 19:33 ` Damien Lespiau
2015-02-11 15:24 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 12/18] drm/i915/skl: Implement WaDisablePowerCompilerClockGating Damien Lespiau
` (6 subsequent siblings)
17 siblings, 1 reply; 49+ messages in thread
From: Damien Lespiau @ 2015-02-09 19:33 UTC (permalink / raw)
To: intel-gfx
This function will host SKL-only W/As.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
drivers/gpu/drm/i915/intel_ringbuffer.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index b15d596..27d101c 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -928,6 +928,13 @@ static int gen9_init_workarounds(struct intel_engine_cs *ring)
return 0;
}
+static int skl_init_workarounds(struct intel_engine_cs *ring)
+{
+ gen9_init_workarounds(ring);
+
+ return 0;
+}
+
int init_workarounds_ring(struct intel_engine_cs *ring)
{
struct drm_device *dev = ring->dev;
@@ -943,7 +950,9 @@ int init_workarounds_ring(struct intel_engine_cs *ring)
if (IS_CHERRYVIEW(dev))
return chv_init_workarounds(ring);
- if (IS_GEN9(dev))
+ if (IS_SKYLAKE(dev))
+ return skl_init_workarounds(ring);
+ else if (IS_GEN9(dev))
return gen9_init_workarounds(ring);
return 0;
--
1.8.3.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 49+ messages in thread
* [PATCH 12/18] drm/i915/skl: Implement WaDisablePowerCompilerClockGating
2015-02-09 19:33 [PATCH 00/18] A few more workarounds Damien Lespiau
` (10 preceding siblings ...)
2015-02-09 19:33 ` [PATCH 11/18] drm/i915/skl: Introduce a SKL specific init_workarounds() Damien Lespiau
@ 2015-02-09 19:33 ` Damien Lespiau
2015-02-11 15:29 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 13/18] drm/i915/skl: Implement WaDisablePartialResolveInVc Damien Lespiau
` (5 subsequent siblings)
17 siblings, 1 reply; 49+ messages in thread
From: Damien Lespiau @ 2015-02-09 19:33 UTC (permalink / raw)
To: intel-gfx
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
drivers/gpu/drm/i915/i915_reg.h | 5 +++--
drivers/gpu/drm/i915/intel_ringbuffer.c | 8 ++++++++
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index a457c28..fdfbdb3 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -5241,8 +5241,9 @@ enum skl_disp_power_wells {
#define COMMON_SLICE_CHICKEN2 0x7014
# define GEN8_CSC2_SBE_VUE_CACHE_CONSERVATIVE (1<<0)
-#define HIZ_CHICKEN 0x7018
-# define CHV_HZ_8X8_MODE_IN_1X (1<<15)
+#define HIZ_CHICKEN 0x7018
+# define CHV_HZ_8X8_MODE_IN_1X (1<<15)
+# define BDW_HIZ_POWER_COMPILER_CLOCK_GATING_DISABLE (1<<3)
#define GEN9_SLICE_COMMON_ECO_CHICKEN0 0x7308
#define DISABLE_PIXEL_MASK_CAMMING (1<<14)
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index 27d101c..3135192 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -930,8 +930,16 @@ static int gen9_init_workarounds(struct intel_engine_cs *ring)
static int skl_init_workarounds(struct intel_engine_cs *ring)
{
+ struct drm_device *dev = ring->dev;
+ struct drm_i915_private *dev_priv = dev->dev_private;
+
gen9_init_workarounds(ring);
+ /* WaDisablePowerCompilerClockGating:skl */
+ if (INTEL_REVID(dev) == SKL_REVID_B0)
+ WA_SET_BIT_MASKED(HIZ_CHICKEN,
+ BDW_HIZ_POWER_COMPILER_CLOCK_GATING_DISABLE);
+
return 0;
}
--
1.8.3.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 49+ messages in thread
* [PATCH 13/18] drm/i915/skl: Implement WaDisablePartialResolveInVc
2015-02-09 19:33 [PATCH 00/18] A few more workarounds Damien Lespiau
` (11 preceding siblings ...)
2015-02-09 19:33 ` [PATCH 12/18] drm/i915/skl: Implement WaDisablePowerCompilerClockGating Damien Lespiau
@ 2015-02-09 19:33 ` Damien Lespiau
2015-02-11 15:31 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 14/18] drm/i915/skl: Implement WaDisableLSQCROPERFforOCL Damien Lespiau
` (4 subsequent siblings)
17 siblings, 1 reply; 49+ messages in thread
From: Damien Lespiau @ 2015-02-09 19:33 UTC (permalink / raw)
To: intel-gfx
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
drivers/gpu/drm/i915/i915_reg.h | 1 +
drivers/gpu/drm/i915/intel_ringbuffer.c | 3 +++
2 files changed, 4 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index fdfbdb3..d519ed9 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -1483,6 +1483,7 @@ enum skl_disp_power_wells {
#define CACHE_MODE_1 0x7004 /* IVB+ */
#define PIXEL_SUBSPAN_COLLECT_OPT_DISABLE (1<<6)
#define GEN8_4x4_STC_OPTIMIZATION_DISABLE (1<<6)
+#define GEN9_PARTIAL_RESOLVE_IN_VC_DISABLE (1<<1)
#define GEN6_BLITTER_ECOSKPD 0x221d0
#define GEN6_BLITTER_LOCK_SHIFT 16
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index 3135192..db83baf 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -925,6 +925,9 @@ static int gen9_init_workarounds(struct intel_engine_cs *ring)
/* Wa4x4STCOptimizationDisable:skl */
WA_SET_BIT_MASKED(CACHE_MODE_1, GEN8_4x4_STC_OPTIMIZATION_DISABLE);
+ /* WaDisablePartialResolveInVc:skl */
+ WA_SET_BIT_MASKED(CACHE_MODE_1, GEN9_PARTIAL_RESOLVE_IN_VC_DISABLE);
+
return 0;
}
--
1.8.3.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 49+ messages in thread
* [PATCH 14/18] drm/i915/skl: Implement WaDisableLSQCROPERFforOCL
2015-02-09 19:33 [PATCH 00/18] A few more workarounds Damien Lespiau
` (12 preceding siblings ...)
2015-02-09 19:33 ` [PATCH 13/18] drm/i915/skl: Implement WaDisablePartialResolveInVc Damien Lespiau
@ 2015-02-09 19:33 ` Damien Lespiau
2015-02-11 15:34 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 15/18] drm/i915/skl: Implement WaDisableHDCInvalidation Damien Lespiau
` (3 subsequent siblings)
17 siblings, 1 reply; 49+ messages in thread
From: Damien Lespiau @ 2015-02-09 19:33 UTC (permalink / raw)
To: intel-gfx
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
drivers/gpu/drm/i915/i915_drv.h | 1 +
drivers/gpu/drm/i915/i915_reg.h | 3 +++
drivers/gpu/drm/i915/intel_pm.c | 5 +++++
3 files changed, 9 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index c0b8644..0765bd1 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -2391,6 +2391,7 @@ struct drm_i915_cmd_table {
#define SKL_REVID_B0 (0x1)
#define SKL_REVID_C0 (0x2)
#define SKL_REVID_D0 (0x3)
+#define SKL_REVID_E0 (0x4)
/*
* The genX designation typically refers to the render engine, so render
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index d519ed9..3ae7a09 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -5264,6 +5264,9 @@ enum skl_disp_power_wells {
#define GEN7_L3SQCREG4 0xb034
#define L3SQ_URB_READ_CAM_MATCH_DISABLE (1<<27)
+#define GEN8_L3SQCREG4 0xb118
+#define GEN8_LQSC_RO_PERF_DIS (1<<27)
+
/* GEN8 chicken */
#define HDC_CHICKEN0 0x7300
#define HDC_FORCE_NON_COHERENT (1<<4)
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index ff4e289..f53ef11 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -80,6 +80,11 @@ static void skl_init_clock_gating(struct drm_device *dev)
I915_WRITE(GEN6_UCGCTL2, I915_READ(GEN6_UCGCTL2) |
GEN6_VFUNIT_CLOCK_GATE_DISABLE);
}
+
+ if (INTEL_REVID(dev) <= SKL_REVID_E0)
+ /* WaDisableLSQCROPERFforOCL:skl */
+ I915_WRITE(GEN8_L3SQCREG4, I915_READ(GEN8_L3SQCREG4) |
+ GEN8_LQSC_RO_PERF_DIS);
}
static void i915_pineview_get_mem_freq(struct drm_device *dev)
--
1.8.3.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 49+ messages in thread
* [PATCH 15/18] drm/i915/skl: Implement WaDisableHDCInvalidation
2015-02-09 19:33 [PATCH 00/18] A few more workarounds Damien Lespiau
` (13 preceding siblings ...)
2015-02-09 19:33 ` [PATCH 14/18] drm/i915/skl: Implement WaDisableLSQCROPERFforOCL Damien Lespiau
@ 2015-02-09 19:33 ` Damien Lespiau
2015-02-11 15:39 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 16/18] drm/i915/skl: Implement WaDisableChickenBitTSGBarrierAckForFFSliceCS Damien Lespiau
` (2 subsequent siblings)
17 siblings, 1 reply; 49+ messages in thread
From: Damien Lespiau @ 2015-02-09 19:33 UTC (permalink / raw)
To: intel-gfx
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
drivers/gpu/drm/i915/i915_reg.h | 1 +
drivers/gpu/drm/i915/intel_pm.c | 6 ++++++
2 files changed, 7 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 3ae7a09..b363c5e 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -140,6 +140,7 @@
#define GEN8_RING_PDP_LDW(ring, n) ((ring)->mmio_base+0x270 + (n) * 8)
#define GAM_ECOCHK 0x4090
+#define BDW_DISABLE_HDC_INVALIDATION (1<<25)
#define ECOCHK_SNB_BIT (1<<10)
#define HSW_ECOCHK_ARB_PRIO_SOL (1<<6)
#define ECOCHK_PPGTT_CACHE64B (0x3<<3)
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index f53ef11..8f9149b 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -81,6 +81,12 @@ static void skl_init_clock_gating(struct drm_device *dev)
GEN6_VFUNIT_CLOCK_GATE_DISABLE);
}
+ if (INTEL_REVID(dev) <= SKL_REVID_D0)
+ /* WaDisableHDCInvalidation:skl */
+ I915_WRITE(GAM_ECOCHK, I915_READ(GAM_ECOCHK) |
+ BDW_DISABLE_HDC_INVALIDATION);
+
+
if (INTEL_REVID(dev) <= SKL_REVID_E0)
/* WaDisableLSQCROPERFforOCL:skl */
I915_WRITE(GEN8_L3SQCREG4, I915_READ(GEN8_L3SQCREG4) |
--
1.8.3.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 49+ messages in thread
* [PATCH 16/18] drm/i915/skl: Implement WaDisableChickenBitTSGBarrierAckForFFSliceCS
2015-02-09 19:33 [PATCH 00/18] A few more workarounds Damien Lespiau
` (14 preceding siblings ...)
2015-02-09 19:33 ` [PATCH 15/18] drm/i915/skl: Implement WaDisableHDCInvalidation Damien Lespiau
@ 2015-02-09 19:33 ` Damien Lespiau
2015-02-11 15:42 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 17/18] drm/i915/skl: Implement WaCcsTlbPrefetchDisable:skl Damien Lespiau
2015-02-09 19:33 ` [PATCH 18/18] drm/i915/skl: Implement WaBarrierPerformanceFixDisable Damien Lespiau
17 siblings, 1 reply; 49+ messages in thread
From: Damien Lespiau @ 2015-02-09 19:33 UTC (permalink / raw)
To: intel-gfx
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
drivers/gpu/drm/i915/i915_reg.h | 3 +++
drivers/gpu/drm/i915/intel_pm.c | 7 ++++++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index b363c5e..610fcd4 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -5236,6 +5236,9 @@ enum skl_disp_power_wells {
#define HSW_NDE_RSTWRN_OPT 0x46408
#define RESET_PCH_HANDSHAKE_ENABLE (1<<4)
+#define FF_SLICE_CS_CHICKEN2 0x02e4
+#define GEN9_TSG_BARRIER_ACK_DISABLE (1<<8)
+
/* GEN7 chicken */
#define GEN7_COMMON_SLICE_CHICKEN1 0x7010
# define GEN7_CSC1_RHWO_OPT_DISABLE_IN_RCC ((1<<10) | (1<<26))
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 8f9149b..6254102 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -81,11 +81,16 @@ static void skl_init_clock_gating(struct drm_device *dev)
GEN6_VFUNIT_CLOCK_GATE_DISABLE);
}
- if (INTEL_REVID(dev) <= SKL_REVID_D0)
+ if (INTEL_REVID(dev) <= SKL_REVID_D0) {
/* WaDisableHDCInvalidation:skl */
I915_WRITE(GAM_ECOCHK, I915_READ(GAM_ECOCHK) |
BDW_DISABLE_HDC_INVALIDATION);
+ /* WaDisableChickenBitTSGBarrierAckForFFSliceCS:skl */
+ I915_WRITE(FF_SLICE_CS_CHICKEN2,
+ I915_READ(FF_SLICE_CS_CHICKEN2) |
+ GEN9_TSG_BARRIER_ACK_DISABLE);
+ }
if (INTEL_REVID(dev) <= SKL_REVID_E0)
/* WaDisableLSQCROPERFforOCL:skl */
--
1.8.3.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 49+ messages in thread
* [PATCH 17/18] drm/i915/skl: Implement WaCcsTlbPrefetchDisable:skl
2015-02-09 19:33 [PATCH 00/18] A few more workarounds Damien Lespiau
` (15 preceding siblings ...)
2015-02-09 19:33 ` [PATCH 16/18] drm/i915/skl: Implement WaDisableChickenBitTSGBarrierAckForFFSliceCS Damien Lespiau
@ 2015-02-09 19:33 ` Damien Lespiau
2015-02-11 15:44 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 18/18] drm/i915/skl: Implement WaBarrierPerformanceFixDisable Damien Lespiau
17 siblings, 1 reply; 49+ messages in thread
From: Damien Lespiau @ 2015-02-09 19:33 UTC (permalink / raw)
To: intel-gfx
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
drivers/gpu/drm/i915/i915_reg.h | 1 +
drivers/gpu/drm/i915/intel_ringbuffer.c | 4 ++++
2 files changed, 5 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 610fcd4..090ddd7 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -6216,6 +6216,7 @@ enum skl_disp_power_wells {
#define GEN9_HALF_SLICE_CHICKEN5 0xe188
#define GEN9_DG_MIRROR_FIX_ENABLE (1<<5)
+#define GEN9_CCS_TLB_PREFETCH_ENABLE (1<<3)
#define GEN8_ROW_CHICKEN 0xe4f0
#define PARTIAL_INSTRUCTION_SHOOTDOWN_DISABLE (1<<8)
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index db83baf..57432ca 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -928,6 +928,10 @@ static int gen9_init_workarounds(struct intel_engine_cs *ring)
/* WaDisablePartialResolveInVc:skl */
WA_SET_BIT_MASKED(CACHE_MODE_1, GEN9_PARTIAL_RESOLVE_IN_VC_DISABLE);
+ /* WaCcsTlbPrefetchDisable:skl */
+ WA_CLR_BIT_MASKED(GEN9_HALF_SLICE_CHICKEN5,
+ GEN9_CCS_TLB_PREFETCH_ENABLE);
+
return 0;
}
--
1.8.3.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 49+ messages in thread
* [PATCH 18/18] drm/i915/skl: Implement WaBarrierPerformanceFixDisable
2015-02-09 19:33 [PATCH 00/18] A few more workarounds Damien Lespiau
` (16 preceding siblings ...)
2015-02-09 19:33 ` [PATCH 17/18] drm/i915/skl: Implement WaCcsTlbPrefetchDisable:skl Damien Lespiau
@ 2015-02-09 19:33 ` Damien Lespiau
2015-02-10 14:02 ` shuang.he
2015-02-11 15:51 ` Nick Hoath
17 siblings, 2 replies; 49+ messages in thread
From: Damien Lespiau @ 2015-02-09 19:33 UTC (permalink / raw)
To: intel-gfx
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
drivers/gpu/drm/i915/i915_reg.h | 1 +
drivers/gpu/drm/i915/intel_ringbuffer.c | 7 +++++++
2 files changed, 8 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 090ddd7..b4abd50 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -5276,6 +5276,7 @@ enum skl_disp_power_wells {
#define HDC_FORCE_NON_COHERENT (1<<4)
#define HDC_DONOT_FETCH_MEM_WHEN_MASKED (1<<11)
#define HDC_FENCE_DEST_SLM_DISABLE (1<<14)
+#define HDC_BARRIER_PERFORMANCE_DISABLE (1<<10)
/* WaCatErrorRejectionIssue */
#define GEN7_SQ_CHICKEN_MBCUNIT_CONFIG 0x9030
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index 57432ca..93365fe 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -947,6 +947,13 @@ static int skl_init_workarounds(struct intel_engine_cs *ring)
WA_SET_BIT_MASKED(HIZ_CHICKEN,
BDW_HIZ_POWER_COMPILER_CLOCK_GATING_DISABLE);
+ if (INTEL_REVID(dev) == SKL_REVID_C0 ||
+ INTEL_REVID(dev) == SKL_REVID_D0)
+ /* WaBarrierPerformanceFixDisable:skl */
+ WA_SET_BIT_MASKED(HDC_CHICKEN0,
+ HDC_FENCE_DEST_SLM_DISABLE |
+ HDC_BARRIER_PERFORMANCE_DISABLE);
+
return 0;
}
--
1.8.3.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 49+ messages in thread
* Re: [PATCH 01/18] drm/i915: Support not having an init clock gating function defined
2015-02-09 19:33 ` [PATCH 01/18] drm/i915: Support not having an init clock gating function defined Damien Lespiau
@ 2015-02-10 9:39 ` Daniel Vetter
2015-02-11 14:44 ` Nick Hoath
1 sibling, 0 replies; 49+ messages in thread
From: Daniel Vetter @ 2015-02-10 9:39 UTC (permalink / raw)
To: Damien Lespiau; +Cc: intel-gfx
On Mon, Feb 09, 2015 at 07:33:05PM +0000, Damien Lespiau wrote:
> When enabling new platforms, we may not have any W/A to apply,
> especially that, now, a bunch of them have to be done from the ring.
>
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Queued for -next, thanks for the patch.
-Daniel
> ---
> drivers/gpu/drm/i915/intel_pm.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 3c64810..a3b979d 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -6386,7 +6386,8 @@ void intel_init_clock_gating(struct drm_device *dev)
> {
> struct drm_i915_private *dev_priv = dev->dev_private;
>
> - dev_priv->display.init_clock_gating(dev);
> + if (dev_priv->display.init_clock_gating)
> + dev_priv->display.init_clock_gating(dev);
> }
>
> void intel_suspend_hw(struct drm_device *dev)
> --
> 1.8.3.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH 18/18] drm/i915/skl: Implement WaBarrierPerformanceFixDisable
2015-02-09 19:33 ` [PATCH 18/18] drm/i915/skl: Implement WaBarrierPerformanceFixDisable Damien Lespiau
@ 2015-02-10 14:02 ` shuang.he
2015-02-11 15:51 ` Nick Hoath
1 sibling, 0 replies; 49+ messages in thread
From: shuang.he @ 2015-02-10 14:02 UTC (permalink / raw)
To: shuang.he, ethan.gao, intel-gfx, damien.lespiau
Tested-By: PRC QA PRTS (Patch Regression Test System Contact: shuang.he@intel.com)
Task id: 5737
-------------------------------------Summary-------------------------------------
Platform Delta drm-intel-nightly Series Applied
PNV 282/283 282/283
ILK 308/315 308/315
SNB +1-22 340/346 319/346
IVB +1-2 378/384 377/384
BYT 296/296 296/296
HSW +2 421/428 423/428
BDW 318/333 318/333
-------------------------------------Detailed-------------------------------------
Platform Test drm-intel-nightly Series Applied
*SNB igt_kms_flip_dpms-vs-vblank-race PASS(4, M22) DMESG_WARN(1, M22)
SNB igt_kms_flip_dpms-vs-vblank-race-interruptible DMESG_WARN(3, M22)PASS(2, M22) DMESG_WARN(1, M22)
SNB igt_kms_mmio_vs_cs_flip_setcrtc_vs_cs_flip NSPT(2, M22)PASS(1, M22) NSPT(1, M22)
SNB igt_kms_mmio_vs_cs_flip_setplane_vs_cs_flip NSPT(2, M22)PASS(1, M22) NSPT(1, M22)
SNB igt_kms_pipe_crc_basic_read-crc-pipe-A DMESG_WARN(1, M22)PASS(6, M22) PASS(1, M22)
SNB igt_kms_rotation_crc_primary-rotation NSPT(2, M22)PASS(1, M22) NSPT(1, M22)
SNB igt_kms_rotation_crc_sprite-rotation NSPT(2, M22)PASS(1, M22) NSPT(1, M22)
SNB igt_pm_rpm_cursor NSPT(2, M22)PASS(1, M22) NSPT(1, M22)
SNB igt_pm_rpm_cursor-dpms NSPT(2, M22)PASS(1, M22) NSPT(1, M22)
SNB igt_pm_rpm_dpms-mode-unset-non-lpsp NSPT(2, M22)PASS(1, M22) NSPT(1, M22)
SNB igt_pm_rpm_dpms-non-lpsp NSPT(2, M22)PASS(1, M22) NSPT(1, M22)
SNB igt_pm_rpm_drm-resources-equal NSPT(2, M22)PASS(1, M22) NSPT(1, M22)
SNB igt_pm_rpm_fences NSPT(2, M22)PASS(1, M22) NSPT(1, M22)
SNB igt_pm_rpm_fences-dpms NSPT(2, M22)PASS(1, M22) NSPT(1, M22)
SNB igt_pm_rpm_gem-execbuf NSPT(2, M22)PASS(1, M22) NSPT(1, M22)
SNB igt_pm_rpm_gem-mmap-cpu NSPT(2, M22)PASS(1, M22) NSPT(1, M22)
SNB igt_pm_rpm_gem-mmap-gtt NSPT(2, M22)PASS(1, M22) NSPT(1, M22)
SNB igt_pm_rpm_gem-pread NSPT(2, M22)PASS(1, M22) NSPT(1, M22)
SNB igt_pm_rpm_i2c NSPT(2, M22)PASS(1, M22) NSPT(1, M22)
SNB igt_pm_rpm_modeset-non-lpsp NSPT(2, M22)PASS(1, M22) NSPT(1, M22)
SNB igt_pm_rpm_modeset-non-lpsp-stress-no-wait NSPT(2, M22)PASS(1, M22) NSPT(1, M22)
SNB igt_pm_rpm_pci-d3-state NSPT(2, M22)PASS(1, M22) NSPT(1, M22)
SNB igt_pm_rpm_rte NSPT(2, M22)PASS(1, M22) NSPT(1, M22)
IVB igt_gem_pwrite_pread_snooped-copy-performance DMESG_WARN(1, M34)PASS(5, M34) DMESG_WARN(1, M34)
IVB igt_gem_storedw_batches_loop_normal DMESG_WARN(2, M34)PASS(2, M34) PASS(1, M34)
IVB igt_gem_storedw_batches_loop_secure-dispatch DMESG_WARN(1, M34)PASS(3, M34) DMESG_WARN(1, M34)
HSW igt_gem_storedw_loop_blt DMESG_WARN(3, M20)PASS(3, M20) PASS(1, M20)
HSW igt_gem_storedw_loop_vebox DMESG_WARN(3, M20)PASS(2, M20) PASS(1, M20)
Note: You need to pay more attention to line start with '*'
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH 01/18] drm/i915: Support not having an init clock gating function defined
2015-02-09 19:33 ` [PATCH 01/18] drm/i915: Support not having an init clock gating function defined Damien Lespiau
2015-02-10 9:39 ` Daniel Vetter
@ 2015-02-11 14:44 ` Nick Hoath
1 sibling, 0 replies; 49+ messages in thread
From: Nick Hoath @ 2015-02-11 14:44 UTC (permalink / raw)
To: Damien Lespiau, intel-gfx
On 09/02/2015 19:33, Damien Lespiau wrote:
> When enabling new platforms, we may not have any W/A to apply,
> especially that, now, a bunch of them have to be done from the ring.
>
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Nick Hoath <nicholas.hoath@intel.com>
> ---
> drivers/gpu/drm/i915/intel_pm.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 3c64810..a3b979d 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -6386,7 +6386,8 @@ void intel_init_clock_gating(struct drm_device *dev)
> {
> struct drm_i915_private *dev_priv = dev->dev_private;
>
> - dev_priv->display.init_clock_gating(dev);
> + if (dev_priv->display.init_clock_gating)
> + dev_priv->display.init_clock_gating(dev);
> }
>
> void intel_suspend_hw(struct drm_device *dev)
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH 02/18] drm/i915/skl: Implement WaDisableHBR2
2015-02-09 19:33 ` [PATCH 02/18] drm/i915/skl: Implement WaDisableHBR2 Damien Lespiau
@ 2015-02-11 14:49 ` Nick Hoath
2015-02-11 17:43 ` [PATCH v2] " Damien Lespiau
0 siblings, 1 reply; 49+ messages in thread
From: Nick Hoath @ 2015-02-11 14:49 UTC (permalink / raw)
To: Damien Lespiau, intel-gfx
On 09/02/2015 19:33, Damien Lespiau wrote:
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
> ---
> drivers/gpu/drm/i915/intel_dp.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index d4c82d7..4a60c6a 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -129,7 +129,10 @@ intel_dp_max_link_bw(struct intel_dp *intel_dp)
> case DP_LINK_BW_2_7:
> break;
> case DP_LINK_BW_5_4: /* 1.2 capable displays may advertise higher bw */
> - if (((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) ||
> + if (IS_SKYLAKE(dev) && dev->pdev->revision <= 0x1)
Should be: if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0) ?
> + /* WaDisableHBR2:skl */
> + max_link_bw = DP_LINK_BW_2_7;
> + else if (((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) ||
> INTEL_INFO(dev)->gen >= 8) &&
> intel_dp->dpcd[DP_DPCD_REV] >= 0x12)
> max_link_bw = DP_LINK_BW_5_4;
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH 03/18] drm/i915/skl: Document the WM read latency W/A with its name
2015-02-09 19:33 ` [PATCH 03/18] drm/i915/skl: Document the WM read latency W/A with its name Damien Lespiau
@ 2015-02-11 14:51 ` Nick Hoath
0 siblings, 0 replies; 49+ messages in thread
From: Nick Hoath @ 2015-02-11 14:51 UTC (permalink / raw)
To: Damien Lespiau, intel-gfx
On 09/02/2015 19:33, Damien Lespiau wrote:
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Nick Hoath <nicholas.hoath@intel.com>
> ---
> drivers/gpu/drm/i915/intel_pm.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index a3b979d..6fd6f26 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -1701,6 +1701,8 @@ static void intel_read_wm_latency(struct drm_device *dev, uint16_t wm[8])
> GEN9_MEM_LATENCY_LEVEL_MASK;
>
> /*
> + * WaWmMemoryReadLatency:skl
> + *
> * punit doesn't take into account the read latency so we need
> * to add 2us to the various latency levels we retrieve from
> * the punit.
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH 04/18] drm/i915/skl: Provide a gen9 specific init_render_ring()
2015-02-09 19:33 ` [PATCH 04/18] drm/i915/skl: Provide a gen9 specific init_render_ring() Damien Lespiau
@ 2015-02-11 14:52 ` Nick Hoath
0 siblings, 0 replies; 49+ messages in thread
From: Nick Hoath @ 2015-02-11 14:52 UTC (permalink / raw)
To: Damien Lespiau, intel-gfx
On 09/02/2015 19:33, Damien Lespiau wrote:
> WaDisableAsyncFlipPerfMode isn't listed for SKL and
> INSTPM_FORCE_ORDERING is MBZ so let's make a gen9 specific render init
> function.
>
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Nick Hoath <nicholas.hoath@intel.com>
> ---
> drivers/gpu/drm/i915/intel_lrc.c | 16 +++++++++++++++-
> 1 file changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
> index d05f3bc..fe25ced 100644
> --- a/drivers/gpu/drm/i915/intel_lrc.c
> +++ b/drivers/gpu/drm/i915/intel_lrc.c
> @@ -1149,6 +1149,17 @@ static int gen8_init_render_ring(struct intel_engine_cs *ring)
> return init_workarounds_ring(ring);
> }
>
> +static int gen9_init_render_ring(struct intel_engine_cs *ring)
> +{
> + int ret;
> +
> + ret = gen8_init_common_ring(ring);
> + if (ret)
> + return ret;
> +
> + return init_workarounds_ring(ring);
> +}
> +
> static int gen8_emit_bb_start(struct intel_ringbuffer *ringbuf,
> struct intel_context *ctx,
> u64 offset, unsigned flags)
> @@ -1408,7 +1419,10 @@ static int logical_render_ring_init(struct drm_device *dev)
> if (HAS_L3_DPF(dev))
> ring->irq_keep_mask |= GT_RENDER_L3_PARITY_ERROR_INTERRUPT;
>
> - ring->init_hw = gen8_init_render_ring;
> + if (INTEL_INFO(dev)->gen >= 9)
> + ring->init_hw = gen9_init_render_ring;
> + else
> + ring->init_hw = gen8_init_render_ring;
> ring->init_context = gen8_init_rcs_context;
> ring->cleanup = intel_fini_pipe_control;
> ring->get_seqno = gen8_get_seqno;
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH 05/18] drm/i915/skl: Make the init clock gating function skylake specific
2015-02-09 19:33 ` [PATCH 05/18] drm/i915/skl: Make the init clock gating function skylake specific Damien Lespiau
@ 2015-02-11 14:56 ` Nick Hoath
0 siblings, 0 replies; 49+ messages in thread
From: Nick Hoath @ 2015-02-11 14:56 UTC (permalink / raw)
To: Damien Lespiau, intel-gfx
On 09/02/2015 19:33, Damien Lespiau wrote:
> We'll gather cross-gen9 W/A in a separate function later.
>
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Nick Hoath <nicholas.hoath@intel.com>
> ---
> drivers/gpu/drm/i915/intel_pm.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 6fd6f26..03e27c2 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -52,7 +52,7 @@
> #define INTEL_RC6p_ENABLE (1<<1)
> #define INTEL_RC6pp_ENABLE (1<<2)
>
> -static void gen9_init_clock_gating(struct drm_device *dev)
> +static void skl_init_clock_gating(struct drm_device *dev)
> {
> struct drm_i915_private *dev_priv = dev->dev_private;
>
> @@ -6415,7 +6415,7 @@ void intel_init_pm(struct drm_device *dev)
> if (INTEL_INFO(dev)->gen >= 9) {
> skl_setup_wm_latency(dev);
>
> - dev_priv->display.init_clock_gating = gen9_init_clock_gating;
> + dev_priv->display.init_clock_gating = skl_init_clock_gating;
> dev_priv->display.update_wm = skl_update_wm;
> dev_priv->display.update_sprite_wm = skl_update_sprite_wm;
> } else if (HAS_PCH_SPLIT(dev)) {
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH 06/18] drm/i915/skl: Implement WaSetGAPSunitClckGateDisable
2015-02-09 19:33 ` [PATCH 06/18] drm/i915/skl: Implement WaSetGAPSunitClckGateDisable Damien Lespiau
@ 2015-02-11 14:56 ` Nick Hoath
0 siblings, 0 replies; 49+ messages in thread
From: Nick Hoath @ 2015-02-11 14:56 UTC (permalink / raw)
To: Damien Lespiau, intel-gfx
On 09/02/2015 19:33, Damien Lespiau wrote:
> Let's also take the opportunity the remove the comment telling it's a
> pre-prod W/A, it should be obvious from the stepping test.
>
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Nick Hoath <nicholas.hoath@intel.com>
> ---
> drivers/gpu/drm/i915/i915_reg.h | 1 +
> drivers/gpu/drm/i915/intel_pm.c | 3 ++-
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 4ee1964..578fd90 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -6016,6 +6016,7 @@ enum skl_disp_power_wells {
> #define GEN6_RSTCTL 0x9420
>
> #define GEN8_UCGCTL6 0x9430
> +#define GEN8_GAPSUNIT_CLOCK_GATE_DISABLE (1<<24)
> #define GEN8_SDEUNIT_CLOCK_GATE_DISABLE (1<<14)
>
> #define GEN6_GFXPAUSE 0xA000
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 03e27c2..2c66423 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -59,9 +59,10 @@ static void skl_init_clock_gating(struct drm_device *dev)
> if (INTEL_REVID(dev) == SKL_REVID_A0) {
> /*
> * WaDisableSDEUnitClockGating:skl
> - * This seems to be a pre-production w/a.
> + * WaSetGAPSunitClckGateDisable:skl
> */
> I915_WRITE(GEN8_UCGCTL6, I915_READ(GEN8_UCGCTL6) |
> + GEN8_GAPSUNIT_CLOCK_GATE_DISABLE |
> GEN8_SDEUNIT_CLOCK_GATE_DISABLE);
> }
> }
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH 08/18] drm/i915/skl: Document that we implement WaRsClearFWBitsAtReset
2015-02-09 19:33 ` [PATCH 08/18] drm/i915/skl: Document that we implement WaRsClearFWBitsAtReset Damien Lespiau
@ 2015-02-11 15:08 ` Nick Hoath
0 siblings, 0 replies; 49+ messages in thread
From: Nick Hoath @ 2015-02-11 15:08 UTC (permalink / raw)
To: Damien Lespiau, intel-gfx
On 09/02/2015 19:33, Damien Lespiau wrote:
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Nick Hoath <nicholas.hoath@intel.com>
> ---
> drivers/gpu/drm/i915/intel_uncore.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
> index c47a3ba..ad71575 100644
> --- a/drivers/gpu/drm/i915/intel_uncore.c
> +++ b/drivers/gpu/drm/i915/intel_uncore.c
> @@ -972,6 +972,7 @@ static void fw_domain_init(struct drm_i915_private *dev_priv,
> d->val_set = FORCEWAKE_KERNEL;
> d->val_clear = 0;
> } else {
> + /* WaRsClearFWBitsAtReset:bdw,skl */
> d->val_reset = _MASKED_BIT_DISABLE(0xffff);
> d->val_set = _MASKED_BIT_ENABLE(FORCEWAKE_KERNEL);
> d->val_clear = _MASKED_BIT_DISABLE(FORCEWAKE_KERNEL);
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH 10/18] drm/i915/skl: Implement WaDisableVFUnitClockGating
2015-02-09 19:33 ` [PATCH 10/18] drm/i915/skl: Implement WaDisableVFUnitClockGating Damien Lespiau
@ 2015-02-11 15:21 ` Nick Hoath
0 siblings, 0 replies; 49+ messages in thread
From: Nick Hoath @ 2015-02-11 15:21 UTC (permalink / raw)
To: Damien Lespiau, intel-gfx
On 09/02/2015 19:33, Damien Lespiau wrote:
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
> ---
> drivers/gpu/drm/i915/i915_reg.h | 1 +
> drivers/gpu/drm/i915/intel_pm.c | 4 ++++
> 2 files changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 2043e82..a457c28 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -6007,6 +6007,7 @@ enum skl_disp_power_wells {
> # define GEN6_CSUNIT_CLOCK_GATE_DISABLE (1 << 7)
>
> #define GEN6_UCGCTL2 0x9404
> +# define GEN6_VFUNIT_CLOCK_GATE_DISABLE (1 << 31)
> # define GEN7_VDSUNIT_CLOCK_GATE_DISABLE (1 << 30)
> # define GEN7_TDLUNIT_CLOCK_GATE_DISABLE (1 << 22)
> # define GEN6_RCZUNIT_CLOCK_GATE_DISABLE (1 << 13)
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index ed029e7..ff4e289 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -75,6 +75,10 @@ static void skl_init_clock_gating(struct drm_device *dev)
> I915_WRITE(GEN8_UCGCTL6, I915_READ(GEN8_UCGCTL6) |
> GEN8_GAPSUNIT_CLOCK_GATE_DISABLE |
> GEN8_SDEUNIT_CLOCK_GATE_DISABLE);
> +
> + /* WaDisableVFUnitClockGating:skl */
> + I915_WRITE(GEN6_UCGCTL2, I915_READ(GEN6_UCGCTL2) |
> + GEN6_VFUNIT_CLOCK_GATE_DISABLE);
bspec says this should be until B0
> }
> }
>
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH 11/18] drm/i915/skl: Introduce a SKL specific init_workarounds()
2015-02-09 19:33 ` [PATCH 11/18] drm/i915/skl: Introduce a SKL specific init_workarounds() Damien Lespiau
@ 2015-02-11 15:24 ` Nick Hoath
0 siblings, 0 replies; 49+ messages in thread
From: Nick Hoath @ 2015-02-11 15:24 UTC (permalink / raw)
To: Damien Lespiau, intel-gfx
On 09/02/2015 19:33, Damien Lespiau wrote:
> This function will host SKL-only W/As.
>
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Nick Hoath <nicholas.hoath@intel.com>
> ---
> drivers/gpu/drm/i915/intel_ringbuffer.c | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index b15d596..27d101c 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -928,6 +928,13 @@ static int gen9_init_workarounds(struct intel_engine_cs *ring)
> return 0;
> }
>
> +static int skl_init_workarounds(struct intel_engine_cs *ring)
> +{
> + gen9_init_workarounds(ring);
> +
> + return 0;
> +}
> +
> int init_workarounds_ring(struct intel_engine_cs *ring)
> {
> struct drm_device *dev = ring->dev;
> @@ -943,7 +950,9 @@ int init_workarounds_ring(struct intel_engine_cs *ring)
> if (IS_CHERRYVIEW(dev))
> return chv_init_workarounds(ring);
>
> - if (IS_GEN9(dev))
> + if (IS_SKYLAKE(dev))
> + return skl_init_workarounds(ring);
> + else if (IS_GEN9(dev))
> return gen9_init_workarounds(ring);
>
> return 0;
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH 12/18] drm/i915/skl: Implement WaDisablePowerCompilerClockGating
2015-02-09 19:33 ` [PATCH 12/18] drm/i915/skl: Implement WaDisablePowerCompilerClockGating Damien Lespiau
@ 2015-02-11 15:29 ` Nick Hoath
2015-02-11 17:48 ` Damien Lespiau
0 siblings, 1 reply; 49+ messages in thread
From: Nick Hoath @ 2015-02-11 15:29 UTC (permalink / raw)
To: Damien Lespiau, intel-gfx
On 09/02/2015 19:33, Damien Lespiau wrote:
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
> ---
> drivers/gpu/drm/i915/i915_reg.h | 5 +++--
> drivers/gpu/drm/i915/intel_ringbuffer.c | 8 ++++++++
> 2 files changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index a457c28..fdfbdb3 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -5241,8 +5241,9 @@ enum skl_disp_power_wells {
> #define COMMON_SLICE_CHICKEN2 0x7014
> # define GEN8_CSC2_SBE_VUE_CACHE_CONSERVATIVE (1<<0)
>
> -#define HIZ_CHICKEN 0x7018
> -# define CHV_HZ_8X8_MODE_IN_1X (1<<15)
> +#define HIZ_CHICKEN 0x7018
> +# define CHV_HZ_8X8_MODE_IN_1X (1<<15)
> +# define BDW_HIZ_POWER_COMPILER_CLOCK_GATING_DISABLE (1<<3)
>
> #define GEN9_SLICE_COMMON_ECO_CHICKEN0 0x7308
> #define DISABLE_PIXEL_MASK_CAMMING (1<<14)
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index 27d101c..3135192 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -930,8 +930,16 @@ static int gen9_init_workarounds(struct intel_engine_cs *ring)
>
> static int skl_init_workarounds(struct intel_engine_cs *ring)
> {
> + struct drm_device *dev = ring->dev;
> + struct drm_i915_private *dev_priv = dev->dev_private;
> +
> gen9_init_workarounds(ring);
>
> + /* WaDisablePowerCompilerClockGating:skl */
> + if (INTEL_REVID(dev) == SKL_REVID_B0)
Should this be <= ?
> + WA_SET_BIT_MASKED(HIZ_CHICKEN,
> + BDW_HIZ_POWER_COMPILER_CLOCK_GATING_DISABLE);
> +
> return 0;
> }
>
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH 13/18] drm/i915/skl: Implement WaDisablePartialResolveInVc
2015-02-09 19:33 ` [PATCH 13/18] drm/i915/skl: Implement WaDisablePartialResolveInVc Damien Lespiau
@ 2015-02-11 15:31 ` Nick Hoath
0 siblings, 0 replies; 49+ messages in thread
From: Nick Hoath @ 2015-02-11 15:31 UTC (permalink / raw)
To: Damien Lespiau, intel-gfx
On 09/02/2015 19:33, Damien Lespiau wrote:
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Nick Hoath <nicholas.hoath@intel.com>
> ---
> drivers/gpu/drm/i915/i915_reg.h | 1 +
> drivers/gpu/drm/i915/intel_ringbuffer.c | 3 +++
> 2 files changed, 4 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index fdfbdb3..d519ed9 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -1483,6 +1483,7 @@ enum skl_disp_power_wells {
> #define CACHE_MODE_1 0x7004 /* IVB+ */
> #define PIXEL_SUBSPAN_COLLECT_OPT_DISABLE (1<<6)
> #define GEN8_4x4_STC_OPTIMIZATION_DISABLE (1<<6)
> +#define GEN9_PARTIAL_RESOLVE_IN_VC_DISABLE (1<<1)
>
> #define GEN6_BLITTER_ECOSKPD 0x221d0
> #define GEN6_BLITTER_LOCK_SHIFT 16
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index 3135192..db83baf 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -925,6 +925,9 @@ static int gen9_init_workarounds(struct intel_engine_cs *ring)
> /* Wa4x4STCOptimizationDisable:skl */
> WA_SET_BIT_MASKED(CACHE_MODE_1, GEN8_4x4_STC_OPTIMIZATION_DISABLE);
>
> + /* WaDisablePartialResolveInVc:skl */
> + WA_SET_BIT_MASKED(CACHE_MODE_1, GEN9_PARTIAL_RESOLVE_IN_VC_DISABLE);
> +
> return 0;
> }
>
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH 14/18] drm/i915/skl: Implement WaDisableLSQCROPERFforOCL
2015-02-09 19:33 ` [PATCH 14/18] drm/i915/skl: Implement WaDisableLSQCROPERFforOCL Damien Lespiau
@ 2015-02-11 15:34 ` Nick Hoath
0 siblings, 0 replies; 49+ messages in thread
From: Nick Hoath @ 2015-02-11 15:34 UTC (permalink / raw)
To: Damien Lespiau, intel-gfx
On 09/02/2015 19:33, Damien Lespiau wrote:
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Nick Hoath <nicholas.hoath@intel.com>
> ---
> drivers/gpu/drm/i915/i915_drv.h | 1 +
> drivers/gpu/drm/i915/i915_reg.h | 3 +++
> drivers/gpu/drm/i915/intel_pm.c | 5 +++++
> 3 files changed, 9 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index c0b8644..0765bd1 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -2391,6 +2391,7 @@ struct drm_i915_cmd_table {
> #define SKL_REVID_B0 (0x1)
> #define SKL_REVID_C0 (0x2)
> #define SKL_REVID_D0 (0x3)
> +#define SKL_REVID_E0 (0x4)
>
> /*
> * The genX designation typically refers to the render engine, so render
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index d519ed9..3ae7a09 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -5264,6 +5264,9 @@ enum skl_disp_power_wells {
> #define GEN7_L3SQCREG4 0xb034
> #define L3SQ_URB_READ_CAM_MATCH_DISABLE (1<<27)
>
> +#define GEN8_L3SQCREG4 0xb118
> +#define GEN8_LQSC_RO_PERF_DIS (1<<27)
> +
> /* GEN8 chicken */
> #define HDC_CHICKEN0 0x7300
> #define HDC_FORCE_NON_COHERENT (1<<4)
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index ff4e289..f53ef11 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -80,6 +80,11 @@ static void skl_init_clock_gating(struct drm_device *dev)
> I915_WRITE(GEN6_UCGCTL2, I915_READ(GEN6_UCGCTL2) |
> GEN6_VFUNIT_CLOCK_GATE_DISABLE);
> }
> +
> + if (INTEL_REVID(dev) <= SKL_REVID_E0)
> + /* WaDisableLSQCROPERFforOCL:skl */
> + I915_WRITE(GEN8_L3SQCREG4, I915_READ(GEN8_L3SQCREG4) |
> + GEN8_LQSC_RO_PERF_DIS);
> }
>
> static void i915_pineview_get_mem_freq(struct drm_device *dev)
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH 15/18] drm/i915/skl: Implement WaDisableHDCInvalidation
2015-02-09 19:33 ` [PATCH 15/18] drm/i915/skl: Implement WaDisableHDCInvalidation Damien Lespiau
@ 2015-02-11 15:39 ` Nick Hoath
0 siblings, 0 replies; 49+ messages in thread
From: Nick Hoath @ 2015-02-11 15:39 UTC (permalink / raw)
To: Damien Lespiau, intel-gfx
On 09/02/2015 19:33, Damien Lespiau wrote:
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Nick Hoath <nicholas.hoath@intel.com>
> ---
> drivers/gpu/drm/i915/i915_reg.h | 1 +
> drivers/gpu/drm/i915/intel_pm.c | 6 ++++++
> 2 files changed, 7 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 3ae7a09..b363c5e 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -140,6 +140,7 @@
> #define GEN8_RING_PDP_LDW(ring, n) ((ring)->mmio_base+0x270 + (n) * 8)
>
> #define GAM_ECOCHK 0x4090
> +#define BDW_DISABLE_HDC_INVALIDATION (1<<25)
> #define ECOCHK_SNB_BIT (1<<10)
> #define HSW_ECOCHK_ARB_PRIO_SOL (1<<6)
> #define ECOCHK_PPGTT_CACHE64B (0x3<<3)
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index f53ef11..8f9149b 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -81,6 +81,12 @@ static void skl_init_clock_gating(struct drm_device *dev)
> GEN6_VFUNIT_CLOCK_GATE_DISABLE);
> }
>
> + if (INTEL_REVID(dev) <= SKL_REVID_D0)
> + /* WaDisableHDCInvalidation:skl */
> + I915_WRITE(GAM_ECOCHK, I915_READ(GAM_ECOCHK) |
> + BDW_DISABLE_HDC_INVALIDATION);
> +
> +
> if (INTEL_REVID(dev) <= SKL_REVID_E0)
> /* WaDisableLSQCROPERFforOCL:skl */
> I915_WRITE(GEN8_L3SQCREG4, I915_READ(GEN8_L3SQCREG4) |
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH 16/18] drm/i915/skl: Implement WaDisableChickenBitTSGBarrierAckForFFSliceCS
2015-02-09 19:33 ` [PATCH 16/18] drm/i915/skl: Implement WaDisableChickenBitTSGBarrierAckForFFSliceCS Damien Lespiau
@ 2015-02-11 15:42 ` Nick Hoath
2015-02-11 16:04 ` Daniel Vetter
0 siblings, 1 reply; 49+ messages in thread
From: Nick Hoath @ 2015-02-11 15:42 UTC (permalink / raw)
To: Damien Lespiau, intel-gfx
On 09/02/2015 19:33, Damien Lespiau wrote:
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Nick Hoath <nicholas.hoath@intel.com>
> ---
> drivers/gpu/drm/i915/i915_reg.h | 3 +++
> drivers/gpu/drm/i915/intel_pm.c | 7 ++++++-
> 2 files changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index b363c5e..610fcd4 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -5236,6 +5236,9 @@ enum skl_disp_power_wells {
> #define HSW_NDE_RSTWRN_OPT 0x46408
> #define RESET_PCH_HANDSHAKE_ENABLE (1<<4)
>
> +#define FF_SLICE_CS_CHICKEN2 0x02e4
> +#define GEN9_TSG_BARRIER_ACK_DISABLE (1<<8)
> +
> /* GEN7 chicken */
> #define GEN7_COMMON_SLICE_CHICKEN1 0x7010
> # define GEN7_CSC1_RHWO_OPT_DISABLE_IN_RCC ((1<<10) | (1<<26))
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 8f9149b..6254102 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -81,11 +81,16 @@ static void skl_init_clock_gating(struct drm_device *dev)
> GEN6_VFUNIT_CLOCK_GATE_DISABLE);
> }
>
> - if (INTEL_REVID(dev) <= SKL_REVID_D0)
> + if (INTEL_REVID(dev) <= SKL_REVID_D0) {
> /* WaDisableHDCInvalidation:skl */
> I915_WRITE(GAM_ECOCHK, I915_READ(GAM_ECOCHK) |
> BDW_DISABLE_HDC_INVALIDATION);
>
> + /* WaDisableChickenBitTSGBarrierAckForFFSliceCS:skl */
> + I915_WRITE(FF_SLICE_CS_CHICKEN2,
> + I915_READ(FF_SLICE_CS_CHICKEN2) |
> + GEN9_TSG_BARRIER_ACK_DISABLE);
> + }
>
> if (INTEL_REVID(dev) <= SKL_REVID_E0)
> /* WaDisableLSQCROPERFforOCL:skl */
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH 17/18] drm/i915/skl: Implement WaCcsTlbPrefetchDisable:skl
2015-02-09 19:33 ` [PATCH 17/18] drm/i915/skl: Implement WaCcsTlbPrefetchDisable:skl Damien Lespiau
@ 2015-02-11 15:44 ` Nick Hoath
0 siblings, 0 replies; 49+ messages in thread
From: Nick Hoath @ 2015-02-11 15:44 UTC (permalink / raw)
To: Damien Lespiau, intel-gfx
On 09/02/2015 19:33, Damien Lespiau wrote:
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Nick Hoath <nicholas.hoath@intel.com>
> ---
> drivers/gpu/drm/i915/i915_reg.h | 1 +
> drivers/gpu/drm/i915/intel_ringbuffer.c | 4 ++++
> 2 files changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 610fcd4..090ddd7 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -6216,6 +6216,7 @@ enum skl_disp_power_wells {
>
> #define GEN9_HALF_SLICE_CHICKEN5 0xe188
> #define GEN9_DG_MIRROR_FIX_ENABLE (1<<5)
> +#define GEN9_CCS_TLB_PREFETCH_ENABLE (1<<3)
>
> #define GEN8_ROW_CHICKEN 0xe4f0
> #define PARTIAL_INSTRUCTION_SHOOTDOWN_DISABLE (1<<8)
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index db83baf..57432ca 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -928,6 +928,10 @@ static int gen9_init_workarounds(struct intel_engine_cs *ring)
> /* WaDisablePartialResolveInVc:skl */
> WA_SET_BIT_MASKED(CACHE_MODE_1, GEN9_PARTIAL_RESOLVE_IN_VC_DISABLE);
>
> + /* WaCcsTlbPrefetchDisable:skl */
> + WA_CLR_BIT_MASKED(GEN9_HALF_SLICE_CHICKEN5,
> + GEN9_CCS_TLB_PREFETCH_ENABLE);
> +
> return 0;
> }
>
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH 18/18] drm/i915/skl: Implement WaBarrierPerformanceFixDisable
2015-02-09 19:33 ` [PATCH 18/18] drm/i915/skl: Implement WaBarrierPerformanceFixDisable Damien Lespiau
2015-02-10 14:02 ` shuang.he
@ 2015-02-11 15:51 ` Nick Hoath
1 sibling, 0 replies; 49+ messages in thread
From: Nick Hoath @ 2015-02-11 15:51 UTC (permalink / raw)
To: Damien Lespiau, intel-gfx
On 09/02/2015 19:33, Damien Lespiau wrote:
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Nick Hoath <nicholas.hoath@intel.com>
> ---
> drivers/gpu/drm/i915/i915_reg.h | 1 +
> drivers/gpu/drm/i915/intel_ringbuffer.c | 7 +++++++
> 2 files changed, 8 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 090ddd7..b4abd50 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -5276,6 +5276,7 @@ enum skl_disp_power_wells {
> #define HDC_FORCE_NON_COHERENT (1<<4)
> #define HDC_DONOT_FETCH_MEM_WHEN_MASKED (1<<11)
> #define HDC_FENCE_DEST_SLM_DISABLE (1<<14)
> +#define HDC_BARRIER_PERFORMANCE_DISABLE (1<<10)
>
> /* WaCatErrorRejectionIssue */
> #define GEN7_SQ_CHICKEN_MBCUNIT_CONFIG 0x9030
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index 57432ca..93365fe 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -947,6 +947,13 @@ static int skl_init_workarounds(struct intel_engine_cs *ring)
> WA_SET_BIT_MASKED(HIZ_CHICKEN,
> BDW_HIZ_POWER_COMPILER_CLOCK_GATING_DISABLE);
>
> + if (INTEL_REVID(dev) == SKL_REVID_C0 ||
> + INTEL_REVID(dev) == SKL_REVID_D0)
> + /* WaBarrierPerformanceFixDisable:skl */
> + WA_SET_BIT_MASKED(HDC_CHICKEN0,
> + HDC_FENCE_DEST_SLM_DISABLE |
> + HDC_BARRIER_PERFORMANCE_DISABLE);
> +
> return 0;
> }
>
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH 16/18] drm/i915/skl: Implement WaDisableChickenBitTSGBarrierAckForFFSliceCS
2015-02-11 15:42 ` Nick Hoath
@ 2015-02-11 16:04 ` Daniel Vetter
0 siblings, 0 replies; 49+ messages in thread
From: Daniel Vetter @ 2015-02-11 16:04 UTC (permalink / raw)
To: Nick Hoath; +Cc: intel-gfx
On Wed, Feb 11, 2015 at 03:42:16PM +0000, Nick Hoath wrote:
> On 09/02/2015 19:33, Damien Lespiau wrote:
> >Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
>
> Reviewed-by: Nick Hoath <nicholas.hoath@intel.com>
Merged all the ones Nick has reviewd already.
Thanks, Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* [PATCH v2] drm/i915/skl: Implement WaDisableHBR2
2015-02-11 14:49 ` Nick Hoath
@ 2015-02-11 17:43 ` Damien Lespiau
2015-02-13 5:09 ` shuang.he
2015-03-12 18:18 ` Jesse Barnes
0 siblings, 2 replies; 49+ messages in thread
From: Damien Lespiau @ 2015-02-11 17:43 UTC (permalink / raw)
To: intel-gfx
v2: Use the recently introduced INTEL_REVID() and SKL_REVID defines
(Nick Hoath)
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
drivers/gpu/drm/i915/intel_dp.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index d4c82d7..a7bc3e8 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -129,7 +129,10 @@ intel_dp_max_link_bw(struct intel_dp *intel_dp)
case DP_LINK_BW_2_7:
break;
case DP_LINK_BW_5_4: /* 1.2 capable displays may advertise higher bw */
- if (((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) ||
+ if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
+ /* WaDisableHBR2:skl */
+ max_link_bw = DP_LINK_BW_2_7;
+ else if (((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) ||
INTEL_INFO(dev)->gen >= 8) &&
intel_dp->dpcd[DP_DPCD_REV] >= 0x12)
max_link_bw = DP_LINK_BW_5_4;
--
1.8.3.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 49+ messages in thread
* Re: [PATCH 12/18] drm/i915/skl: Implement WaDisablePowerCompilerClockGating
2015-02-11 15:29 ` Nick Hoath
@ 2015-02-11 17:48 ` Damien Lespiau
2015-02-18 9:57 ` Nick Hoath
0 siblings, 1 reply; 49+ messages in thread
From: Damien Lespiau @ 2015-02-11 17:48 UTC (permalink / raw)
To: Nick Hoath; +Cc: intel-gfx
On Wed, Feb 11, 2015 at 03:29:51PM +0000, Nick Hoath wrote:
> On 09/02/2015 19:33, Damien Lespiau wrote:
> >Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
> >---
> > drivers/gpu/drm/i915/i915_reg.h | 5 +++--
> > drivers/gpu/drm/i915/intel_ringbuffer.c | 8 ++++++++
> > 2 files changed, 11 insertions(+), 2 deletions(-)
> >
> >diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> >index a457c28..fdfbdb3 100644
> >--- a/drivers/gpu/drm/i915/i915_reg.h
> >+++ b/drivers/gpu/drm/i915/i915_reg.h
> >@@ -5241,8 +5241,9 @@ enum skl_disp_power_wells {
> > #define COMMON_SLICE_CHICKEN2 0x7014
> > # define GEN8_CSC2_SBE_VUE_CACHE_CONSERVATIVE (1<<0)
> >
> >-#define HIZ_CHICKEN 0x7018
> >-# define CHV_HZ_8X8_MODE_IN_1X (1<<15)
> >+#define HIZ_CHICKEN 0x7018
> >+# define CHV_HZ_8X8_MODE_IN_1X (1<<15)
> >+# define BDW_HIZ_POWER_COMPILER_CLOCK_GATING_DISABLE (1<<3)
> >
> > #define GEN9_SLICE_COMMON_ECO_CHICKEN0 0x7308
> > #define DISABLE_PIXEL_MASK_CAMMING (1<<14)
> >diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> >index 27d101c..3135192 100644
> >--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> >+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> >@@ -930,8 +930,16 @@ static int gen9_init_workarounds(struct intel_engine_cs *ring)
> >
> > static int skl_init_workarounds(struct intel_engine_cs *ring)
> > {
> >+ struct drm_device *dev = ring->dev;
> >+ struct drm_i915_private *dev_priv = dev->dev_private;
> >+
> > gen9_init_workarounds(ring);
> >
> >+ /* WaDisablePowerCompilerClockGating:skl */
> >+ if (INTEL_REVID(dev) == SKL_REVID_B0)
>
> Should this be <= ?
Nop, both specs (SKL:GT2:B) and the wa db (SIWA_ONLY_SKL_B0) state
firmly B0 only.
--
Damien
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH 07/18] drm/i915/skl: Implement WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken
2015-02-09 19:33 ` [PATCH 07/18] drm/i915/skl: Implement WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken Damien Lespiau
@ 2015-02-12 13:29 ` Nick Hoath
0 siblings, 0 replies; 49+ messages in thread
From: Nick Hoath @ 2015-02-12 13:29 UTC (permalink / raw)
To: Damien Lespiau, intel-gfx
On 09/02/2015 19:33, Damien Lespiau wrote:
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Nick Hoath <nicholas.hoath@intel.com>
> ---
> drivers/gpu/drm/i915/i915_reg.h | 4 ++++
> drivers/gpu/drm/i915/intel_ringbuffer.c | 8 ++++++++
> 2 files changed, 12 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 578fd90..cb66c8f 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -5237,12 +5237,16 @@ enum skl_disp_power_wells {
> /* GEN7 chicken */
> #define GEN7_COMMON_SLICE_CHICKEN1 0x7010
> # define GEN7_CSC1_RHWO_OPT_DISABLE_IN_RCC ((1<<10) | (1<<26))
> +# define GEN9_RHWO_OPTIMIZATION_DISABLE (1<<14)
> #define COMMON_SLICE_CHICKEN2 0x7014
> # define GEN8_CSC2_SBE_VUE_CACHE_CONSERVATIVE (1<<0)
>
> #define HIZ_CHICKEN 0x7018
> # define CHV_HZ_8X8_MODE_IN_1X (1<<15)
>
> +#define GEN9_SLICE_COMMON_ECO_CHICKEN0 0x7308
> +#define DISABLE_PIXEL_MASK_CAMMING (1<<14)
> +
> #define GEN7_L3SQCREG1 0xB010
> #define VLV_B0_WA_L3SQCREG1_VALUE 0x00D30000
>
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index 293d1b6..b15d596 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -897,6 +897,14 @@ static int gen9_init_workarounds(struct intel_engine_cs *ring)
> ~GEN9_DG_MIRROR_FIX_ENABLE);
> }
>
> + if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0) {
> + /* WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken:skl */
> + WA_SET_BIT_MASKED(GEN7_COMMON_SLICE_CHICKEN1,
> + GEN9_RHWO_OPTIMIZATION_DISABLE);
> + WA_SET_BIT_MASKED(GEN9_SLICE_COMMON_ECO_CHICKEN0,
> + DISABLE_PIXEL_MASK_CAMMING);
> + }
> +
> if (INTEL_REVID(dev) >= SKL_REVID_C0) {
> /* WaEnableYV12BugFixInHalfSliceChicken7:skl */
> WA_SET_BIT_MASKED(GEN9_HALF_SLICE_CHICKEN7,
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH 09/18] drm/i915/skl: Implement WaEnableLbsSlaRetryTimerDecrement
2015-02-09 19:33 ` [PATCH 09/18] drm/i915/skl: Implement WaEnableLbsSlaRetryTimerDecrement Damien Lespiau
@ 2015-02-12 15:09 ` Nick Hoath
0 siblings, 0 replies; 49+ messages in thread
From: Nick Hoath @ 2015-02-12 15:09 UTC (permalink / raw)
To: Damien Lespiau, intel-gfx
On 09/02/2015 19:33, Damien Lespiau wrote:
> This W/A is put in a gen9 specific function because it may well be
> needed on other gen9 platforms.
>
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Nick Hoath <nicholas.hoath@intel.com>
> ---
> drivers/gpu/drm/i915/i915_reg.h | 3 +++
> drivers/gpu/drm/i915/intel_pm.c | 11 +++++++++++
> 2 files changed, 14 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index cb66c8f..2043e82 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -5275,6 +5275,9 @@ enum skl_disp_power_wells {
> #define HSW_SCRATCH1 0xb038
> #define HSW_SCRATCH1_L3_DATA_ATOMICS_DISABLE (1<<27)
>
> +#define BDW_SCRATCH1 0xb11c
> +#define GEN9_LBS_SLA_RETRY_TIMER_DECREMENT_ENABLE (1<<2)
> +
> /* PCH */
>
> /* south display engine interrupt: IBX */
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 2c66423..ed029e7 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -52,10 +52,21 @@
> #define INTEL_RC6p_ENABLE (1<<1)
> #define INTEL_RC6pp_ENABLE (1<<2)
>
> +static void gen9_init_clock_gating(struct drm_device *dev)
> +{
> + struct drm_i915_private *dev_priv = dev->dev_private;
> +
> + /* WaEnableLbsSlaRetryTimerDecrement:skl */
> + I915_WRITE(BDW_SCRATCH1, I915_READ(BDW_SCRATCH1) |
> + GEN9_LBS_SLA_RETRY_TIMER_DECREMENT_ENABLE);
> +}
> +
> static void skl_init_clock_gating(struct drm_device *dev)
> {
> struct drm_i915_private *dev_priv = dev->dev_private;
>
> + gen9_init_clock_gating(dev);
> +
> if (INTEL_REVID(dev) == SKL_REVID_A0) {
> /*
> * WaDisableSDEUnitClockGating:skl
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH v2] drm/i915/skl: Implement WaDisableHBR2
2015-02-11 17:43 ` [PATCH v2] " Damien Lespiau
@ 2015-02-13 5:09 ` shuang.he
2015-03-12 18:18 ` Jesse Barnes
1 sibling, 0 replies; 49+ messages in thread
From: shuang.he @ 2015-02-13 5:09 UTC (permalink / raw)
To: shuang.he, ethan.gao, intel-gfx, damien.lespiau
Tested-By: PRC QA PRTS (Patch Regression Test System Contact: shuang.he@intel.com)
Task id: 5762
-------------------------------------Summary-------------------------------------
Platform Delta drm-intel-nightly Series Applied
PNV -1 282/282 281/282
ILK 313/313 313/313
SNB 309/323 309/323
IVB 380/380 380/380
BYT 296/296 296/296
HSW -1 425/425 424/425
BDW -1 318/318 317/318
-------------------------------------Detailed-------------------------------------
Platform Test drm-intel-nightly Series Applied
*PNV igt_gen3_render_linear_blits PASS(5) CRASH(1)PASS(1)
*HSW igt_gem_storedw_loop_blt PASS(3) DMESG_WARN(1)PASS(1)
*BDW igt_gem_gtt_hog PASS(8) DMESG_WARN(1)PASS(1)
Note: You need to pay more attention to line start with '*'
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH 12/18] drm/i915/skl: Implement WaDisablePowerCompilerClockGating
2015-02-11 17:48 ` Damien Lespiau
@ 2015-02-18 9:57 ` Nick Hoath
2015-02-23 16:31 ` Daniel Vetter
0 siblings, 1 reply; 49+ messages in thread
From: Nick Hoath @ 2015-02-18 9:57 UTC (permalink / raw)
To: Lespiau, Damien; +Cc: intel-gfx
On 11/02/2015 17:48, Lespiau, Damien wrote:
> On Wed, Feb 11, 2015 at 03:29:51PM +0000, Nick Hoath wrote:
>> On 09/02/2015 19:33, Damien Lespiau wrote:
>>> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
>>> ---
>>> drivers/gpu/drm/i915/i915_reg.h | 5 +++--
>>> drivers/gpu/drm/i915/intel_ringbuffer.c | 8 ++++++++
>>> 2 files changed, 11 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
>>> index a457c28..fdfbdb3 100644
>>> --- a/drivers/gpu/drm/i915/i915_reg.h
>>> +++ b/drivers/gpu/drm/i915/i915_reg.h
>>> @@ -5241,8 +5241,9 @@ enum skl_disp_power_wells {
>>> #define COMMON_SLICE_CHICKEN2 0x7014
>>> # define GEN8_CSC2_SBE_VUE_CACHE_CONSERVATIVE (1<<0)
>>>
>>> -#define HIZ_CHICKEN 0x7018
>>> -# define CHV_HZ_8X8_MODE_IN_1X (1<<15)
>>> +#define HIZ_CHICKEN 0x7018
>>> +# define CHV_HZ_8X8_MODE_IN_1X (1<<15)
>>> +# define BDW_HIZ_POWER_COMPILER_CLOCK_GATING_DISABLE (1<<3)
>>>
>>> #define GEN9_SLICE_COMMON_ECO_CHICKEN0 0x7308
>>> #define DISABLE_PIXEL_MASK_CAMMING (1<<14)
>>> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
>>> index 27d101c..3135192 100644
>>> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
>>> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
>>> @@ -930,8 +930,16 @@ static int gen9_init_workarounds(struct intel_engine_cs *ring)
>>>
>>> static int skl_init_workarounds(struct intel_engine_cs *ring)
>>> {
>>> + struct drm_device *dev = ring->dev;
>>> + struct drm_i915_private *dev_priv = dev->dev_private;
>>> +
>>> gen9_init_workarounds(ring);
>>>
>>> + /* WaDisablePowerCompilerClockGating:skl */
>>> + if (INTEL_REVID(dev) == SKL_REVID_B0)
>>
>> Should this be <= ?
>
> Nop, both specs (SKL:GT2:B) and the wa db (SIWA_ONLY_SKL_B0) state
> firmly B0 only.
>
In that case:
Reviewed-by: Nick Hoath <nicholas.hoath@intel.com>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH 12/18] drm/i915/skl: Implement WaDisablePowerCompilerClockGating
2015-02-18 9:57 ` Nick Hoath
@ 2015-02-23 16:31 ` Daniel Vetter
0 siblings, 0 replies; 49+ messages in thread
From: Daniel Vetter @ 2015-02-23 16:31 UTC (permalink / raw)
To: Nick Hoath; +Cc: intel-gfx
On Wed, Feb 18, 2015 at 09:57:52AM +0000, Nick Hoath wrote:
> On 11/02/2015 17:48, Lespiau, Damien wrote:
> >On Wed, Feb 11, 2015 at 03:29:51PM +0000, Nick Hoath wrote:
> >>On 09/02/2015 19:33, Damien Lespiau wrote:
> >>>Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
> >>>---
> >>> drivers/gpu/drm/i915/i915_reg.h | 5 +++--
> >>> drivers/gpu/drm/i915/intel_ringbuffer.c | 8 ++++++++
> >>> 2 files changed, 11 insertions(+), 2 deletions(-)
> >>>
> >>>diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> >>>index a457c28..fdfbdb3 100644
> >>>--- a/drivers/gpu/drm/i915/i915_reg.h
> >>>+++ b/drivers/gpu/drm/i915/i915_reg.h
> >>>@@ -5241,8 +5241,9 @@ enum skl_disp_power_wells {
> >>> #define COMMON_SLICE_CHICKEN2 0x7014
> >>> # define GEN8_CSC2_SBE_VUE_CACHE_CONSERVATIVE (1<<0)
> >>>
> >>>-#define HIZ_CHICKEN 0x7018
> >>>-# define CHV_HZ_8X8_MODE_IN_1X (1<<15)
> >>>+#define HIZ_CHICKEN 0x7018
> >>>+# define CHV_HZ_8X8_MODE_IN_1X (1<<15)
> >>>+# define BDW_HIZ_POWER_COMPILER_CLOCK_GATING_DISABLE (1<<3)
> >>>
> >>> #define GEN9_SLICE_COMMON_ECO_CHICKEN0 0x7308
> >>> #define DISABLE_PIXEL_MASK_CAMMING (1<<14)
> >>>diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> >>>index 27d101c..3135192 100644
> >>>--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> >>>+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> >>>@@ -930,8 +930,16 @@ static int gen9_init_workarounds(struct intel_engine_cs *ring)
> >>>
> >>> static int skl_init_workarounds(struct intel_engine_cs *ring)
> >>> {
> >>>+ struct drm_device *dev = ring->dev;
> >>>+ struct drm_i915_private *dev_priv = dev->dev_private;
> >>>+
> >>> gen9_init_workarounds(ring);
> >>>
> >>>+ /* WaDisablePowerCompilerClockGating:skl */
> >>>+ if (INTEL_REVID(dev) == SKL_REVID_B0)
> >>
> >>Should this be <= ?
> >
> >Nop, both specs (SKL:GT2:B) and the wa db (SIWA_ONLY_SKL_B0) state
> >firmly B0 only.
> >
>
> In that case:
> Reviewed-by: Nick Hoath <nicholas.hoath@intel.com>
Queued for -next, thanks for the patch.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH v2] drm/i915/skl: Implement WaDisableHBR2
2015-02-11 17:43 ` [PATCH v2] " Damien Lespiau
2015-02-13 5:09 ` shuang.he
@ 2015-03-12 18:18 ` Jesse Barnes
2015-03-12 18:36 ` Jani Nikula
1 sibling, 1 reply; 49+ messages in thread
From: Jesse Barnes @ 2015-03-12 18:18 UTC (permalink / raw)
To: Damien Lespiau, intel-gfx
On 02/11/2015 09:43 AM, Damien Lespiau wrote:
> v2: Use the recently introduced INTEL_REVID() and SKL_REVID defines
> (Nick Hoath)
>
> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
> ---
> drivers/gpu/drm/i915/intel_dp.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index d4c82d7..a7bc3e8 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -129,7 +129,10 @@ intel_dp_max_link_bw(struct intel_dp *intel_dp)
> case DP_LINK_BW_2_7:
> break;
> case DP_LINK_BW_5_4: /* 1.2 capable displays may advertise higher bw */
> - if (((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) ||
> + if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
> + /* WaDisableHBR2:skl */
> + max_link_bw = DP_LINK_BW_2_7;
> + else if (((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) ||
> INTEL_INFO(dev)->gen >= 8) &&
> intel_dp->dpcd[DP_DPCD_REV] >= 0x12)
> max_link_bw = DP_LINK_BW_5_4;
>
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Tested-by: Jesse Barnes <jbarnes@virtuousgeek.org>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH v2] drm/i915/skl: Implement WaDisableHBR2
2015-03-12 18:18 ` Jesse Barnes
@ 2015-03-12 18:36 ` Jani Nikula
2015-03-12 19:03 ` Jesse Barnes
0 siblings, 1 reply; 49+ messages in thread
From: Jani Nikula @ 2015-03-12 18:36 UTC (permalink / raw)
To: Jesse Barnes, Damien Lespiau, intel-gfx
On Thu, 12 Mar 2015, Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
> On 02/11/2015 09:43 AM, Damien Lespiau wrote:
>> v2: Use the recently introduced INTEL_REVID() and SKL_REVID defines
>> (Nick Hoath)
>>
>> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
>> ---
>> drivers/gpu/drm/i915/intel_dp.c | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
>> index d4c82d7..a7bc3e8 100644
>> --- a/drivers/gpu/drm/i915/intel_dp.c
>> +++ b/drivers/gpu/drm/i915/intel_dp.c
>> @@ -129,7 +129,10 @@ intel_dp_max_link_bw(struct intel_dp *intel_dp)
>> case DP_LINK_BW_2_7:
>> break;
>> case DP_LINK_BW_5_4: /* 1.2 capable displays may advertise higher bw */
>> - if (((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) ||
>> + if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
>> + /* WaDisableHBR2:skl */
>> + max_link_bw = DP_LINK_BW_2_7;
>> + else if (((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) ||
>> INTEL_INFO(dev)->gen >= 8) &&
>> intel_dp->dpcd[DP_DPCD_REV] >= 0x12)
>> max_link_bw = DP_LINK_BW_5_4;
>>
>
> Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
> Tested-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Potentially
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89554
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH v2] drm/i915/skl: Implement WaDisableHBR2
2015-03-12 18:36 ` Jani Nikula
@ 2015-03-12 19:03 ` Jesse Barnes
2015-03-13 9:21 ` Daniel Vetter
0 siblings, 1 reply; 49+ messages in thread
From: Jesse Barnes @ 2015-03-12 19:03 UTC (permalink / raw)
To: Jani Nikula, Damien Lespiau, intel-gfx
On 03/12/2015 11:36 AM, Jani Nikula wrote:
> On Thu, 12 Mar 2015, Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
>> On 02/11/2015 09:43 AM, Damien Lespiau wrote:
>>> v2: Use the recently introduced INTEL_REVID() and SKL_REVID defines
>>> (Nick Hoath)
>>>
>>> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
>>> ---
>>> drivers/gpu/drm/i915/intel_dp.c | 5 ++++-
>>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
>>> index d4c82d7..a7bc3e8 100644
>>> --- a/drivers/gpu/drm/i915/intel_dp.c
>>> +++ b/drivers/gpu/drm/i915/intel_dp.c
>>> @@ -129,7 +129,10 @@ intel_dp_max_link_bw(struct intel_dp *intel_dp)
>>> case DP_LINK_BW_2_7:
>>> break;
>>> case DP_LINK_BW_5_4: /* 1.2 capable displays may advertise higher bw */
>>> - if (((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) ||
>>> + if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
>>> + /* WaDisableHBR2:skl */
>>> + max_link_bw = DP_LINK_BW_2_7;
>>> + else if (((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) ||
>>> INTEL_INFO(dev)->gen >= 8) &&
>>> intel_dp->dpcd[DP_DPCD_REV] >= 0x12)
>>> max_link_bw = DP_LINK_BW_5_4;
>>>
>>
>> Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
>> Tested-by: Jesse Barnes <jbarnes@virtuousgeek.org>
>
> Potentially
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89554
Yeah hopefully. I definitely need it here for eDP to come up reliably.
Jesse
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [PATCH v2] drm/i915/skl: Implement WaDisableHBR2
2015-03-12 19:03 ` Jesse Barnes
@ 2015-03-13 9:21 ` Daniel Vetter
0 siblings, 0 replies; 49+ messages in thread
From: Daniel Vetter @ 2015-03-13 9:21 UTC (permalink / raw)
To: Jesse Barnes; +Cc: intel-gfx
On Thu, Mar 12, 2015 at 12:03:51PM -0700, Jesse Barnes wrote:
> On 03/12/2015 11:36 AM, Jani Nikula wrote:
> > On Thu, 12 Mar 2015, Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
> >> On 02/11/2015 09:43 AM, Damien Lespiau wrote:
> >>> v2: Use the recently introduced INTEL_REVID() and SKL_REVID defines
> >>> (Nick Hoath)
> >>>
> >>> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
> >>> ---
> >>> drivers/gpu/drm/i915/intel_dp.c | 5 ++++-
> >>> 1 file changed, 4 insertions(+), 1 deletion(-)
> >>>
> >>> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> >>> index d4c82d7..a7bc3e8 100644
> >>> --- a/drivers/gpu/drm/i915/intel_dp.c
> >>> +++ b/drivers/gpu/drm/i915/intel_dp.c
> >>> @@ -129,7 +129,10 @@ intel_dp_max_link_bw(struct intel_dp *intel_dp)
> >>> case DP_LINK_BW_2_7:
> >>> break;
> >>> case DP_LINK_BW_5_4: /* 1.2 capable displays may advertise higher bw */
> >>> - if (((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) ||
> >>> + if (IS_SKYLAKE(dev) && INTEL_REVID(dev) <= SKL_REVID_B0)
> >>> + /* WaDisableHBR2:skl */
> >>> + max_link_bw = DP_LINK_BW_2_7;
> >>> + else if (((IS_HASWELL(dev) && !IS_HSW_ULX(dev)) ||
> >>> INTEL_INFO(dev)->gen >= 8) &&
> >>> intel_dp->dpcd[DP_DPCD_REV] >= 0x12)
> >>> max_link_bw = DP_LINK_BW_5_4;
> >>>
> >>
> >> Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
> >> Tested-by: Jesse Barnes <jbarnes@virtuousgeek.org>
> >
> > Potentially
> >
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89554
>
> Yeah hopefully. I definitely need it here for eDP to come up reliably.
Queued for -next, thanks for the patch.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 49+ messages in thread
end of thread, other threads:[~2015-03-13 9:19 UTC | newest]
Thread overview: 49+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-09 19:33 [PATCH 00/18] A few more workarounds Damien Lespiau
2015-02-09 19:33 ` [PATCH 01/18] drm/i915: Support not having an init clock gating function defined Damien Lespiau
2015-02-10 9:39 ` Daniel Vetter
2015-02-11 14:44 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 02/18] drm/i915/skl: Implement WaDisableHBR2 Damien Lespiau
2015-02-11 14:49 ` Nick Hoath
2015-02-11 17:43 ` [PATCH v2] " Damien Lespiau
2015-02-13 5:09 ` shuang.he
2015-03-12 18:18 ` Jesse Barnes
2015-03-12 18:36 ` Jani Nikula
2015-03-12 19:03 ` Jesse Barnes
2015-03-13 9:21 ` Daniel Vetter
2015-02-09 19:33 ` [PATCH 03/18] drm/i915/skl: Document the WM read latency W/A with its name Damien Lespiau
2015-02-11 14:51 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 04/18] drm/i915/skl: Provide a gen9 specific init_render_ring() Damien Lespiau
2015-02-11 14:52 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 05/18] drm/i915/skl: Make the init clock gating function skylake specific Damien Lespiau
2015-02-11 14:56 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 06/18] drm/i915/skl: Implement WaSetGAPSunitClckGateDisable Damien Lespiau
2015-02-11 14:56 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 07/18] drm/i915/skl: Implement WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken Damien Lespiau
2015-02-12 13:29 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 08/18] drm/i915/skl: Document that we implement WaRsClearFWBitsAtReset Damien Lespiau
2015-02-11 15:08 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 09/18] drm/i915/skl: Implement WaEnableLbsSlaRetryTimerDecrement Damien Lespiau
2015-02-12 15:09 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 10/18] drm/i915/skl: Implement WaDisableVFUnitClockGating Damien Lespiau
2015-02-11 15:21 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 11/18] drm/i915/skl: Introduce a SKL specific init_workarounds() Damien Lespiau
2015-02-11 15:24 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 12/18] drm/i915/skl: Implement WaDisablePowerCompilerClockGating Damien Lespiau
2015-02-11 15:29 ` Nick Hoath
2015-02-11 17:48 ` Damien Lespiau
2015-02-18 9:57 ` Nick Hoath
2015-02-23 16:31 ` Daniel Vetter
2015-02-09 19:33 ` [PATCH 13/18] drm/i915/skl: Implement WaDisablePartialResolveInVc Damien Lespiau
2015-02-11 15:31 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 14/18] drm/i915/skl: Implement WaDisableLSQCROPERFforOCL Damien Lespiau
2015-02-11 15:34 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 15/18] drm/i915/skl: Implement WaDisableHDCInvalidation Damien Lespiau
2015-02-11 15:39 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 16/18] drm/i915/skl: Implement WaDisableChickenBitTSGBarrierAckForFFSliceCS Damien Lespiau
2015-02-11 15:42 ` Nick Hoath
2015-02-11 16:04 ` Daniel Vetter
2015-02-09 19:33 ` [PATCH 17/18] drm/i915/skl: Implement WaCcsTlbPrefetchDisable:skl Damien Lespiau
2015-02-11 15:44 ` Nick Hoath
2015-02-09 19:33 ` [PATCH 18/18] drm/i915/skl: Implement WaBarrierPerformanceFixDisable Damien Lespiau
2015-02-10 14:02 ` shuang.he
2015-02-11 15:51 ` Nick Hoath
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.