All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915/gen9: Add WaInPlaceDecompressionHang
@ 2016-06-17 12:39 Mika Kuoppala
  2016-06-17 13:38 ` ✗ Ro.CI.BAT: warning for " Patchwork
  2016-06-23  9:59 ` [PATCH] " Arun Siluvery
  0 siblings, 2 replies; 3+ messages in thread
From: Mika Kuoppala @ 2016-06-17 12:39 UTC (permalink / raw)
  To: intel-gfx

Add this workaround to prevent hang when in place compression
is used.

References: HSD#2135774
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
---
 drivers/gpu/drm/i915/i915_drv.h         |  2 ++
 drivers/gpu/drm/i915/i915_reg.h         |  3 +++
 drivers/gpu/drm/i915/intel_ringbuffer.c | 14 ++++++++++++++
 3 files changed, 19 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 9fa9698fe247..d6818dcd9930 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -2709,6 +2709,8 @@ struct drm_i915_cmd_table {
 #define SKL_REVID_D0		0x3
 #define SKL_REVID_E0		0x4
 #define SKL_REVID_F0		0x5
+#define SKL_REVID_G0		0x6
+#define SKL_REVID_H0		0x7
 
 #define IS_SKL_REVID(p, since, until) (IS_SKYLAKE(p) && IS_REVID(p, since, until))
 
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index ff87d0b58d91..aaaba9fc2ed2 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -1686,6 +1686,9 @@ enum skl_disp_power_wells {
 
 #define GEN7_TLB_RD_ADDR	_MMIO(0x4700)
 
+#define GEN9_GAMT_ECO_REG_RW_IA _MMIO(0x4ab0)
+#define   GAMT_ECO_ENABLE_IN_PLACE_DECOMPRESS	(1<<18)
+
 #define GAMT_CHKN_BIT_REG	_MMIO(0x4ab8)
 #define   GAMT_CHKN_DISABLE_DYNAMIC_CREDIT_SHARING	(1<<28)
 
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index fedd27049814..c3399be9f917 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -1128,6 +1128,11 @@ static int skl_init_workarounds(struct intel_engine_cs *engine)
 	/* WaDisableGafsUnitClkGating:skl */
 	WA_SET_BIT(GEN7_UCGCTL4, GEN8_EU_GAUNIT_CLOCK_GATE_DISABLE);
 
+	/* WaInPlaceDecompressionHang:skl */
+	if (IS_SKL_REVID(dev_priv, SKL_REVID_H0, REVID_FOREVER))
+	WA_SET_BIT(GEN9_GAMT_ECO_REG_RW_IA,
+		   GAMT_ECO_ENABLE_IN_PLACE_DECOMPRESS);
+
 	/* WaDisableLSQCROPERFforOCL:skl */
 	ret = wa_ring_whitelist_reg(engine, GEN8_L3SQCREG4);
 	if (ret)
@@ -1197,6 +1202,11 @@ static int bxt_init_workarounds(struct intel_engine_cs *engine)
 		WA_SET_BIT_MASKED(COMMON_SLICE_CHICKEN2,
 				  GEN8_SBE_DISABLE_REPLAY_BUF_OPTIMIZATION);
 
+	/* WaInPlaceDecompressionHang:bxt */
+	if (IS_BXT_REVID(dev_priv, BXT_REVID_C0, REVID_FOREVER))
+		WA_SET_BIT(GEN9_GAMT_ECO_REG_RW_IA,
+			   GAMT_ECO_ENABLE_IN_PLACE_DECOMPRESS);
+
 	return 0;
 }
 
@@ -1244,6 +1254,10 @@ static int kbl_init_workarounds(struct intel_engine_cs *engine)
 		GEN7_HALF_SLICE_CHICKEN1,
 		GEN7_SBE_SS_CACHE_DISPATCH_PORT_SHARING_DISABLE);
 
+	/* WaInPlaceDecompressionHang:kbl */
+	WA_SET_BIT(GEN9_GAMT_ECO_REG_RW_IA,
+		   GAMT_ECO_ENABLE_IN_PLACE_DECOMPRESS);
+
 	/* WaDisableLSQCROPERFforOCL:kbl */
 	ret = wa_ring_whitelist_reg(engine, GEN8_L3SQCREG4);
 	if (ret)
-- 
2.7.4

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

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* ✗ Ro.CI.BAT: warning for drm/i915/gen9: Add WaInPlaceDecompressionHang
  2016-06-17 12:39 [PATCH] drm/i915/gen9: Add WaInPlaceDecompressionHang Mika Kuoppala
@ 2016-06-17 13:38 ` Patchwork
  2016-06-23  9:59 ` [PATCH] " Arun Siluvery
  1 sibling, 0 replies; 3+ messages in thread
From: Patchwork @ 2016-06-17 13:38 UTC (permalink / raw)
  To: Mika Kuoppala; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/gen9: Add WaInPlaceDecompressionHang
URL   : https://patchwork.freedesktop.org/series/8832/
State : warning

== Summary ==

Series 8832v1 drm/i915/gen9: Add WaInPlaceDecompressionHang
http://patchwork.freedesktop.org/api/1.0/series/8832/revisions/1/mbox

Test kms_pipe_crc_basic:
        Subgroup nonblocking-crc-pipe-b-frame-sequence:
                skip       -> PASS       (fi-skl-i5-6260u)
        Subgroup suspend-read-crc-pipe-b:
                dmesg-warn -> SKIP       (ro-bdw-i5-5250u)
                pass       -> SKIP       (fi-skl-i5-6260u)

fi-skl-i5-6260u  total:213  pass:200  dwarn:1   dfail:0   fail:0   skip:12 
fi-skl-i7-6700k  total:213  pass:187  dwarn:1   dfail:0   fail:0   skip:25 
fi-snb-i7-2600   total:213  pass:173  dwarn:1   dfail:0   fail:0   skip:39 
ro-bdw-i5-5250u  total:213  pass:196  dwarn:3   dfail:0   fail:0   skip:14 
ro-bdw-i7-5557U  total:213  pass:197  dwarn:1   dfail:0   fail:0   skip:15 
ro-bdw-i7-5600u  total:213  pass:184  dwarn:1   dfail:0   fail:0   skip:28 
ro-bsw-n3050     total:213  pass:171  dwarn:1   dfail:0   fail:2   skip:39 
ro-hsw-i3-4010u  total:213  pass:189  dwarn:1   dfail:0   fail:0   skip:23 
ro-hsw-i7-4770r  total:213  pass:189  dwarn:1   dfail:0   fail:0   skip:23 
ro-ilk-i7-620lm  total:22   pass:0    dwarn:7   dfail:0   fail:0   skip:14 
ro-ilk1-i5-650   total:208  pass:149  dwarn:1   dfail:0   fail:1   skip:57 
ro-ivb-i7-3770   total:213  pass:180  dwarn:1   dfail:0   fail:0   skip:32 
ro-ivb2-i7-3770  total:213  pass:184  dwarn:1   dfail:0   fail:0   skip:28 
ro-skl3-i5-6260u total:213  pass:201  dwarn:1   dfail:0   fail:0   skip:11 
ro-snb-i7-2620M  total:213  pass:173  dwarn:1   dfail:0   fail:1   skip:38 
fi-hsw-i7-4770k failed to connect after reboot
ro-byt-n2820 failed to connect after reboot

Results at /archive/results/CI_IGT_test/RO_Patchwork_1211/

fd42414 drm-intel-nightly: 2016y-06m-17d-12h-43m-52s UTC integration manifest
f40d764 drm/i915/gen9: Add WaInPlaceDecompressionHang

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] drm/i915/gen9: Add WaInPlaceDecompressionHang
  2016-06-17 12:39 [PATCH] drm/i915/gen9: Add WaInPlaceDecompressionHang Mika Kuoppala
  2016-06-17 13:38 ` ✗ Ro.CI.BAT: warning for " Patchwork
@ 2016-06-23  9:59 ` Arun Siluvery
  1 sibling, 0 replies; 3+ messages in thread
From: Arun Siluvery @ 2016-06-23  9:59 UTC (permalink / raw)
  To: Mika Kuoppala, intel-gfx

On 17/06/2016 13:39, Mika Kuoppala wrote:
> Add this workaround to prevent hang when in place compression
> is used.
>
> References: HSD#2135774
> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
> ---
>   drivers/gpu/drm/i915/i915_drv.h         |  2 ++
>   drivers/gpu/drm/i915/i915_reg.h         |  3 +++
>   drivers/gpu/drm/i915/intel_ringbuffer.c | 14 ++++++++++++++
>   3 files changed, 19 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 9fa9698fe247..d6818dcd9930 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -2709,6 +2709,8 @@ struct drm_i915_cmd_table {
>   #define SKL_REVID_D0		0x3
>   #define SKL_REVID_E0		0x4
>   #define SKL_REVID_F0		0x5
> +#define SKL_REVID_G0		0x6
> +#define SKL_REVID_H0		0x7
>
>   #define IS_SKL_REVID(p, since, until) (IS_SKYLAKE(p) && IS_REVID(p, since, until))
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index ff87d0b58d91..aaaba9fc2ed2 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -1686,6 +1686,9 @@ enum skl_disp_power_wells {
>
>   #define GEN7_TLB_RD_ADDR	_MMIO(0x4700)
>
> +#define GEN9_GAMT_ECO_REG_RW_IA _MMIO(0x4ab0)
> +#define   GAMT_ECO_ENABLE_IN_PLACE_DECOMPRESS	(1<<18)
> +
>   #define GAMT_CHKN_BIT_REG	_MMIO(0x4ab8)
>   #define   GAMT_CHKN_DISABLE_DYNAMIC_CREDIT_SHARING	(1<<28)
>
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index fedd27049814..c3399be9f917 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -1128,6 +1128,11 @@ static int skl_init_workarounds(struct intel_engine_cs *engine)
>   	/* WaDisableGafsUnitClkGating:skl */
>   	WA_SET_BIT(GEN7_UCGCTL4, GEN8_EU_GAUNIT_CLOCK_GATE_DISABLE);
>
> +	/* WaInPlaceDecompressionHang:skl */
> +	if (IS_SKL_REVID(dev_priv, SKL_REVID_H0, REVID_FOREVER))
> +	WA_SET_BIT(GEN9_GAMT_ECO_REG_RW_IA,
> +		   GAMT_ECO_ENABLE_IN_PLACE_DECOMPRESS);
> +
indentation issue.

>   	/* WaDisableLSQCROPERFforOCL:skl */
>   	ret = wa_ring_whitelist_reg(engine, GEN8_L3SQCREG4);
>   	if (ret)
> @@ -1197,6 +1202,11 @@ static int bxt_init_workarounds(struct intel_engine_cs *engine)
>   		WA_SET_BIT_MASKED(COMMON_SLICE_CHICKEN2,
>   				  GEN8_SBE_DISABLE_REPLAY_BUF_OPTIMIZATION);
>
> +	/* WaInPlaceDecompressionHang:bxt */
> +	if (IS_BXT_REVID(dev_priv, BXT_REVID_C0, REVID_FOREVER))
> +		WA_SET_BIT(GEN9_GAMT_ECO_REG_RW_IA,
> +			   GAMT_ECO_ENABLE_IN_PLACE_DECOMPRESS);
> +
>   	return 0;
>   }
>
> @@ -1244,6 +1254,10 @@ static int kbl_init_workarounds(struct intel_engine_cs *engine)
>   		GEN7_HALF_SLICE_CHICKEN1,
>   		GEN7_SBE_SS_CACHE_DISPATCH_PORT_SHARING_DISABLE);
>
> +	/* WaInPlaceDecompressionHang:kbl */
> +	WA_SET_BIT(GEN9_GAMT_ECO_REG_RW_IA,
> +		   GAMT_ECO_ENABLE_IN_PLACE_DECOMPRESS);
> +
>   	/* WaDisableLSQCROPERFforOCL:kbl */
>   	ret = wa_ring_whitelist_reg(engine, GEN8_L3SQCREG4);
>   	if (ret)
>
with the indentation fixed, it is,
Reviewed-by: Arun Siluvery <arun.siluvery@linux.intel.com>

regards
Arun

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-06-23  9:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-17 12:39 [PATCH] drm/i915/gen9: Add WaInPlaceDecompressionHang Mika Kuoppala
2016-06-17 13:38 ` ✗ Ro.CI.BAT: warning for " Patchwork
2016-06-23  9:59 ` [PATCH] " Arun Siluvery

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.