All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl"
@ 2019-02-13 16:54 Ville Syrjala
  2019-02-13 16:54 ` [PATCH 2/3] drm/i915: Include "ignore lines" in skl+ wm state Ville Syrjala
                   ` (6 more replies)
  0 siblings, 7 replies; 12+ messages in thread
From: Ville Syrjala @ 2019-02-13 16:54 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

This reverts commit bf002c100740f4ae01d0d86b44f65a712ee14031.

The hw team has come up with a better workaround. So
let's get rid of this one.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_reg.h      | 1 -
 drivers/gpu/drm/i915/intel_display.c | 6 ------
 2 files changed, 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 0df8c6e76da7..f3f0b53c9e0e 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -7653,7 +7653,6 @@ enum {
 #define _PIPEB_CHICKEN			0x71038
 #define _PIPEC_CHICKEN			0x72038
 #define  PER_PIXEL_ALPHA_BYPASS_EN	(1 << 7)
-#define  PM_FILL_MAINTAIN_DBUF_FULLNESS	(1 << 0)
 #define PIPE_CHICKEN(pipe)		_MMIO_PIPE(pipe, _PIPEA_CHICKEN,\
 						   _PIPEB_CHICKEN)
 
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 0a8913b2059e..73a107b6eb9a 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3971,12 +3971,6 @@ static void icl_set_pipe_chicken(struct intel_crtc *crtc)
 	 */
 	tmp |= PER_PIXEL_ALPHA_BYPASS_EN;
 
-	/*
-	 * W/A for underruns with linear/X-tiled with
-	 * WM1+ disabled.
-	 */
-	tmp |= PM_FILL_MAINTAIN_DBUF_FULLNESS;
-
 	I915_WRITE(PIPE_CHICKEN(pipe), tmp);
 }
 
-- 
2.19.2

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

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

* [PATCH 2/3] drm/i915: Include "ignore lines" in skl+ wm state
  2019-02-13 16:54 [PATCH 1/3] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl" Ville Syrjala
@ 2019-02-13 16:54 ` Ville Syrjala
  2019-02-13 19:44   ` Clinton Taylor
  2019-02-13 16:54 ` [PATCH 3/3] drm/i915: Implement new w/a for underruns with wm1+ disabled Ville Syrjala
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 12+ messages in thread
From: Ville Syrjala @ 2019-02-13 16:54 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

We'll need to poke at the "ignore lines" bit in the skl+
watermark registers for a w/a. Include that bit in the wm
state.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_drv.h |  1 +
 drivers/gpu/drm/i915/i915_reg.h |  1 +
 drivers/gpu/drm/i915/intel_pm.c | 44 +++++++++++++++++++++------------
 3 files changed, 30 insertions(+), 16 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 17fe942eaafa..5c8d0489a1cd 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1126,6 +1126,7 @@ struct skl_wm_level {
 	u16 plane_res_b;
 	u8 plane_res_l;
 	bool plane_en;
+	bool ignore_lines;
 };
 
 /* Stores plane specific WM parameters */
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index f3f0b53c9e0e..7b3c41e9771f 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -6032,6 +6032,7 @@ enum {
 #define _CUR_WM_TRANS_A_0	0x70168
 #define _CUR_WM_TRANS_B_0	0x71168
 #define   PLANE_WM_EN		(1 << 31)
+#define   PLANE_WM_IGNORE_LINES	(1 << 30)
 #define   PLANE_WM_LINES_SHIFT	14
 #define   PLANE_WM_LINES_MASK	0x1f
 #define   PLANE_WM_BLOCKS_MASK	0x7ff /* skl+: 10 bits, icl+ 11 bits */
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index ea492fff6bf8..7dd2ab0ca21b 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -5056,11 +5056,12 @@ static void skl_write_wm_level(struct drm_i915_private *dev_priv,
 {
 	u32 val = 0;
 
-	if (level->plane_en) {
+	if (level->plane_en)
 		val |= PLANE_WM_EN;
-		val |= level->plane_res_b;
-		val |= level->plane_res_l << PLANE_WM_LINES_SHIFT;
-	}
+	if (level->ignore_lines)
+		val |= PLANE_WM_IGNORE_LINES;
+	val |= level->plane_res_b;
+	val |= level->plane_res_l << PLANE_WM_LINES_SHIFT;
 
 	I915_WRITE_FW(reg, val);
 }
@@ -5126,6 +5127,7 @@ bool skl_wm_level_equals(const struct skl_wm_level *l1,
 			 const struct skl_wm_level *l2)
 {
 	return l1->plane_en == l2->plane_en &&
+		l1->ignore_lines == l2->ignore_lines &&
 		l1->plane_res_l == l2->plane_res_l &&
 		l1->plane_res_b == l2->plane_res_b;
 }
@@ -5334,19 +5336,28 @@ skl_print_wm_changes(struct intel_atomic_state *state)
 				      enast(new_wm->wm[6].plane_en), enast(new_wm->wm[7].plane_en),
 				      enast(new_wm->trans_wm.plane_en));
 
-			DRM_DEBUG_KMS("[PLANE:%d:%s]   lines %4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d"
-				      " -> %4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d\n",
+			DRM_DEBUG_KMS("[PLANE:%d:%s]   lines %c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d"
+				      " -> %c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d\n",
 				      plane->base.base.id, plane->base.name,
-				      old_wm->wm[0].plane_res_l, old_wm->wm[1].plane_res_l,
-				      old_wm->wm[2].plane_res_l, old_wm->wm[3].plane_res_l,
-				      old_wm->wm[4].plane_res_l, old_wm->wm[5].plane_res_l,
-				      old_wm->wm[6].plane_res_l, old_wm->wm[7].plane_res_l,
-				      old_wm->trans_wm.plane_res_l,
-				      new_wm->wm[0].plane_res_l, new_wm->wm[1].plane_res_l,
-				      new_wm->wm[2].plane_res_l, new_wm->wm[3].plane_res_l,
-				      new_wm->wm[4].plane_res_l, new_wm->wm[5].plane_res_l,
-				      new_wm->wm[6].plane_res_l, new_wm->wm[7].plane_res_l,
-				      new_wm->trans_wm.plane_res_l);
+				      enast(old_wm->wm[0].ignore_lines), old_wm->wm[0].plane_res_l,
+				      enast(old_wm->wm[1].ignore_lines), old_wm->wm[1].plane_res_l,
+				      enast(old_wm->wm[2].ignore_lines), old_wm->wm[2].plane_res_l,
+				      enast(old_wm->wm[3].ignore_lines), old_wm->wm[3].plane_res_l,
+				      enast(old_wm->wm[4].ignore_lines), old_wm->wm[4].plane_res_l,
+				      enast(old_wm->wm[5].ignore_lines), old_wm->wm[5].plane_res_l,
+				      enast(old_wm->wm[6].ignore_lines), old_wm->wm[6].plane_res_l,
+				      enast(old_wm->wm[7].ignore_lines), old_wm->wm[7].plane_res_l,
+				      enast(old_wm->trans_wm.ignore_lines), old_wm->trans_wm.plane_res_l,
+
+				      enast(new_wm->wm[0].ignore_lines), new_wm->wm[0].plane_res_l,
+				      enast(new_wm->wm[1].ignore_lines), new_wm->wm[1].plane_res_l,
+				      enast(new_wm->wm[2].ignore_lines), new_wm->wm[2].plane_res_l,
+				      enast(new_wm->wm[3].ignore_lines), new_wm->wm[3].plane_res_l,
+				      enast(new_wm->wm[4].ignore_lines), new_wm->wm[4].plane_res_l,
+				      enast(new_wm->wm[5].ignore_lines), new_wm->wm[5].plane_res_l,
+				      enast(new_wm->wm[6].ignore_lines), new_wm->wm[6].plane_res_l,
+				      enast(new_wm->wm[7].ignore_lines), new_wm->wm[7].plane_res_l,
+				      enast(new_wm->trans_wm.ignore_lines), new_wm->trans_wm.plane_res_l);
 
 			DRM_DEBUG_KMS("[PLANE:%d:%s]  blocks %4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d"
 				      " -> %4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d\n",
@@ -5689,6 +5700,7 @@ static inline void skl_wm_level_from_reg_val(u32 val,
 					     struct skl_wm_level *level)
 {
 	level->plane_en = val & PLANE_WM_EN;
+	level->ignore_lines = val & PLANE_WM_IGNORE_LINES;
 	level->plane_res_b = val & PLANE_WM_BLOCKS_MASK;
 	level->plane_res_l = (val >> PLANE_WM_LINES_SHIFT) &
 		PLANE_WM_LINES_MASK;
-- 
2.19.2

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

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

* [PATCH 3/3] drm/i915: Implement new w/a for underruns with wm1+ disabled
  2019-02-13 16:54 [PATCH 1/3] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl" Ville Syrjala
  2019-02-13 16:54 ` [PATCH 2/3] drm/i915: Include "ignore lines" in skl+ wm state Ville Syrjala
@ 2019-02-13 16:54 ` Ville Syrjala
  2019-02-13 20:04   ` Clinton Taylor
  2019-02-13 19:40 ` [PATCH 1/3] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl" Clinton Taylor
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 12+ messages in thread
From: Ville Syrjala @ 2019-02-13 16:54 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

The new workaround from the hw team involves programming the
leaving WM1 still disabled but programming the blocks value
identically to WM0, and we also need to set the "ignore
lines watermark" bit for WM1.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/intel_pm.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 7dd2ab0ca21b..4c0e43caa5cd 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -4466,6 +4466,13 @@ skl_allocate_pipe_ddb(struct intel_crtc_state *cstate,
 		for_each_plane_id_on_crtc(intel_crtc, plane_id) {
 			wm = &cstate->wm.skl.optimal.planes[plane_id];
 			memset(&wm->wm[level], 0, sizeof(wm->wm[level]));
+
+			/* W/A for underruns with WM1+ disabled */
+			if (IS_ICELAKE(dev_priv) &&
+			    level == 1 && wm->wm[0].plane_en) {
+				wm->wm[level].plane_res_b = wm->wm[0].plane_res_b;
+				wm->wm[level].ignore_lines = true;
+			}
 		}
 	}
 
-- 
2.19.2

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

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

* Re: [PATCH 1/3] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl"
  2019-02-13 16:54 [PATCH 1/3] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl" Ville Syrjala
  2019-02-13 16:54 ` [PATCH 2/3] drm/i915: Include "ignore lines" in skl+ wm state Ville Syrjala
  2019-02-13 16:54 ` [PATCH 3/3] drm/i915: Implement new w/a for underruns with wm1+ disabled Ville Syrjala
@ 2019-02-13 19:40 ` Clinton Taylor
  2019-02-14 12:47 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/3] " Patchwork
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 12+ messages in thread
From: Clinton Taylor @ 2019-02-13 19:40 UTC (permalink / raw)
  To: Ville Syrjala, intel-gfx

Reviewed-by: Clint Taylor <Clinton.A.Taylor@intel.com>

-Clint


On 2/13/19 8:54 AM, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> This reverts commit bf002c100740f4ae01d0d86b44f65a712ee14031.
>
> The hw team has come up with a better workaround. So
> let's get rid of this one.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>   drivers/gpu/drm/i915/i915_reg.h      | 1 -
>   drivers/gpu/drm/i915/intel_display.c | 6 ------
>   2 files changed, 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 0df8c6e76da7..f3f0b53c9e0e 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -7653,7 +7653,6 @@ enum {
>   #define _PIPEB_CHICKEN			0x71038
>   #define _PIPEC_CHICKEN			0x72038
>   #define  PER_PIXEL_ALPHA_BYPASS_EN	(1 << 7)
> -#define  PM_FILL_MAINTAIN_DBUF_FULLNESS	(1 << 0)
>   #define PIPE_CHICKEN(pipe)		_MMIO_PIPE(pipe, _PIPEA_CHICKEN,\
>   						   _PIPEB_CHICKEN)
>   
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 0a8913b2059e..73a107b6eb9a 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -3971,12 +3971,6 @@ static void icl_set_pipe_chicken(struct intel_crtc *crtc)
>   	 */
>   	tmp |= PER_PIXEL_ALPHA_BYPASS_EN;
>   
> -	/*
> -	 * W/A for underruns with linear/X-tiled with
> -	 * WM1+ disabled.
> -	 */
> -	tmp |= PM_FILL_MAINTAIN_DBUF_FULLNESS;
> -
>   	I915_WRITE(PIPE_CHICKEN(pipe), tmp);
>   }
>   
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH 2/3] drm/i915: Include "ignore lines" in skl+ wm state
  2019-02-13 16:54 ` [PATCH 2/3] drm/i915: Include "ignore lines" in skl+ wm state Ville Syrjala
@ 2019-02-13 19:44   ` Clinton Taylor
  2019-02-13 21:28     ` Ville Syrjälä
  0 siblings, 1 reply; 12+ messages in thread
From: Clinton Taylor @ 2019-02-13 19:44 UTC (permalink / raw)
  To: Ville Syrjala, intel-gfx


On 2/13/19 8:54 AM, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> We'll need to poke at the "ignore lines" bit in the skl+
> watermark registers for a w/a. Include that bit in the wm
> state.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>   drivers/gpu/drm/i915/i915_drv.h |  1 +
>   drivers/gpu/drm/i915/i915_reg.h |  1 +
>   drivers/gpu/drm/i915/intel_pm.c | 44 +++++++++++++++++++++------------
>   3 files changed, 30 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 17fe942eaafa..5c8d0489a1cd 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1126,6 +1126,7 @@ struct skl_wm_level {
>   	u16 plane_res_b;
>   	u8 plane_res_l;
>   	bool plane_en;
> +	bool ignore_lines;
>   };
>   
>   /* Stores plane specific WM parameters */
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index f3f0b53c9e0e..7b3c41e9771f 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -6032,6 +6032,7 @@ enum {
>   #define _CUR_WM_TRANS_A_0	0x70168
>   #define _CUR_WM_TRANS_B_0	0x71168
>   #define   PLANE_WM_EN		(1 << 31)
> +#define   PLANE_WM_IGNORE_LINES	(1 << 30)
>   #define   PLANE_WM_LINES_SHIFT	14
>   #define   PLANE_WM_LINES_MASK	0x1f
>   #define   PLANE_WM_BLOCKS_MASK	0x7ff /* skl+: 10 bits, icl+ 11 bits */
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index ea492fff6bf8..7dd2ab0ca21b 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -5056,11 +5056,12 @@ static void skl_write_wm_level(struct drm_i915_private *dev_priv,
>   {
>   	u32 val = 0;
>   
> -	if (level->plane_en) {
> +	if (level->plane_en)
>   		val |= PLANE_WM_EN;
> -		val |= level->plane_res_b;
> -		val |= level->plane_res_l << PLANE_WM_LINES_SHIFT;
> -	}
> +	if (level->ignore_lines)
> +		val |= PLANE_WM_IGNORE_LINES;
> +	val |= level->plane_res_b;
> +	val |= level->plane_res_l << PLANE_WM_LINES_SHIFT;

Is there a reason to program IGNORE_LINES, plane_res_b, and plane_res_l 
even when PLANE_WM_EN is not set? This is a change to functionality not 
described in the commit message.

Since the WM is not enabled anyway:

Reviewed-by: Clint Taylor <Clinton.A.Taylor@intel.com>

-Clint


>   
>   	I915_WRITE_FW(reg, val);
>   }
> @@ -5126,6 +5127,7 @@ bool skl_wm_level_equals(const struct skl_wm_level *l1,
>   			 const struct skl_wm_level *l2)
>   {
>   	return l1->plane_en == l2->plane_en &&
> +		l1->ignore_lines == l2->ignore_lines &&
>   		l1->plane_res_l == l2->plane_res_l &&
>   		l1->plane_res_b == l2->plane_res_b;
>   }
> @@ -5334,19 +5336,28 @@ skl_print_wm_changes(struct intel_atomic_state *state)
>   				      enast(new_wm->wm[6].plane_en), enast(new_wm->wm[7].plane_en),
>   				      enast(new_wm->trans_wm.plane_en));
>   
> -			DRM_DEBUG_KMS("[PLANE:%d:%s]   lines %4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d"
> -				      " -> %4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d\n",
> +			DRM_DEBUG_KMS("[PLANE:%d:%s]   lines %c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d"
> +				      " -> %c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d\n",
>   				      plane->base.base.id, plane->base.name,
> -				      old_wm->wm[0].plane_res_l, old_wm->wm[1].plane_res_l,
> -				      old_wm->wm[2].plane_res_l, old_wm->wm[3].plane_res_l,
> -				      old_wm->wm[4].plane_res_l, old_wm->wm[5].plane_res_l,
> -				      old_wm->wm[6].plane_res_l, old_wm->wm[7].plane_res_l,
> -				      old_wm->trans_wm.plane_res_l,
> -				      new_wm->wm[0].plane_res_l, new_wm->wm[1].plane_res_l,
> -				      new_wm->wm[2].plane_res_l, new_wm->wm[3].plane_res_l,
> -				      new_wm->wm[4].plane_res_l, new_wm->wm[5].plane_res_l,
> -				      new_wm->wm[6].plane_res_l, new_wm->wm[7].plane_res_l,
> -				      new_wm->trans_wm.plane_res_l);
> +				      enast(old_wm->wm[0].ignore_lines), old_wm->wm[0].plane_res_l,
> +				      enast(old_wm->wm[1].ignore_lines), old_wm->wm[1].plane_res_l,
> +				      enast(old_wm->wm[2].ignore_lines), old_wm->wm[2].plane_res_l,
> +				      enast(old_wm->wm[3].ignore_lines), old_wm->wm[3].plane_res_l,
> +				      enast(old_wm->wm[4].ignore_lines), old_wm->wm[4].plane_res_l,
> +				      enast(old_wm->wm[5].ignore_lines), old_wm->wm[5].plane_res_l,
> +				      enast(old_wm->wm[6].ignore_lines), old_wm->wm[6].plane_res_l,
> +				      enast(old_wm->wm[7].ignore_lines), old_wm->wm[7].plane_res_l,
> +				      enast(old_wm->trans_wm.ignore_lines), old_wm->trans_wm.plane_res_l,
> +
> +				      enast(new_wm->wm[0].ignore_lines), new_wm->wm[0].plane_res_l,
> +				      enast(new_wm->wm[1].ignore_lines), new_wm->wm[1].plane_res_l,
> +				      enast(new_wm->wm[2].ignore_lines), new_wm->wm[2].plane_res_l,
> +				      enast(new_wm->wm[3].ignore_lines), new_wm->wm[3].plane_res_l,
> +				      enast(new_wm->wm[4].ignore_lines), new_wm->wm[4].plane_res_l,
> +				      enast(new_wm->wm[5].ignore_lines), new_wm->wm[5].plane_res_l,
> +				      enast(new_wm->wm[6].ignore_lines), new_wm->wm[6].plane_res_l,
> +				      enast(new_wm->wm[7].ignore_lines), new_wm->wm[7].plane_res_l,
> +				      enast(new_wm->trans_wm.ignore_lines), new_wm->trans_wm.plane_res_l);
>   
>   			DRM_DEBUG_KMS("[PLANE:%d:%s]  blocks %4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d"
>   				      " -> %4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d\n",
> @@ -5689,6 +5700,7 @@ static inline void skl_wm_level_from_reg_val(u32 val,
>   					     struct skl_wm_level *level)
>   {
>   	level->plane_en = val & PLANE_WM_EN;
> +	level->ignore_lines = val & PLANE_WM_IGNORE_LINES;
>   	level->plane_res_b = val & PLANE_WM_BLOCKS_MASK;
>   	level->plane_res_l = (val >> PLANE_WM_LINES_SHIFT) &
>   		PLANE_WM_LINES_MASK;
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH 3/3] drm/i915: Implement new w/a for underruns with wm1+ disabled
  2019-02-13 16:54 ` [PATCH 3/3] drm/i915: Implement new w/a for underruns with wm1+ disabled Ville Syrjala
@ 2019-02-13 20:04   ` Clinton Taylor
  2019-02-13 20:36     ` Clinton Taylor
  0 siblings, 1 reply; 12+ messages in thread
From: Clinton Taylor @ 2019-02-13 20:04 UTC (permalink / raw)
  To: Ville Syrjala, intel-gfx

Reviewed-by: Clint Taylor <Clinton.A.Taylor@intel.com>

-Clint

On 2/13/19 8:54 AM, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> The new workaround from the hw team involves programming the
> leaving WM1 still disabled but programming the blocks value
> identically to WM0, and we also need to set the "ignore
> lines watermark" bit for WM1.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>   drivers/gpu/drm/i915/intel_pm.c | 7 +++++++
>   1 file changed, 7 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 7dd2ab0ca21b..4c0e43caa5cd 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -4466,6 +4466,13 @@ skl_allocate_pipe_ddb(struct intel_crtc_state *cstate,
>   		for_each_plane_id_on_crtc(intel_crtc, plane_id) {
>   			wm = &cstate->wm.skl.optimal.planes[plane_id];
>   			memset(&wm->wm[level], 0, sizeof(wm->wm[level]));
> +
> +			/* W/A for underruns with WM1+ disabled */
> +			if (IS_ICELAKE(dev_priv) &&
> +			    level == 1 && wm->wm[0].plane_en) {
> +				wm->wm[level].plane_res_b = wm->wm[0].plane_res_b;
> +				wm->wm[level].ignore_lines = true;
> +			}
>   		}
>   	}
>   
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH 3/3] drm/i915: Implement new w/a for underruns with wm1+ disabled
  2019-02-13 20:04   ` Clinton Taylor
@ 2019-02-13 20:36     ` Clinton Taylor
  0 siblings, 0 replies; 12+ messages in thread
From: Clinton Taylor @ 2019-02-13 20:36 UTC (permalink / raw)
  To: Ville Syrjala, intel-gfx

Tested with dual CRTC configuration shows many FIFO underruns even with 
this code. Single CRTC has not produced a FIFO underrun yet.

[ 7037.510737] [drm:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU 
pipe A FIFO underrun
[ 7040.769741] [drm:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU 
pipe A FIFO underrun
[ 7042.029447] [drm:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU 
pipe B FIFO underrun
[ 7056.579801] [drm:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU 
pipe A FIFO underrun
[ 7057.105212] [drm:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU 
pipe B FIFO underrun
[ 7063.600646] [drm:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU 
pipe A FIFO underrun
[ 7072.373733] [drm:intel_cpu_fifo_underrun_irq_handler] *ERROR* CPU 
pipe B FIFO underrun

-Clint



On 2/13/19 12:04 PM, Clinton Taylor wrote:
> Reviewed-by: Clint Taylor <Clinton.A.Taylor@intel.com>
>
> -Clint
>
> On 2/13/19 8:54 AM, Ville Syrjala wrote:
>> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>
>> The new workaround from the hw team involves programming the
>> leaving WM1 still disabled but programming the blocks value
>> identically to WM0, and we also need to set the "ignore
>> lines watermark" bit for WM1.
>>
>> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> ---
>>   drivers/gpu/drm/i915/intel_pm.c | 7 +++++++
>>   1 file changed, 7 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_pm.c 
>> b/drivers/gpu/drm/i915/intel_pm.c
>> index 7dd2ab0ca21b..4c0e43caa5cd 100644
>> --- a/drivers/gpu/drm/i915/intel_pm.c
>> +++ b/drivers/gpu/drm/i915/intel_pm.c
>> @@ -4466,6 +4466,13 @@ skl_allocate_pipe_ddb(struct intel_crtc_state 
>> *cstate,
>>           for_each_plane_id_on_crtc(intel_crtc, plane_id) {
>>               wm = &cstate->wm.skl.optimal.planes[plane_id];
>>               memset(&wm->wm[level], 0, sizeof(wm->wm[level]));
>> +
>> +            /* W/A for underruns with WM1+ disabled */
>> +            if (IS_ICELAKE(dev_priv) &&
>> +                level == 1 && wm->wm[0].plane_en) {
>> +                wm->wm[level].plane_res_b = wm->wm[0].plane_res_b;
>> +                wm->wm[level].ignore_lines = true;
>> +            }
>>           }
>>       }
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH 2/3] drm/i915: Include "ignore lines" in skl+ wm state
  2019-02-13 19:44   ` Clinton Taylor
@ 2019-02-13 21:28     ` Ville Syrjälä
  0 siblings, 0 replies; 12+ messages in thread
From: Ville Syrjälä @ 2019-02-13 21:28 UTC (permalink / raw)
  To: Clinton Taylor; +Cc: intel-gfx

On Wed, Feb 13, 2019 at 11:44:44AM -0800, Clinton Taylor wrote:
> 
> On 2/13/19 8:54 AM, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > We'll need to poke at the "ignore lines" bit in the skl+
> > watermark registers for a w/a. Include that bit in the wm
> > state.
> >
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> >   drivers/gpu/drm/i915/i915_drv.h |  1 +
> >   drivers/gpu/drm/i915/i915_reg.h |  1 +
> >   drivers/gpu/drm/i915/intel_pm.c | 44 +++++++++++++++++++++------------
> >   3 files changed, 30 insertions(+), 16 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> > index 17fe942eaafa..5c8d0489a1cd 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.h
> > +++ b/drivers/gpu/drm/i915/i915_drv.h
> > @@ -1126,6 +1126,7 @@ struct skl_wm_level {
> >   	u16 plane_res_b;
> >   	u8 plane_res_l;
> >   	bool plane_en;
> > +	bool ignore_lines;
> >   };
> >   
> >   /* Stores plane specific WM parameters */
> > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> > index f3f0b53c9e0e..7b3c41e9771f 100644
> > --- a/drivers/gpu/drm/i915/i915_reg.h
> > +++ b/drivers/gpu/drm/i915/i915_reg.h
> > @@ -6032,6 +6032,7 @@ enum {
> >   #define _CUR_WM_TRANS_A_0	0x70168
> >   #define _CUR_WM_TRANS_B_0	0x71168
> >   #define   PLANE_WM_EN		(1 << 31)
> > +#define   PLANE_WM_IGNORE_LINES	(1 << 30)
> >   #define   PLANE_WM_LINES_SHIFT	14
> >   #define   PLANE_WM_LINES_MASK	0x1f
> >   #define   PLANE_WM_BLOCKS_MASK	0x7ff /* skl+: 10 bits, icl+ 11 bits */
> > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> > index ea492fff6bf8..7dd2ab0ca21b 100644
> > --- a/drivers/gpu/drm/i915/intel_pm.c
> > +++ b/drivers/gpu/drm/i915/intel_pm.c
> > @@ -5056,11 +5056,12 @@ static void skl_write_wm_level(struct drm_i915_private *dev_priv,
> >   {
> >   	u32 val = 0;
> >   
> > -	if (level->plane_en) {
> > +	if (level->plane_en)
> >   		val |= PLANE_WM_EN;
> > -		val |= level->plane_res_b;
> > -		val |= level->plane_res_l << PLANE_WM_LINES_SHIFT;
> > -	}
> > +	if (level->ignore_lines)
> > +		val |= PLANE_WM_IGNORE_LINES;
> > +	val |= level->plane_res_b;
> > +	val |= level->plane_res_l << PLANE_WM_LINES_SHIFT;
> 
> Is there a reason to program IGNORE_LINES, plane_res_b, and plane_res_l 
> even when PLANE_WM_EN is not set? This is a change to functionality not 
> described in the commit message.

Everything will be zero when the wm is disabled, except in
this special case for wm1. Just programming everything always
makes the code less messy.

> 
> Since the WM is not enabled anyway:
> 
> Reviewed-by: Clint Taylor <Clinton.A.Taylor@intel.com>
> 
> -Clint
> 
> 
> >   
> >   	I915_WRITE_FW(reg, val);
> >   }
> > @@ -5126,6 +5127,7 @@ bool skl_wm_level_equals(const struct skl_wm_level *l1,
> >   			 const struct skl_wm_level *l2)
> >   {
> >   	return l1->plane_en == l2->plane_en &&
> > +		l1->ignore_lines == l2->ignore_lines &&
> >   		l1->plane_res_l == l2->plane_res_l &&
> >   		l1->plane_res_b == l2->plane_res_b;
> >   }
> > @@ -5334,19 +5336,28 @@ skl_print_wm_changes(struct intel_atomic_state *state)
> >   				      enast(new_wm->wm[6].plane_en), enast(new_wm->wm[7].plane_en),
> >   				      enast(new_wm->trans_wm.plane_en));
> >   
> > -			DRM_DEBUG_KMS("[PLANE:%d:%s]   lines %4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d"
> > -				      " -> %4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d\n",
> > +			DRM_DEBUG_KMS("[PLANE:%d:%s]   lines %c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d"
> > +				      " -> %c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d,%c%3d\n",
> >   				      plane->base.base.id, plane->base.name,
> > -				      old_wm->wm[0].plane_res_l, old_wm->wm[1].plane_res_l,
> > -				      old_wm->wm[2].plane_res_l, old_wm->wm[3].plane_res_l,
> > -				      old_wm->wm[4].plane_res_l, old_wm->wm[5].plane_res_l,
> > -				      old_wm->wm[6].plane_res_l, old_wm->wm[7].plane_res_l,
> > -				      old_wm->trans_wm.plane_res_l,
> > -				      new_wm->wm[0].plane_res_l, new_wm->wm[1].plane_res_l,
> > -				      new_wm->wm[2].plane_res_l, new_wm->wm[3].plane_res_l,
> > -				      new_wm->wm[4].plane_res_l, new_wm->wm[5].plane_res_l,
> > -				      new_wm->wm[6].plane_res_l, new_wm->wm[7].plane_res_l,
> > -				      new_wm->trans_wm.plane_res_l);
> > +				      enast(old_wm->wm[0].ignore_lines), old_wm->wm[0].plane_res_l,
> > +				      enast(old_wm->wm[1].ignore_lines), old_wm->wm[1].plane_res_l,
> > +				      enast(old_wm->wm[2].ignore_lines), old_wm->wm[2].plane_res_l,
> > +				      enast(old_wm->wm[3].ignore_lines), old_wm->wm[3].plane_res_l,
> > +				      enast(old_wm->wm[4].ignore_lines), old_wm->wm[4].plane_res_l,
> > +				      enast(old_wm->wm[5].ignore_lines), old_wm->wm[5].plane_res_l,
> > +				      enast(old_wm->wm[6].ignore_lines), old_wm->wm[6].plane_res_l,
> > +				      enast(old_wm->wm[7].ignore_lines), old_wm->wm[7].plane_res_l,
> > +				      enast(old_wm->trans_wm.ignore_lines), old_wm->trans_wm.plane_res_l,
> > +
> > +				      enast(new_wm->wm[0].ignore_lines), new_wm->wm[0].plane_res_l,
> > +				      enast(new_wm->wm[1].ignore_lines), new_wm->wm[1].plane_res_l,
> > +				      enast(new_wm->wm[2].ignore_lines), new_wm->wm[2].plane_res_l,
> > +				      enast(new_wm->wm[3].ignore_lines), new_wm->wm[3].plane_res_l,
> > +				      enast(new_wm->wm[4].ignore_lines), new_wm->wm[4].plane_res_l,
> > +				      enast(new_wm->wm[5].ignore_lines), new_wm->wm[5].plane_res_l,
> > +				      enast(new_wm->wm[6].ignore_lines), new_wm->wm[6].plane_res_l,
> > +				      enast(new_wm->wm[7].ignore_lines), new_wm->wm[7].plane_res_l,
> > +				      enast(new_wm->trans_wm.ignore_lines), new_wm->trans_wm.plane_res_l);
> >   
> >   			DRM_DEBUG_KMS("[PLANE:%d:%s]  blocks %4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d"
> >   				      " -> %4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d,%4d\n",
> > @@ -5689,6 +5700,7 @@ static inline void skl_wm_level_from_reg_val(u32 val,
> >   					     struct skl_wm_level *level)
> >   {
> >   	level->plane_en = val & PLANE_WM_EN;
> > +	level->ignore_lines = val & PLANE_WM_IGNORE_LINES;
> >   	level->plane_res_b = val & PLANE_WM_BLOCKS_MASK;
> >   	level->plane_res_l = (val >> PLANE_WM_LINES_SHIFT) &
> >   		PLANE_WM_LINES_MASK;

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

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

* ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/3] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl"
  2019-02-13 16:54 [PATCH 1/3] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl" Ville Syrjala
                   ` (2 preceding siblings ...)
  2019-02-13 19:40 ` [PATCH 1/3] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl" Clinton Taylor
@ 2019-02-14 12:47 ` Patchwork
  2019-02-14 12:49 ` ✗ Fi.CI.SPARSE: " Patchwork
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2019-02-14 12:47 UTC (permalink / raw)
  To: intel-gfx

== Series Details ==

Series: series starting with [1/3] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl"
URL   : https://patchwork.freedesktop.org/series/56621/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
1176d3c29c8b Revert "drm/i915: W/A for underruns with WM1+ disabled on icl"
24095acba352 drm/i915: Include "ignore lines" in skl+ wm state
-:96: WARNING:LONG_LINE: line over 100 characters
#96: FILE: drivers/gpu/drm/i915/intel_pm.c:5350:
+				      enast(old_wm->trans_wm.ignore_lines), old_wm->trans_wm.plane_res_l,

-:106: WARNING:LONG_LINE: line over 100 characters
#106: FILE: drivers/gpu/drm/i915/intel_pm.c:5360:
+				      enast(new_wm->trans_wm.ignore_lines), new_wm->trans_wm.plane_res_l);

total: 0 errors, 2 warnings, 0 checks, 84 lines checked
3c91357d53ae drm/i915: Implement new w/a for underruns with wm1+ disabled

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

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

* ✗ Fi.CI.SPARSE: warning for series starting with [1/3] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl"
  2019-02-13 16:54 [PATCH 1/3] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl" Ville Syrjala
                   ` (3 preceding siblings ...)
  2019-02-14 12:47 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/3] " Patchwork
@ 2019-02-14 12:49 ` Patchwork
  2019-02-14 13:07 ` ✓ Fi.CI.BAT: success " Patchwork
  2019-02-14 16:47 ` ✓ Fi.CI.IGT: " Patchwork
  6 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2019-02-14 12:49 UTC (permalink / raw)
  To: intel-gfx

== Series Details ==

Series: series starting with [1/3] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl"
URL   : https://patchwork.freedesktop.org/series/56621/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: Revert "drm/i915: W/A for underruns with WM1+ disabled on icl"
Okay!

Commit: drm/i915: Include "ignore lines" in skl+ wm state
-drivers/gpu/drm/i915/selftests/../i915_drv.h:3566:16: warning: expression using sizeof(void)
+drivers/gpu/drm/i915/selftests/../i915_drv.h:3567:16: warning: expression using sizeof(void)

Commit: drm/i915: Implement new w/a for underruns with wm1+ disabled
Okay!

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

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

* ✓ Fi.CI.BAT: success for series starting with [1/3] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl"
  2019-02-13 16:54 [PATCH 1/3] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl" Ville Syrjala
                   ` (4 preceding siblings ...)
  2019-02-14 12:49 ` ✗ Fi.CI.SPARSE: " Patchwork
@ 2019-02-14 13:07 ` Patchwork
  2019-02-14 16:47 ` ✓ Fi.CI.IGT: " Patchwork
  6 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2019-02-14 13:07 UTC (permalink / raw)
  To: intel-gfx

== Series Details ==

Series: series starting with [1/3] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl"
URL   : https://patchwork.freedesktop.org/series/56621/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5599 -> Patchwork_12216
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/56621/revisions/1/mbox/

Known issues
------------

  Here are the changes found in Patchwork_12216 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_module_load@reload-with-fault-injection:
    - fi-kbl-7567u:       PASS -> DMESG-WARN [fdo#105602] / [fdo#108529] +1

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-kbl-7500u:       NOTRUN -> DMESG-WARN [fdo#102505] / [fdo#103558] / [fdo#105079] / [fdo#105602]
    - fi-kbl-7567u:       PASS -> DMESG-FAIL [fdo#105079]

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       NOTRUN -> FAIL [fdo#109485]

  * igt@pm_rpm@module-reload:
    - fi-kbl-7567u:       PASS -> DMESG-WARN [fdo#108529]

  * igt@prime_vgem@basic-fence-flip:
    - fi-gdg-551:         PASS -> FAIL [fdo#103182]

  
#### Possible fixes ####

  * igt@i915_module_load@reload:
    - fi-blb-e6850:       INCOMPLETE [fdo#107718] -> PASS

  * igt@i915_selftest@live_workarounds:
    - {fi-icl-u2}:        INCOMPLETE [fdo#109626] -> PASS

  * igt@kms_busy@basic-flip-a:
    - fi-gdg-551:         FAIL [fdo#103182] -> PASS

  * igt@kms_chamelium@dp-crc-fast:
    - fi-kbl-7500u:       DMESG-FAIL [fdo#109627] -> PASS

  * igt@kms_flip@basic-flip-vs-dpms:
    - fi-skl-6700hq:      DMESG-WARN [fdo#105998] -> PASS

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - fi-byt-clapper:     FAIL [fdo#103191] / [fdo#107362] -> PASS +2

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#102505]: https://bugs.freedesktop.org/show_bug.cgi?id=102505
  [fdo#103182]: https://bugs.freedesktop.org/show_bug.cgi?id=103182
  [fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
  [fdo#103558]: https://bugs.freedesktop.org/show_bug.cgi?id=103558
  [fdo#105079]: https://bugs.freedesktop.org/show_bug.cgi?id=105079
  [fdo#105602]: https://bugs.freedesktop.org/show_bug.cgi?id=105602
  [fdo#105998]: https://bugs.freedesktop.org/show_bug.cgi?id=105998
  [fdo#107362]: https://bugs.freedesktop.org/show_bug.cgi?id=107362
  [fdo#107383]: https://bugs.freedesktop.org/show_bug.cgi?id=107383
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108529]: https://bugs.freedesktop.org/show_bug.cgi?id=108529
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485
  [fdo#109527]: https://bugs.freedesktop.org/show_bug.cgi?id=109527
  [fdo#109626]: https://bugs.freedesktop.org/show_bug.cgi?id=109626
  [fdo#109627]: https://bugs.freedesktop.org/show_bug.cgi?id=109627


Participating hosts (43 -> 42)
------------------------------

  Additional (6): fi-skl-6260u fi-whl-u fi-ivb-3770 fi-bsw-kefka fi-kbl-7560u fi-snb-2600 
  Missing    (7): fi-kbl-soraka fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-glk-j4005 fi-icl-u3 fi-bdw-samus 


Build changes
-------------

    * Linux: CI_DRM_5599 -> Patchwork_12216

  CI_DRM_5599: 39119c9b385742d49446c25d6902864a60eda6b6 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4824: e55d439a9ba744227fb4c9d727338276b78871d4 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12216: 3c91357d53aedbec2b33dcb3d95037fefeb726ec @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

3c91357d53ae drm/i915: Implement new w/a for underruns with wm1+ disabled
24095acba352 drm/i915: Include "ignore lines" in skl+ wm state
1176d3c29c8b Revert "drm/i915: W/A for underruns with WM1+ disabled on icl"

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12216/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✓ Fi.CI.IGT: success for series starting with [1/3] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl"
  2019-02-13 16:54 [PATCH 1/3] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl" Ville Syrjala
                   ` (5 preceding siblings ...)
  2019-02-14 13:07 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2019-02-14 16:47 ` Patchwork
  6 siblings, 0 replies; 12+ messages in thread
From: Patchwork @ 2019-02-14 16:47 UTC (permalink / raw)
  To: intel-gfx

== Series Details ==

Series: series starting with [1/3] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl"
URL   : https://patchwork.freedesktop.org/series/56621/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_5599_full -> Patchwork_12216_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Known issues
------------

  Here are the changes found in Patchwork_12216_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_busy@extended-modeset-hang-newfb-render-a:
    - shard-iclb:         NOTRUN -> DMESG-WARN [fdo#107956]

  * igt@kms_busy@extended-modeset-hang-newfb-render-b:
    - shard-glk:          NOTRUN -> DMESG-WARN [fdo#107956]

  * igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-b:
    - shard-glk:          PASS -> DMESG-WARN [fdo#107956]

  * igt@kms_cursor_crc@cursor-128x128-random:
    - shard-apl:          PASS -> FAIL [fdo#103232] +2

  * igt@kms_cursor_crc@cursor-128x128-sliding:
    - shard-iclb:         NOTRUN -> FAIL [fdo#103232]

  * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy:
    - shard-hsw:          PASS -> FAIL [fdo#105767] +1

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move:
    - shard-apl:          PASS -> FAIL [fdo#103167] +1

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render:
    - shard-apl:          NOTRUN -> FAIL [fdo#103167]

  * igt@kms_frontbuffer_tracking@fbc-1p-rte:
    - shard-apl:          PASS -> FAIL [fdo#103167] / [fdo#105682]

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-pwrite:
    - shard-iclb:         PASS -> FAIL [fdo#103167] +1

  * igt@kms_plane_alpha_blend@pipe-a-alpha-transparant-fb:
    - shard-apl:          NOTRUN -> FAIL [fdo#108145]
    - shard-kbl:          NOTRUN -> FAIL [fdo#108145]

  * igt@kms_plane_alpha_blend@pipe-b-alpha-opaque-fb:
    - shard-glk:          NOTRUN -> FAIL [fdo#108145]

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-x:
    - shard-apl:          PASS -> FAIL [fdo#103166] +2

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
    - shard-glk:          PASS -> FAIL [fdo#103166] +1

  * igt@kms_plane_scaling@pipe-b-scaler-with-rotation:
    - shard-iclb:         NOTRUN -> DMESG-WARN [fdo#107724]

  * igt@kms_sysfs_edid_timing:
    - shard-apl:          NOTRUN -> FAIL [fdo#100047]
    - shard-kbl:          NOTRUN -> FAIL [fdo#100047]

  * igt@perf@short-reads:
    - shard-kbl:          PASS -> FAIL [fdo#103183]

  * igt@pm_rpm@sysfs-read:
    - shard-iclb:         PASS -> DMESG-WARN [fdo#107724]

  
#### Possible fixes ####

  * igt@gem_eio@reset-stress:
    - shard-snb:          FAIL [fdo#107799] -> PASS

  * igt@i915_selftest@live_workarounds:
    - shard-iclb:         DMESG-FAIL [fdo#108954] -> PASS

  * igt@kms_color@pipe-b-legacy-gamma:
    - shard-apl:          FAIL [fdo#104782] -> PASS

  * igt@kms_cursor_crc@cursor-256x85-sliding:
    - shard-apl:          FAIL [fdo#103232] -> PASS +3

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
    - shard-apl:          FAIL [fdo#103167] -> PASS +1

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-fullscreen:
    - shard-iclb:         FAIL [fdo#103167] -> PASS

  * igt@kms_plane@pixel-format-pipe-c-planes-source-clamping:
    - shard-apl:          INCOMPLETE [fdo#103927] -> PASS

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-none:
    - shard-apl:          FAIL [fdo#103166] -> PASS +2

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
    - shard-iclb:         FAIL [fdo#103166] -> PASS +2

  * igt@kms_plane_multiple@atomic-pipe-c-tiling-none:
    - shard-glk:          FAIL [fdo#103166] -> PASS +1

  * igt@kms_rotation_crc@multiplane-rotation-cropping-bottom:
    - shard-kbl:          DMESG-FAIL [fdo#105763] -> PASS

  * igt@kms_setmode@basic:
    - shard-apl:          FAIL [fdo#99912] -> PASS
    - shard-kbl:          FAIL [fdo#99912] -> PASS

  * igt@pm_rpm@gem-evict-pwrite:
    - shard-iclb:         DMESG-WARN [fdo#107724] -> PASS +5

  * igt@pm_rpm@legacy-planes:
    - shard-iclb:         DMESG-WARN [fdo#107732] -> PASS

  * igt@tools_test@tools_test:
    - shard-iclb:         {SKIP} [fdo#109352] -> PASS

  
#### Warnings ####

  * igt@i915_selftest@live_contexts:
    - shard-iclb:         DMESG-FAIL [fdo#108569] -> INCOMPLETE [fdo#108569] / [fdo#109226]

  * igt@i915_suspend@shrink:
    - shard-apl:          INCOMPLETE [fdo#103927] / [fdo#106886] -> DMESG-WARN [fdo#107886] / [fdo#109244]

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#100047]: https://bugs.freedesktop.org/show_bug.cgi?id=100047
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103183]: https://bugs.freedesktop.org/show_bug.cgi?id=103183
  [fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
  [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104782]: https://bugs.freedesktop.org/show_bug.cgi?id=104782
  [fdo#105682]: https://bugs.freedesktop.org/show_bug.cgi?id=105682
  [fdo#105763]: https://bugs.freedesktop.org/show_bug.cgi?id=105763
  [fdo#105767]: https://bugs.freedesktop.org/show_bug.cgi?id=105767
  [fdo#106886]: https://bugs.freedesktop.org/show_bug.cgi?id=106886
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#107732]: https://bugs.freedesktop.org/show_bug.cgi?id=107732
  [fdo#107799]: https://bugs.freedesktop.org/show_bug.cgi?id=107799
  [fdo#107886]: https://bugs.freedesktop.org/show_bug.cgi?id=107886
  [fdo#107956]: https://bugs.freedesktop.org/show_bug.cgi?id=107956
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108654]: https://bugs.freedesktop.org/show_bug.cgi?id=108654
  [fdo#108756]: https://bugs.freedesktop.org/show_bug.cgi?id=108756
  [fdo#108954]: https://bugs.freedesktop.org/show_bug.cgi?id=108954
  [fdo#109226]: https://bugs.freedesktop.org/show_bug.cgi?id=109226
  [fdo#109244]: https://bugs.freedesktop.org/show_bug.cgi?id=109244
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
  [fdo#109277]: https://bugs.freedesktop.org/show_bug.cgi?id=109277
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109281]: https://bugs.freedesktop.org/show_bug.cgi?id=109281
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109287]: https://bugs.freedesktop.org/show_bug.cgi?id=109287
  [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
  [fdo#109352]: https://bugs.freedesktop.org/show_bug.cgi?id=109352
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109624]: https://bugs.freedesktop.org/show_bug.cgi?id=109624
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (7 -> 6)
------------------------------

  Missing    (1): shard-skl 


Build changes
-------------

    * Linux: CI_DRM_5599 -> Patchwork_12216

  CI_DRM_5599: 39119c9b385742d49446c25d6902864a60eda6b6 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4824: e55d439a9ba744227fb4c9d727338276b78871d4 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12216: 3c91357d53aedbec2b33dcb3d95037fefeb726ec @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12216/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

end of thread, other threads:[~2019-02-14 16:47 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-13 16:54 [PATCH 1/3] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl" Ville Syrjala
2019-02-13 16:54 ` [PATCH 2/3] drm/i915: Include "ignore lines" in skl+ wm state Ville Syrjala
2019-02-13 19:44   ` Clinton Taylor
2019-02-13 21:28     ` Ville Syrjälä
2019-02-13 16:54 ` [PATCH 3/3] drm/i915: Implement new w/a for underruns with wm1+ disabled Ville Syrjala
2019-02-13 20:04   ` Clinton Taylor
2019-02-13 20:36     ` Clinton Taylor
2019-02-13 19:40 ` [PATCH 1/3] Revert "drm/i915: W/A for underruns with WM1+ disabled on icl" Clinton Taylor
2019-02-14 12:47 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/3] " Patchwork
2019-02-14 12:49 ` ✗ Fi.CI.SPARSE: " Patchwork
2019-02-14 13:07 ` ✓ Fi.CI.BAT: success " Patchwork
2019-02-14 16:47 ` ✓ Fi.CI.IGT: " Patchwork

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.