All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH v2 1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation
@ 2021-09-14 21:25 José Roberto de Souza
  2021-09-14 21:25 ` [Intel-gfx] [PATCH v2 2/5] drm/i915/display: Wait at least 2 frames before selective update José Roberto de Souza
                   ` (9 more replies)
  0 siblings, 10 replies; 25+ messages in thread
From: José Roberto de Souza @ 2021-09-14 21:25 UTC (permalink / raw)
  To: intel-gfx; +Cc: Gwan-gyeong Mun, José Roberto de Souza

As the SU_REGION_START begins at 0, the SU_REGION_END should be number
of lines - 1.

BSpec: 50424
Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
 drivers/gpu/drm/i915/display/intel_psr.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index 3f6fb7d67f84d..36816abb3bcc0 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -1501,7 +1501,7 @@ static void psr2_man_trk_ctl_calc(struct intel_crtc_state *crtc_state,
 
 	if (IS_ALDERLAKE_P(dev_priv)) {
 		val |= ADLP_PSR2_MAN_TRK_CTL_SU_REGION_START_ADDR(clip->y1);
-		val |= ADLP_PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR(clip->y2);
+		val |= ADLP_PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR(clip->y2 - 1);
 	} else {
 		drm_WARN_ON(crtc_state->uapi.crtc->dev, clip->y1 % 4 || clip->y2 % 4);
 
-- 
2.33.0


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

* [Intel-gfx] [PATCH v2 2/5] drm/i915/display: Wait at least 2 frames before selective update
  2021-09-14 21:25 [Intel-gfx] [PATCH v2 1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation José Roberto de Souza
@ 2021-09-14 21:25 ` José Roberto de Souza
  2021-09-14 21:25 ` [Intel-gfx] [PATCH v2 3/5] drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled José Roberto de Souza
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 25+ messages in thread
From: José Roberto de Souza @ 2021-09-14 21:25 UTC (permalink / raw)
  To: intel-gfx; +Cc: Gwan-gyeong Mun, José Roberto de Souza

BSpec states that the minimum number of frames before selective update
is 2, so making sure this minimum limit is fulfilled.

BSpec: 50422
Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
 drivers/gpu/drm/i915/display/intel_psr.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index 36816abb3bcc0..567c7ceef8dba 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -510,7 +510,7 @@ static void hsw_activate_psr2(struct intel_dp *intel_dp)
 	if (DISPLAY_VER(dev_priv) >= 10 && DISPLAY_VER(dev_priv) <= 12)
 		val |= EDP_Y_COORDINATE_ENABLE;
 
-	val |= EDP_PSR2_FRAME_BEFORE_SU(intel_dp->psr.sink_sync_latency + 1);
+	val |= EDP_PSR2_FRAME_BEFORE_SU(max_t(u8, intel_dp->psr.sink_sync_latency + 1, 2));
 	val |= intel_psr2_get_tp_time(intel_dp);
 
 	/* Wa_22012278275:adl-p */
-- 
2.33.0


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

* [Intel-gfx] [PATCH v2 3/5] drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled
  2021-09-14 21:25 [Intel-gfx] [PATCH v2 1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation José Roberto de Souza
  2021-09-14 21:25 ` [Intel-gfx] [PATCH v2 2/5] drm/i915/display: Wait at least 2 frames before selective update José Roberto de Souza
@ 2021-09-14 21:25 ` José Roberto de Souza
  2021-09-15 14:58   ` Ville Syrjälä
  2021-09-14 21:25 ` [Intel-gfx] [PATCH v2 4/5] drm/i915/display/psr: Use drm damage helpers to calculate plane damaged area José Roberto de Souza
                   ` (7 subsequent siblings)
  9 siblings, 1 reply; 25+ messages in thread
From: José Roberto de Souza @ 2021-09-14 21:25 UTC (permalink / raw)
  To: intel-gfx; +Cc: Gwan-gyeong Mun, José Roberto de Souza

Not sure why but when moving the cursor fast it causes some artifacts
of the cursor to be left in the cursor path, adding some pixels above
the cursor to the damaged area fixes the issue, so leaving this as a
workaround until proper fix is found.

This is reproducile on TGL and ADL-P.

Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
 drivers/gpu/drm/i915/display/intel_psr.c | 25 ++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index 567c7ceef8dba..f8fa30e50e70c 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -1543,6 +1543,28 @@ static void intel_psr2_sel_fetch_pipe_alignment(const struct intel_crtc_state *c
 		drm_warn(&dev_priv->drm, "Missing PSR2 sel fetch alignment with DSC\n");
 }
 
+/*
+ * FIXME: Not sure why but when moving the cursor fast it causes some artifacts
+ * of the cursor to be left in the cursor path, adding some pixels above the
+ * cursor to the damaged area fixes the issue.
+ */
+static void cursor_area_workaround(const struct intel_plane_state *new_plane_state,
+				   struct drm_rect *damaged_area,
+				   struct drm_rect *pipe_clip)
+{
+	const struct intel_plane *plane = to_intel_plane(new_plane_state->uapi.plane);
+	int height;
+
+	if (plane->id != PLANE_CURSOR)
+		return;
+
+	height = drm_rect_height(&new_plane_state->uapi.dst) / 2;
+	damaged_area->y1 -=  height;
+	damaged_area->y1 = max(damaged_area->y1, 0);
+
+	clip_area_update(pipe_clip, damaged_area);
+}
+
 int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
 				struct intel_crtc *crtc)
 {
@@ -1611,6 +1633,9 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
 				damaged_area.y2 = new_plane_state->uapi.dst.y2;
 				clip_area_update(&pipe_clip, &damaged_area);
 			}
+
+			cursor_area_workaround(new_plane_state, &damaged_area,
+					       &pipe_clip);
 			continue;
 		} else if (new_plane_state->uapi.alpha != old_plane_state->uapi.alpha ||
 			   (!num_clips &&
-- 
2.33.0


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

* [Intel-gfx] [PATCH v2 4/5] drm/i915/display/psr: Use drm damage helpers to calculate plane damaged area
  2021-09-14 21:25 [Intel-gfx] [PATCH v2 1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation José Roberto de Souza
  2021-09-14 21:25 ` [Intel-gfx] [PATCH v2 2/5] drm/i915/display: Wait at least 2 frames before selective update José Roberto de Souza
  2021-09-14 21:25 ` [Intel-gfx] [PATCH v2 3/5] drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled José Roberto de Souza
@ 2021-09-14 21:25 ` José Roberto de Souza
  2021-09-14 21:25 ` [Intel-gfx] [PATCH v2 5/5] drm/i915/display/adlp: Add new PSR2 workarounds José Roberto de Souza
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 25+ messages in thread
From: José Roberto de Souza @ 2021-09-14 21:25 UTC (permalink / raw)
  To: intel-gfx; +Cc: Daniel Vetter, Gwan-gyeong Mun, José Roberto de Souza

drm_atomic_helper_damage_iter_init() + drm_atomic_for_each_plane_damage()
returns the full plane area in case no damaged area was set by
userspace or it was discarted by driver.

This is important to fix the rendering of userspace applications that
does frontbuffer rendering and notify driver about dirty areas but do
not set any dirty clips.

With this we don't need to worry about to check and mark the whole
area as damaged in page flips.

Another important change here is the move of
drm_atomic_add_affected_planes() call, it needs to called late
otherwise the area of all the planes would be added to pipe_clip and
not saving power.

Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
 drivers/gpu/drm/i915/display/intel_psr.c | 37 +++++++++---------------
 1 file changed, 13 insertions(+), 24 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index f8fa30e50e70c..5a1535e11e6bd 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -22,6 +22,7 @@
  */
 
 #include <drm/drm_atomic_helper.h>
+#include <drm/drm_damage_helper.h>
 
 #include "display/intel_dp.h"
 
@@ -1578,10 +1579,6 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
 	if (!crtc_state->enable_psr2_sel_fetch)
 		return 0;
 
-	ret = drm_atomic_add_affected_planes(&state->base, &crtc->base);
-	if (ret)
-		return ret;
-
 	/*
 	 * Calculate minimal selective fetch area of each plane and calculate
 	 * the pipe damaged area.
@@ -1591,8 +1588,8 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
 	for_each_oldnew_intel_plane_in_state(state, plane, old_plane_state,
 					     new_plane_state, i) {
 		struct drm_rect src, damaged_area = { .y1 = -1 };
-		struct drm_mode_rect *damaged_clips;
-		u32 num_clips, j;
+		struct drm_atomic_helper_damage_iter iter;
+		struct drm_rect clip;
 
 		if (new_plane_state->uapi.crtc != crtc_state->uapi.crtc)
 			continue;
@@ -1612,8 +1609,6 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
 			break;
 		}
 
-		num_clips = drm_plane_get_damage_clips_count(&new_plane_state->uapi);
-
 		/*
 		 * If visibility or plane moved, mark the whole plane area as
 		 * damaged as it needs to be complete redraw in the new and old
@@ -1637,14 +1632,8 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
 			cursor_area_workaround(new_plane_state, &damaged_area,
 					       &pipe_clip);
 			continue;
-		} else if (new_plane_state->uapi.alpha != old_plane_state->uapi.alpha ||
-			   (!num_clips &&
-			    new_plane_state->uapi.fb != old_plane_state->uapi.fb)) {
-			/*
-			 * If the plane don't have damaged areas but the
-			 * framebuffer changed or alpha changed, mark the whole
-			 * plane area as damaged.
-			 */
+		} else if (new_plane_state->uapi.alpha != old_plane_state->uapi.alpha) {
+			/* If alpha changed mark the whole plane area as damaged */
 			damaged_area.y1 = new_plane_state->uapi.dst.y1;
 			damaged_area.y2 = new_plane_state->uapi.dst.y2;
 			clip_area_update(&pipe_clip, &damaged_area);
@@ -1652,15 +1641,11 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
 		}
 
 		drm_rect_fp_to_int(&src, &new_plane_state->uapi.src);
-		damaged_clips = drm_plane_get_damage_clips(&new_plane_state->uapi);
 
-		for (j = 0; j < num_clips; j++) {
-			struct drm_rect clip;
-
-			clip.x1 = damaged_clips[j].x1;
-			clip.y1 = damaged_clips[j].y1;
-			clip.x2 = damaged_clips[j].x2;
-			clip.y2 = damaged_clips[j].y2;
+		drm_atomic_helper_damage_iter_init(&iter,
+						   &old_plane_state->uapi,
+						   &new_plane_state->uapi);
+		drm_atomic_for_each_plane_damage(&iter, &clip) {
 			if (drm_rect_intersect(&clip, &src))
 				clip_area_update(&damaged_area, &clip);
 		}
@@ -1676,6 +1661,10 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
 	if (full_update)
 		goto skip_sel_fetch_set_loop;
 
+	ret = drm_atomic_add_affected_planes(&state->base, &crtc->base);
+	if (ret)
+		return ret;
+
 	intel_psr2_sel_fetch_pipe_alignment(crtc_state, &pipe_clip);
 
 	/*
-- 
2.33.0


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

* [Intel-gfx] [PATCH v2 5/5] drm/i915/display/adlp: Add new PSR2 workarounds
  2021-09-14 21:25 [Intel-gfx] [PATCH v2 1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation José Roberto de Souza
                   ` (2 preceding siblings ...)
  2021-09-14 21:25 ` [Intel-gfx] [PATCH v2 4/5] drm/i915/display/psr: Use drm damage helpers to calculate plane damaged area José Roberto de Souza
@ 2021-09-14 21:25 ` José Roberto de Souza
  2021-09-15 14:20   ` Gwan-gyeong Mun
  2021-09-14 22:26 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation Patchwork
                   ` (5 subsequent siblings)
  9 siblings, 1 reply; 25+ messages in thread
From: José Roberto de Souza @ 2021-09-14 21:25 UTC (permalink / raw)
  To: intel-gfx; +Cc: Gwan-gyeong Mun, José Roberto de Souza

Wa_16014451276 fixes the starting coordinate for PSR2 selective
updates. CHICKEN_TRANS definition of the workaround bit has a wrong
name based on workaround definition and HSD.

Wa_14014971508 allows the screen to continue to be updated when
coming back from DC5/DC6 and SF_SINGLE_FULL_FRAME bit is not kept
set in PSR2_MAN_TRK_CTL.

Wa_16012604467 fixes underruns when exiting PSR2 when it is in one
of its internal states.

Wa_14014971508 is still in pending status in BSpec but by
the time this is reviewed and ready to be merged it will be finalized.

v2:
- renamed register to ADLP_1_BASED_X_GRANULARITY
- added comment about all ADL-P supported panels being 1 based X
granularity

BSpec: 54369
BSpec: 50054
Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
 drivers/gpu/drm/i915/display/intel_psr.c | 27 +++++++++++++++++++++++-
 drivers/gpu/drm/i915/i915_reg.h          |  4 ++++
 2 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index 5a1535e11e6bd..c1894b056d6c1 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -1087,6 +1087,16 @@ static void intel_psr_enable_source(struct intel_dp *intel_dp)
 		intel_de_write(dev_priv, reg, chicken);
 	}
 
+	/*
+	 * Wa_16014451276:adlp
+	 * All supported adlp panels have 1-based X granularity, this may
+	 * cause issues if non-supported panels are used.
+	 */
+	if (IS_ALDERLAKE_P(dev_priv) &&
+	    intel_dp->psr.psr2_enabled)
+		intel_de_rmw(dev_priv, CHICKEN_TRANS(cpu_transcoder), 0,
+			     ADLP_1_BASED_X_GRANULARITY);
+
 	/*
 	 * Per Spec: Avoid continuous PSR exit by masking MEMUP and HPD also
 	 * mask LPSP to avoid dependency on other drivers that might block
@@ -1132,6 +1142,11 @@ static void intel_psr_enable_source(struct intel_dp *intel_dp)
 			     TRANS_SET_CONTEXT_LATENCY(intel_dp->psr.transcoder),
 			     TRANS_SET_CONTEXT_LATENCY_MASK,
 			     TRANS_SET_CONTEXT_LATENCY_VALUE(1));
+
+	/* Wa_16012604467:adlp */
+	if (IS_ALDERLAKE_P(dev_priv) && intel_dp->psr.psr2_enabled)
+		intel_de_rmw(dev_priv, CLKGATE_DIS_MISC, 0,
+			     CLKGATE_DIS_MISC_DMASC_GATING_DIS);
 }
 
 static bool psr_interrupt_error_check(struct intel_dp *intel_dp)
@@ -1321,6 +1336,11 @@ static void intel_psr_disable_locked(struct intel_dp *intel_dp)
 			     TRANS_SET_CONTEXT_LATENCY(intel_dp->psr.transcoder),
 			     TRANS_SET_CONTEXT_LATENCY_MASK, 0);
 
+	/* Wa_16012604467:adlp */
+	if (IS_ALDERLAKE_P(dev_priv) && intel_dp->psr.psr2_enabled)
+		intel_de_rmw(dev_priv, CLKGATE_DIS_MISC,
+			     CLKGATE_DIS_MISC_DMASC_GATING_DIS, 0);
+
 	intel_snps_phy_update_psr_power_state(dev_priv, phy, false);
 
 	/* Disable PSR on Sink */
@@ -1489,8 +1509,13 @@ static void psr2_man_trk_ctl_calc(struct intel_crtc_state *crtc_state,
 	u32 val = PSR2_MAN_TRK_CTL_ENABLE;
 
 	if (full_update) {
+		/*
+		 * Wa_14014971508:adlp
+		 * SINGLE_FULL_FRAME bit is not hold in register so can not be
+		 * restored by DMC, so using CONTINUOS_FULL_FRAME to mimic that
+		 */
 		if (IS_ALDERLAKE_P(dev_priv))
-			val |= ADLP_PSR2_MAN_TRK_CTL_SF_SINGLE_FULL_FRAME;
+			val |= ADLP_PSR2_MAN_TRK_CTL_SF_CONTINUOS_FULL_FRAME;
 		else
 			val |= PSR2_MAN_TRK_CTL_SF_SINGLE_FULL_FRAME;
 
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index c2853cc005ee6..c3a21f7c003de 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -8235,6 +8235,7 @@ enum {
 #define  VSC_DATA_SEL_SOFTWARE_CONTROL	REG_BIT(25) /* GLK */
 #define  FECSTALL_DIS_DPTSTREAM_DPTTG	REG_BIT(23)
 #define  DDI_TRAINING_OVERRIDE_ENABLE	REG_BIT(19)
+#define  ADLP_1_BASED_X_GRANULARITY	REG_BIT(18)
 #define  DDI_TRAINING_OVERRIDE_VALUE	REG_BIT(18)
 #define  DDIE_TRAINING_OVERRIDE_ENABLE	REG_BIT(17) /* CHICKEN_TRANS_A only */
 #define  DDIE_TRAINING_OVERRIDE_VALUE	REG_BIT(16) /* CHICKEN_TRANS_A only */
@@ -12789,4 +12790,7 @@ enum skl_power_gate {
 #define CLKREQ_POLICY			_MMIO(0x101038)
 #define  CLKREQ_POLICY_MEM_UP_OVRD	REG_BIT(1)
 
+#define CLKGATE_DIS_MISC			_MMIO(0x46534)
+#define  CLKGATE_DIS_MISC_DMASC_GATING_DIS	REG_BIT(21)
+
 #endif /* _I915_REG_H_ */
-- 
2.33.0


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

* [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation
  2021-09-14 21:25 [Intel-gfx] [PATCH v2 1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation José Roberto de Souza
                   ` (3 preceding siblings ...)
  2021-09-14 21:25 ` [Intel-gfx] [PATCH v2 5/5] drm/i915/display/adlp: Add new PSR2 workarounds José Roberto de Souza
@ 2021-09-14 22:26 ` Patchwork
  2021-09-15 19:01 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev2) Patchwork
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 25+ messages in thread
From: Patchwork @ 2021-09-14 22:26 UTC (permalink / raw)
  To: José Roberto de Souza; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 9395 bytes --]

== Series Details ==

Series: series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation
URL   : https://patchwork.freedesktop.org/series/94674/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_10585 -> Patchwork_21048
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_21048 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_21048, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/index.html

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_21048:

### IGT changes ###

#### Possible regressions ####

  * igt@kms_flip@basic-plain-flip@c-dp1:
    - fi-cfl-8109u:       [PASS][1] -> [FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10585/fi-cfl-8109u/igt@kms_flip@basic-plain-flip@c-dp1.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/fi-cfl-8109u/igt@kms_flip@basic-plain-flip@c-dp1.html

  
#### Warnings ####

  * igt@i915_module_load@reload:
    - fi-cfl-8109u:       [DMESG-WARN][3] -> [INCOMPLETE][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10585/fi-cfl-8109u/igt@i915_module_load@reload.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/fi-cfl-8109u/igt@i915_module_load@reload.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@i915_module_load@reload:
    - {fi-jsl-1}:         [INCOMPLETE][5] -> [TIMEOUT][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10585/fi-jsl-1/igt@i915_module_load@reload.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/fi-jsl-1/igt@i915_module_load@reload.html

  * igt@i915_pm_rpm@module-reload:
    - {fi-jsl-1}:         NOTRUN -> [INCOMPLETE][7]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/fi-jsl-1/igt@i915_pm_rpm@module-reload.html

  * igt@runner@aborted:
    - {fi-jsl-1}:         [FAIL][8] ([i915#2722]) -> [FAIL][9]
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10585/fi-jsl-1/igt@runner@aborted.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/fi-jsl-1/igt@runner@aborted.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@core_hotunplug@unbind-rebind:
    - fi-cfl-guc:         [PASS][10] -> [INCOMPLETE][11] ([i915#4130])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10585/fi-cfl-guc/igt@core_hotunplug@unbind-rebind.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/fi-cfl-guc/igt@core_hotunplug@unbind-rebind.html
    - fi-cfl-8700k:       [PASS][12] -> [INCOMPLETE][13] ([i915#4130])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10585/fi-cfl-8700k/igt@core_hotunplug@unbind-rebind.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/fi-cfl-8700k/igt@core_hotunplug@unbind-rebind.html
    - fi-kbl-7500u:       [PASS][14] -> [INCOMPLETE][15] ([i915#4130])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10585/fi-kbl-7500u/igt@core_hotunplug@unbind-rebind.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/fi-kbl-7500u/igt@core_hotunplug@unbind-rebind.html

  * igt@gem_exec_suspend@basic-s3:
    - fi-kbl-8809g:       [PASS][16] -> [DMESG-WARN][17] ([i915#3848])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10585/fi-kbl-8809g/igt@gem_exec_suspend@basic-s3.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/fi-kbl-8809g/igt@gem_exec_suspend@basic-s3.html

  * igt@i915_selftest@live@mman:
    - fi-rkl-11600:       NOTRUN -> [INCOMPLETE][18] ([i915#4129])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/fi-rkl-11600/igt@i915_selftest@live@mman.html
    - fi-kbl-7567u:       NOTRUN -> [INCOMPLETE][19] ([i915#4129])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/fi-kbl-7567u/igt@i915_selftest@live@mman.html
    - fi-icl-y:           NOTRUN -> [INCOMPLETE][20] ([i915#4129])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/fi-icl-y/igt@i915_selftest@live@mman.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b:
    - fi-cfl-8109u:       [PASS][21] -> [DMESG-WARN][22] ([i915#295]) +14 similar issues
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10585/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b.html

  * igt@runner@aborted:
    - fi-rkl-11600:       NOTRUN -> [FAIL][23] ([i915#3928])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/fi-rkl-11600/igt@runner@aborted.html
    - fi-icl-y:           NOTRUN -> [FAIL][24] ([i915#3690])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/fi-icl-y/igt@runner@aborted.html
    - fi-kbl-7567u:       NOTRUN -> [FAIL][25] ([i915#1436] / [i915#2426] / [i915#3363])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/fi-kbl-7567u/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@core_hotunplug@unbind-rebind:
    - fi-rkl-11600:       [INCOMPLETE][26] ([i915#4130]) -> [PASS][27]
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10585/fi-rkl-11600/igt@core_hotunplug@unbind-rebind.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/fi-rkl-11600/igt@core_hotunplug@unbind-rebind.html
    - fi-kbl-7567u:       [INCOMPLETE][28] ([i915#4130]) -> [PASS][29]
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10585/fi-kbl-7567u/igt@core_hotunplug@unbind-rebind.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/fi-kbl-7567u/igt@core_hotunplug@unbind-rebind.html

  * igt@i915_module_load@reload:
    - fi-kbl-guc:         [INCOMPLETE][30] -> [PASS][31]
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10585/fi-kbl-guc/igt@i915_module_load@reload.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/fi-kbl-guc/igt@i915_module_load@reload.html
    - fi-icl-y:           [INCOMPLETE][32] -> [PASS][33]
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10585/fi-icl-y/igt@i915_module_load@reload.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/fi-icl-y/igt@i915_module_load@reload.html

  
#### Warnings ####

  * igt@runner@aborted:
    - fi-icl-u2:          [FAIL][34] ([i915#2426] / [i915#3363] / [i915#3690]) -> [FAIL][35] ([i915#2722] / [i915#3363])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10585/fi-icl-u2/igt@runner@aborted.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/fi-icl-u2/igt@runner@aborted.html
    - fi-kbl-8809g:       [FAIL][36] ([i915#2722] / [i915#3363]) -> [FAIL][37] ([i915#180] / [i915#3363])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10585/fi-kbl-8809g/igt@runner@aborted.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/fi-kbl-8809g/igt@runner@aborted.html

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

  [i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426
  [i915#2722]: https://gitlab.freedesktop.org/drm/intel/issues/2722
  [i915#295]: https://gitlab.freedesktop.org/drm/intel/issues/295
  [i915#3363]: https://gitlab.freedesktop.org/drm/intel/issues/3363
  [i915#3690]: https://gitlab.freedesktop.org/drm/intel/issues/3690
  [i915#3848]: https://gitlab.freedesktop.org/drm/intel/issues/3848
  [i915#3928]: https://gitlab.freedesktop.org/drm/intel/issues/3928
  [i915#4129]: https://gitlab.freedesktop.org/drm/intel/issues/4129
  [i915#4130]: https://gitlab.freedesktop.org/drm/intel/issues/4130


Participating hosts (41 -> 37)
------------------------------

  Missing    (4): fi-bdw-samus fi-bsw-cyan bat-jsl-1 bat-dg1-6 


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

  * Linux: CI_DRM_10585 -> Patchwork_21048

  CI-20190529: 20190529
  CI_DRM_10585: 760a23a7579f0d0496c059593730732217de314f @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6209: 07d6594ed02f55b68d64fa6dd7f80cfbc1ce4ef8 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_21048: d19968ad4e4be36e18fe9ddda2ebcb47b66b8c43 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

d19968ad4e4b drm/i915/display/adlp: Add new PSR2 workarounds
5b59ee25d021 drm/i915/display/psr: Use drm damage helpers to calculate plane damaged area
9cb2e028a805 drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled
2f3c5cb3ec47 drm/i915/display: Wait at least 2 frames before selective update
77e99997971d drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21048/index.html

[-- Attachment #2: Type: text/html, Size: 11474 bytes --]

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

* Re: [Intel-gfx] [PATCH v2 5/5] drm/i915/display/adlp: Add new PSR2 workarounds
  2021-09-14 21:25 ` [Intel-gfx] [PATCH v2 5/5] drm/i915/display/adlp: Add new PSR2 workarounds José Roberto de Souza
@ 2021-09-15 14:20   ` Gwan-gyeong Mun
  0 siblings, 0 replies; 25+ messages in thread
From: Gwan-gyeong Mun @ 2021-09-15 14:20 UTC (permalink / raw)
  To: José Roberto de Souza, intel-gfx

Looks good to me.

Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>

On 9/15/21 12:25 AM, José Roberto de Souza wrote:
> Wa_16014451276 fixes the starting coordinate for PSR2 selective
> updates. CHICKEN_TRANS definition of the workaround bit has a wrong
> name based on workaround definition and HSD.
> 
> Wa_14014971508 allows the screen to continue to be updated when
> coming back from DC5/DC6 and SF_SINGLE_FULL_FRAME bit is not kept
> set in PSR2_MAN_TRK_CTL.
> 
> Wa_16012604467 fixes underruns when exiting PSR2 when it is in one
> of its internal states.
> 
> Wa_14014971508 is still in pending status in BSpec but by
> the time this is reviewed and ready to be merged it will be finalized.
> 
> v2:
> - renamed register to ADLP_1_BASED_X_GRANULARITY
> - added comment about all ADL-P supported panels being 1 based X
> granularity
> 
> BSpec: 54369
> BSpec: 50054
> Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> ---
>   drivers/gpu/drm/i915/display/intel_psr.c | 27 +++++++++++++++++++++++-
>   drivers/gpu/drm/i915/i915_reg.h          |  4 ++++
>   2 files changed, 30 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
> index 5a1535e11e6bd..c1894b056d6c1 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.c
> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> @@ -1087,6 +1087,16 @@ static void intel_psr_enable_source(struct intel_dp *intel_dp)
>   		intel_de_write(dev_priv, reg, chicken);
>   	}
>   
> +	/*
> +	 * Wa_16014451276:adlp
> +	 * All supported adlp panels have 1-based X granularity, this may
> +	 * cause issues if non-supported panels are used.
> +	 */
> +	if (IS_ALDERLAKE_P(dev_priv) &&
> +	    intel_dp->psr.psr2_enabled)
> +		intel_de_rmw(dev_priv, CHICKEN_TRANS(cpu_transcoder), 0,
> +			     ADLP_1_BASED_X_GRANULARITY);
> +
>   	/*
>   	 * Per Spec: Avoid continuous PSR exit by masking MEMUP and HPD also
>   	 * mask LPSP to avoid dependency on other drivers that might block
> @@ -1132,6 +1142,11 @@ static void intel_psr_enable_source(struct intel_dp *intel_dp)
>   			     TRANS_SET_CONTEXT_LATENCY(intel_dp->psr.transcoder),
>   			     TRANS_SET_CONTEXT_LATENCY_MASK,
>   			     TRANS_SET_CONTEXT_LATENCY_VALUE(1));
> +
> +	/* Wa_16012604467:adlp */
> +	if (IS_ALDERLAKE_P(dev_priv) && intel_dp->psr.psr2_enabled)
> +		intel_de_rmw(dev_priv, CLKGATE_DIS_MISC, 0,
> +			     CLKGATE_DIS_MISC_DMASC_GATING_DIS);
>   }
>   
>   static bool psr_interrupt_error_check(struct intel_dp *intel_dp)
> @@ -1321,6 +1336,11 @@ static void intel_psr_disable_locked(struct intel_dp *intel_dp)
>   			     TRANS_SET_CONTEXT_LATENCY(intel_dp->psr.transcoder),
>   			     TRANS_SET_CONTEXT_LATENCY_MASK, 0);
>   
> +	/* Wa_16012604467:adlp */
> +	if (IS_ALDERLAKE_P(dev_priv) && intel_dp->psr.psr2_enabled)
> +		intel_de_rmw(dev_priv, CLKGATE_DIS_MISC,
> +			     CLKGATE_DIS_MISC_DMASC_GATING_DIS, 0);
> +
>   	intel_snps_phy_update_psr_power_state(dev_priv, phy, false);
>   
>   	/* Disable PSR on Sink */
> @@ -1489,8 +1509,13 @@ static void psr2_man_trk_ctl_calc(struct intel_crtc_state *crtc_state,
>   	u32 val = PSR2_MAN_TRK_CTL_ENABLE;
>   
>   	if (full_update) {
> +		/*
> +		 * Wa_14014971508:adlp
> +		 * SINGLE_FULL_FRAME bit is not hold in register so can not be
> +		 * restored by DMC, so using CONTINUOS_FULL_FRAME to mimic that
> +		 */
>   		if (IS_ALDERLAKE_P(dev_priv))
> -			val |= ADLP_PSR2_MAN_TRK_CTL_SF_SINGLE_FULL_FRAME;
> +			val |= ADLP_PSR2_MAN_TRK_CTL_SF_CONTINUOS_FULL_FRAME;
>   		else
>   			val |= PSR2_MAN_TRK_CTL_SF_SINGLE_FULL_FRAME;
>   
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index c2853cc005ee6..c3a21f7c003de 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -8235,6 +8235,7 @@ enum {
>   #define  VSC_DATA_SEL_SOFTWARE_CONTROL	REG_BIT(25) /* GLK */
>   #define  FECSTALL_DIS_DPTSTREAM_DPTTG	REG_BIT(23)
>   #define  DDI_TRAINING_OVERRIDE_ENABLE	REG_BIT(19)
> +#define  ADLP_1_BASED_X_GRANULARITY	REG_BIT(18)
>   #define  DDI_TRAINING_OVERRIDE_VALUE	REG_BIT(18)
>   #define  DDIE_TRAINING_OVERRIDE_ENABLE	REG_BIT(17) /* CHICKEN_TRANS_A only */
>   #define  DDIE_TRAINING_OVERRIDE_VALUE	REG_BIT(16) /* CHICKEN_TRANS_A only */
> @@ -12789,4 +12790,7 @@ enum skl_power_gate {
>   #define CLKREQ_POLICY			_MMIO(0x101038)
>   #define  CLKREQ_POLICY_MEM_UP_OVRD	REG_BIT(1)
>   
> +#define CLKGATE_DIS_MISC			_MMIO(0x46534)
> +#define  CLKGATE_DIS_MISC_DMASC_GATING_DIS	REG_BIT(21)
> +
>   #endif /* _I915_REG_H_ */
> 

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

* Re: [Intel-gfx] [PATCH v2 3/5] drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled
  2021-09-14 21:25 ` [Intel-gfx] [PATCH v2 3/5] drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled José Roberto de Souza
@ 2021-09-15 14:58   ` Ville Syrjälä
  2021-09-15 18:18     ` Souza, Jose
  0 siblings, 1 reply; 25+ messages in thread
From: Ville Syrjälä @ 2021-09-15 14:58 UTC (permalink / raw)
  To: José Roberto de Souza; +Cc: intel-gfx, Gwan-gyeong Mun

On Tue, Sep 14, 2021 at 02:25:05PM -0700, José Roberto de Souza wrote:
> Not sure why but when moving the cursor fast it causes some artifacts
> of the cursor to be left in the cursor path, adding some pixels above
> the cursor to the damaged area fixes the issue, so leaving this as a
> workaround until proper fix is found.

Have you tried warping the cursor clear across the screen while
a partial update is already pending? I think it will go badly.

In fact I'm thinking the mailbox style legacy cursor updates are just
fundementally incompatible with partial updates since the cursor
can move outside of the already committed update region any time.
Ie. I suspect while the cursor is visible we simply can't do partial
updates.

> 
> This is reproducile on TGL and ADL-P.
> 
> Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
> Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_psr.c | 25 ++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
> index 567c7ceef8dba..f8fa30e50e70c 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.c
> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> @@ -1543,6 +1543,28 @@ static void intel_psr2_sel_fetch_pipe_alignment(const struct intel_crtc_state *c
>  		drm_warn(&dev_priv->drm, "Missing PSR2 sel fetch alignment with DSC\n");
>  }
>  
> +/*
> + * FIXME: Not sure why but when moving the cursor fast it causes some artifacts
> + * of the cursor to be left in the cursor path, adding some pixels above the
> + * cursor to the damaged area fixes the issue.
> + */
> +static void cursor_area_workaround(const struct intel_plane_state *new_plane_state,
> +				   struct drm_rect *damaged_area,
> +				   struct drm_rect *pipe_clip)
> +{
> +	const struct intel_plane *plane = to_intel_plane(new_plane_state->uapi.plane);
> +	int height;
> +
> +	if (plane->id != PLANE_CURSOR)
> +		return;
> +
> +	height = drm_rect_height(&new_plane_state->uapi.dst) / 2;
> +	damaged_area->y1 -=  height;
> +	damaged_area->y1 = max(damaged_area->y1, 0);
> +
> +	clip_area_update(pipe_clip, damaged_area);
> +}
> +
>  int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
>  				struct intel_crtc *crtc)
>  {
> @@ -1611,6 +1633,9 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
>  				damaged_area.y2 = new_plane_state->uapi.dst.y2;
>  				clip_area_update(&pipe_clip, &damaged_area);
>  			}
> +
> +			cursor_area_workaround(new_plane_state, &damaged_area,
> +					       &pipe_clip);
>  			continue;
>  		} else if (new_plane_state->uapi.alpha != old_plane_state->uapi.alpha ||
>  			   (!num_clips &&
> -- 
> 2.33.0

-- 
Ville Syrjälä
Intel

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

* Re: [Intel-gfx] [PATCH v2 3/5] drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled
  2021-09-15 14:58   ` Ville Syrjälä
@ 2021-09-15 18:18     ` Souza, Jose
  2021-09-16 13:17       ` Ville Syrjälä
  0 siblings, 1 reply; 25+ messages in thread
From: Souza, Jose @ 2021-09-15 18:18 UTC (permalink / raw)
  To: ville.syrjala; +Cc: Mun, Gwan-gyeong, intel-gfx

On Wed, 2021-09-15 at 17:58 +0300, Ville Syrjälä wrote:
> On Tue, Sep 14, 2021 at 02:25:05PM -0700, José Roberto de Souza wrote:
> > Not sure why but when moving the cursor fast it causes some artifacts
> > of the cursor to be left in the cursor path, adding some pixels above
> > the cursor to the damaged area fixes the issue, so leaving this as a
> > workaround until proper fix is found.
> 
> Have you tried warping the cursor clear across the screen while
> a partial update is already pending? I think it will go badly.

You mean move the cursor for example from 0x0 to 500x500 in one frame?
It will mark as damaged the previous area and the new one.

> 
> In fact I'm thinking the mailbox style legacy cursor updates are just
> fundementally incompatible with partial updates since the cursor
> can move outside of the already committed update region any time.
> Ie. I suspect while the cursor is visible we simply can't do partial
> updates.

Probably I did not understand what you want to say, but each cursor update will be in one frame, updating the necessary area.
So I can't understand why it is incompatible.


> 
> > 
> > This is reproducile on TGL and ADL-P.
> > 
> > Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
> > Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
> > Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_psr.c | 25 ++++++++++++++++++++++++
> >  1 file changed, 25 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
> > index 567c7ceef8dba..f8fa30e50e70c 100644
> > --- a/drivers/gpu/drm/i915/display/intel_psr.c
> > +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> > @@ -1543,6 +1543,28 @@ static void intel_psr2_sel_fetch_pipe_alignment(const struct intel_crtc_state *c
> >  		drm_warn(&dev_priv->drm, "Missing PSR2 sel fetch alignment with DSC\n");
> >  }
> >  
> > +/*
> > + * FIXME: Not sure why but when moving the cursor fast it causes some artifacts
> > + * of the cursor to be left in the cursor path, adding some pixels above the
> > + * cursor to the damaged area fixes the issue.
> > + */
> > +static void cursor_area_workaround(const struct intel_plane_state *new_plane_state,
> > +				   struct drm_rect *damaged_area,
> > +				   struct drm_rect *pipe_clip)
> > +{
> > +	const struct intel_plane *plane = to_intel_plane(new_plane_state->uapi.plane);
> > +	int height;
> > +
> > +	if (plane->id != PLANE_CURSOR)
> > +		return;
> > +
> > +	height = drm_rect_height(&new_plane_state->uapi.dst) / 2;
> > +	damaged_area->y1 -=  height;
> > +	damaged_area->y1 = max(damaged_area->y1, 0);
> > +
> > +	clip_area_update(pipe_clip, damaged_area);
> > +}
> > +
> >  int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
> >  				struct intel_crtc *crtc)
> >  {
> > @@ -1611,6 +1633,9 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state,
> >  				damaged_area.y2 = new_plane_state->uapi.dst.y2;
> >  				clip_area_update(&pipe_clip, &damaged_area);
> >  			}
> > +
> > +			cursor_area_workaround(new_plane_state, &damaged_area,
> > +					       &pipe_clip);
> >  			continue;
> >  		} else if (new_plane_state->uapi.alpha != old_plane_state->uapi.alpha ||
> >  			   (!num_clips &&
> > -- 
> > 2.33.0
> 


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

* [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev2)
  2021-09-14 21:25 [Intel-gfx] [PATCH v2 1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation José Roberto de Souza
                   ` (4 preceding siblings ...)
  2021-09-14 22:26 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation Patchwork
@ 2021-09-15 19:01 ` Patchwork
  2021-09-15 20:33 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev3) Patchwork
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 25+ messages in thread
From: Patchwork @ 2021-09-15 19:01 UTC (permalink / raw)
  To: Souza, Jose; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 11540 bytes --]

== Series Details ==

Series: series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev2)
URL   : https://patchwork.freedesktop.org/series/94674/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_10593 -> Patchwork_21063
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_21063 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_21063, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/index.html

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_21063:

### IGT changes ###

#### Possible regressions ####

  * igt@i915_module_load@reload:
    - fi-skl-6700k2:      NOTRUN -> [INCOMPLETE][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-skl-6700k2/igt@i915_module_load@reload.html
    - fi-kbl-7500u:       NOTRUN -> [INCOMPLETE][2]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-kbl-7500u/igt@i915_module_load@reload.html

  
#### Warnings ####

  * igt@i915_module_load@reload:
    - fi-cml-u2:          [INCOMPLETE][3] ([i915#4136]) -> [INCOMPLETE][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-cml-u2/igt@i915_module_load@reload.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-cml-u2/igt@i915_module_load@reload.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@i915_module_load@reload:
    - {fi-tgl-dsi}:       [INCOMPLETE][5] ([i915#4136]) -> [INCOMPLETE][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-tgl-dsi/igt@i915_module_load@reload.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-tgl-dsi/igt@i915_module_load@reload.html
    - {fi-ehl-2}:         [INCOMPLETE][7] ([i915#4136]) -> [INCOMPLETE][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-ehl-2/igt@i915_module_load@reload.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-ehl-2/igt@i915_module_load@reload.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_basic@cs-compute:
    - fi-cfl-guc:         NOTRUN -> [SKIP][9] ([fdo#109271]) +17 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-cfl-guc/igt@amdgpu/amd_basic@cs-compute.html

  * igt@amdgpu/amd_basic@cs-gfx:
    - fi-rkl-guc:         NOTRUN -> [SKIP][10] ([fdo#109315]) +17 similar issues
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-rkl-guc/igt@amdgpu/amd_basic@cs-gfx.html

  * igt@core_hotunplug@unbind-rebind:
    - fi-tgl-1115g4:      NOTRUN -> [INCOMPLETE][11] ([i915#4130])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-tgl-1115g4/igt@core_hotunplug@unbind-rebind.html
    - fi-cfl-8700k:       [PASS][12] -> [INCOMPLETE][13] ([i915#4130])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-cfl-8700k/igt@core_hotunplug@unbind-rebind.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-cfl-8700k/igt@core_hotunplug@unbind-rebind.html
    - fi-cfl-8109u:       [PASS][14] -> [INCOMPLETE][15] ([i915#4130])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-cfl-8109u/igt@core_hotunplug@unbind-rebind.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-cfl-8109u/igt@core_hotunplug@unbind-rebind.html
    - fi-kbl-7567u:       [PASS][16] -> [INCOMPLETE][17] ([i915#4130])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-kbl-7567u/igt@core_hotunplug@unbind-rebind.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-kbl-7567u/igt@core_hotunplug@unbind-rebind.html

  * igt@gem_huc_copy@huc-copy:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][18] ([i915#2190])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-tgl-1115g4/igt@gem_huc_copy@huc-copy.html

  * igt@i915_module_load@reload:
    - fi-icl-u2:          NOTRUN -> [INCOMPLETE][19] ([i915#4136])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-icl-u2/igt@i915_module_load@reload.html

  * igt@i915_pm_backlight@basic-brightness:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][20] ([i915#1155])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-tgl-1115g4/igt@i915_pm_backlight@basic-brightness.html

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][21] ([fdo#111827]) +8 similar issues
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-tgl-1115g4/igt@kms_chamelium@common-hpd-after-suspend.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][22] ([i915#4103]) +1 similar issue
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-tgl-1115g4/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html

  * igt@kms_force_connector_basic@force-load-detect:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][23] ([fdo#109285])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-tgl-1115g4/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_psr@primary_mmap_gtt:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][24] ([i915#1072]) +3 similar issues
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-tgl-1115g4/igt@kms_psr@primary_mmap_gtt.html

  * igt@prime_vgem@basic-userptr:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][25] ([i915#3301])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-tgl-1115g4/igt@prime_vgem@basic-userptr.html

  * igt@runner@aborted:
    - fi-kbl-7500u:       NOTRUN -> [FAIL][26] ([i915#2426] / [i915#3363])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-kbl-7500u/igt@runner@aborted.html
    - fi-cml-u2:          NOTRUN -> [FAIL][27] ([i915#2082] / [i915#2426] / [i915#3363])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-cml-u2/igt@runner@aborted.html
    - fi-tgl-1115g4:      NOTRUN -> [FAIL][28] ([i915#1602] / [i915#2722])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-tgl-1115g4/igt@runner@aborted.html
    - fi-skl-6700k2:      NOTRUN -> [FAIL][29] ([i915#2426] / [i915#3363])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-skl-6700k2/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@core_hotunplug@unbind-rebind:
    - fi-skl-6700k2:      [INCOMPLETE][30] ([i915#4130]) -> [PASS][31]
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-skl-6700k2/igt@core_hotunplug@unbind-rebind.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-skl-6700k2/igt@core_hotunplug@unbind-rebind.html
    - fi-rkl-guc:         [INCOMPLETE][32] ([i915#4130]) -> [PASS][33]
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-rkl-guc/igt@core_hotunplug@unbind-rebind.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-rkl-guc/igt@core_hotunplug@unbind-rebind.html
    - fi-icl-u2:          [INCOMPLETE][34] ([i915#4130]) -> [PASS][35]
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-icl-u2/igt@core_hotunplug@unbind-rebind.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-icl-u2/igt@core_hotunplug@unbind-rebind.html
    - fi-kbl-7500u:       [INCOMPLETE][36] ([i915#4130]) -> [PASS][37]
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-kbl-7500u/igt@core_hotunplug@unbind-rebind.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-kbl-7500u/igt@core_hotunplug@unbind-rebind.html

  * igt@i915_module_load@reload:
    - fi-cfl-guc:         [INCOMPLETE][38] -> [PASS][39]
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-cfl-guc/igt@i915_module_load@reload.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-cfl-guc/igt@i915_module_load@reload.html
    - fi-kbl-guc:         [INCOMPLETE][40] -> [PASS][41]
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-kbl-guc/igt@i915_module_load@reload.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-kbl-guc/igt@i915_module_load@reload.html

  
#### Warnings ####

  * igt@i915_pm_rpm@basic-rte:
    - fi-kbl-guc:         [SKIP][42] ([fdo#109271]) -> [FAIL][43] ([i915#3049])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-kbl-guc/igt@i915_pm_rpm@basic-rte.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/fi-kbl-guc/igt@i915_pm_rpm@basic-rte.html

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

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
  [i915#1602]: https://gitlab.freedesktop.org/drm/intel/issues/1602
  [i915#2082]: https://gitlab.freedesktop.org/drm/intel/issues/2082
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426
  [i915#2722]: https://gitlab.freedesktop.org/drm/intel/issues/2722
  [i915#2932]: https://gitlab.freedesktop.org/drm/intel/issues/2932
  [i915#3049]: https://gitlab.freedesktop.org/drm/intel/issues/3049
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3363]: https://gitlab.freedesktop.org/drm/intel/issues/3363
  [i915#3690]: https://gitlab.freedesktop.org/drm/intel/issues/3690
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4130]: https://gitlab.freedesktop.org/drm/intel/issues/4130
  [i915#4136]: https://gitlab.freedesktop.org/drm/intel/issues/4136


Participating hosts (39 -> 36)
------------------------------

  Additional (1): fi-tgl-1115g4 
  Missing    (4): fi-kbl-soraka fi-bdw-samus fi-bsw-cyan bat-dg1-6 


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

  * Linux: CI_DRM_10593 -> Patchwork_21063

  CI-20190529: 20190529
  CI_DRM_10593: 6bc334de7baec4510b614dc80c330bf81fb8ca6f @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6209: 07d6594ed02f55b68d64fa6dd7f80cfbc1ce4ef8 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_21063: 5e758d9fa40c26acd41d8124210636075a7fb649 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

5e758d9fa40c drm/i915/display/adlp: Add new PSR2 workarounds
f7bfcef6fa0f drm/i915/display/psr: Use drm damage helpers to calculate plane damaged area
a8b9aa0f8967 drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled
5a784930bd85 drm/i915/display: Wait at least 2 frames before selective update
b68467f886f1 drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21063/index.html

[-- Attachment #2: Type: text/html, Size: 13718 bytes --]

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

* [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev3)
  2021-09-14 21:25 [Intel-gfx] [PATCH v2 1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation José Roberto de Souza
                   ` (5 preceding siblings ...)
  2021-09-15 19:01 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev2) Patchwork
@ 2021-09-15 20:33 ` Patchwork
  2021-09-16 22:31 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev4) Patchwork
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 25+ messages in thread
From: Patchwork @ 2021-09-15 20:33 UTC (permalink / raw)
  To: Souza, Jose; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 7235 bytes --]

== Series Details ==

Series: series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev3)
URL   : https://patchwork.freedesktop.org/series/94674/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_10593 -> Patchwork_21065
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_21065 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_21065, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21065/index.html

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_21065:

### IGT changes ###

#### Possible regressions ####

  * igt@i915_module_load@reload:
    - fi-skl-6700k2:      NOTRUN -> [INCOMPLETE][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21065/fi-skl-6700k2/igt@i915_module_load@reload.html
    - fi-icl-y:           [PASS][2] -> [INCOMPLETE][3]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-icl-y/igt@i915_module_load@reload.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21065/fi-icl-y/igt@i915_module_load@reload.html

  
#### Warnings ####

  * igt@i915_module_load@reload:
    - fi-kbl-soraka:      [INCOMPLETE][4] ([i915#4136]) -> [INCOMPLETE][5]
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-kbl-soraka/igt@i915_module_load@reload.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21065/fi-kbl-soraka/igt@i915_module_load@reload.html
    - fi-cfl-8109u:       [DMESG-WARN][6] ([i915#4136]) -> [INCOMPLETE][7]
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-cfl-8109u/igt@i915_module_load@reload.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21065/fi-cfl-8109u/igt@i915_module_load@reload.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@i915_module_load@reload:
    - {fi-ehl-2}:         [INCOMPLETE][8] ([i915#4136]) -> [INCOMPLETE][9]
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-ehl-2/igt@i915_module_load@reload.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21065/fi-ehl-2/igt@i915_module_load@reload.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_basic@cs-gfx:
    - fi-rkl-guc:         NOTRUN -> [SKIP][10] ([fdo#109315]) +17 similar issues
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21065/fi-rkl-guc/igt@amdgpu/amd_basic@cs-gfx.html

  * igt@core_hotunplug@unbind-rebind:
    - fi-cfl-guc:         [PASS][11] -> [INCOMPLETE][12] ([i915#4130])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-cfl-guc/igt@core_hotunplug@unbind-rebind.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21065/fi-cfl-guc/igt@core_hotunplug@unbind-rebind.html
    - fi-cfl-8700k:       [PASS][13] -> [INCOMPLETE][14] ([i915#4130])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-cfl-8700k/igt@core_hotunplug@unbind-rebind.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21065/fi-cfl-8700k/igt@core_hotunplug@unbind-rebind.html

  * igt@kms_chamelium@hdmi-edid-read:
    - fi-kbl-7500u:       [PASS][15] -> [FAIL][16] ([i915#3449])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-kbl-7500u/igt@kms_chamelium@hdmi-edid-read.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21065/fi-kbl-7500u/igt@kms_chamelium@hdmi-edid-read.html

  * igt@runner@aborted:
    - fi-cfl-8109u:       NOTRUN -> [FAIL][17] ([i915#2426] / [i915#3363])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21065/fi-cfl-8109u/igt@runner@aborted.html
    - fi-kbl-8809g:       NOTRUN -> [FAIL][18] ([i915#2722] / [i915#3363])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21065/fi-kbl-8809g/igt@runner@aborted.html
    - fi-skl-6700k2:      NOTRUN -> [FAIL][19] ([i915#2426] / [i915#3363])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21065/fi-skl-6700k2/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@core_hotunplug@unbind-rebind:
    - fi-skl-6700k2:      [INCOMPLETE][20] ([i915#4130]) -> [PASS][21]
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-skl-6700k2/igt@core_hotunplug@unbind-rebind.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21065/fi-skl-6700k2/igt@core_hotunplug@unbind-rebind.html
    - fi-rkl-guc:         [INCOMPLETE][22] ([i915#4130]) -> [PASS][23]
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-rkl-guc/igt@core_hotunplug@unbind-rebind.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21065/fi-rkl-guc/igt@core_hotunplug@unbind-rebind.html

  
#### Warnings ####

  * igt@i915_module_load@reload:
    - fi-kbl-8809g:       [INCOMPLETE][24] -> [INCOMPLETE][25] ([i915#4136])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10593/fi-kbl-8809g/igt@i915_module_load@reload.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21065/fi-kbl-8809g/igt@i915_module_load@reload.html

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

  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
  [i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426
  [i915#2722]: https://gitlab.freedesktop.org/drm/intel/issues/2722
  [i915#3363]: https://gitlab.freedesktop.org/drm/intel/issues/3363
  [i915#3449]: https://gitlab.freedesktop.org/drm/intel/issues/3449
  [i915#4130]: https://gitlab.freedesktop.org/drm/intel/issues/4130
  [i915#4136]: https://gitlab.freedesktop.org/drm/intel/issues/4136


Participating hosts (39 -> 36)
------------------------------

  Missing    (3): fi-bdw-samus fi-bsw-cyan bat-dg1-6 


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

  * Linux: CI_DRM_10593 -> Patchwork_21065

  CI-20190529: 20190529
  CI_DRM_10593: 6bc334de7baec4510b614dc80c330bf81fb8ca6f @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6209: 07d6594ed02f55b68d64fa6dd7f80cfbc1ce4ef8 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_21065: 2c6847ab2496d344b7f265c2b439db07f87f2b74 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

2c6847ab2496 drm/i915/display/adlp: Add new PSR2 workarounds
a0f79bdfbd91 drm/i915/display/psr: Use drm damage helpers to calculate plane damaged area
63a10ac7dc98 drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled
70649e25043e drm/i915/display: Wait at least 2 frames before selective update
9bb868ba3aed drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21065/index.html

[-- Attachment #2: Type: text/html, Size: 8768 bytes --]

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

* Re: [Intel-gfx] [PATCH v2 3/5] drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled
  2021-09-15 18:18     ` Souza, Jose
@ 2021-09-16 13:17       ` Ville Syrjälä
  2021-09-16 17:09         ` Souza, Jose
  0 siblings, 1 reply; 25+ messages in thread
From: Ville Syrjälä @ 2021-09-16 13:17 UTC (permalink / raw)
  To: Souza, Jose; +Cc: Mun, Gwan-gyeong, intel-gfx

On Wed, Sep 15, 2021 at 06:18:35PM +0000, Souza, Jose wrote:
> On Wed, 2021-09-15 at 17:58 +0300, Ville Syrjälä wrote:
> > On Tue, Sep 14, 2021 at 02:25:05PM -0700, José Roberto de Souza wrote:
> > > Not sure why but when moving the cursor fast it causes some artifacts
> > > of the cursor to be left in the cursor path, adding some pixels above
> > > the cursor to the damaged area fixes the issue, so leaving this as a
> > > workaround until proper fix is found.
> > 
> > Have you tried warping the cursor clear across the screen while
> > a partial update is already pending? I think it will go badly.
> 
> You mean move the cursor for example from 0x0 to 500x500 in one frame?
> It will mark as damaged the previous area and the new one.

Legacy cursor updates bypass all that stuff so you're not going to
updating the sel fetch area for the other planes.

> 
> > 
> > In fact I'm thinking the mailbox style legacy cursor updates are just
> > fundementally incompatible with partial updates since the cursor
> > can move outside of the already committed update region any time.
> > Ie. I suspect while the cursor is visible we simply can't do partial
> > updates.
> 
> Probably I did not understand what you want to say, but each cursor update will be in one frame, updating the necessary area.

The legacy cursor uses mailbox updates so there is no 1:1 relationship
between actual scanned out frames and cursor ioctl calls. You can
have umpteen thousand cursor updates per frame.

> So I can't understand why it is incompatible.

Because all the other planes already got their selective fetch area
updated earlir, and now the cursor's new update area is something
totally different. Doesn't the total area need to computed to comprise
of a single crtc space rectangle essentially?

So we could start with something like:

sel fetch area
 |
 v
 ________________
| ________       |
| | plane |      |
| |       |_____ |
| _________     ||
|   _   | plane ||
|  |_|  |_______||
|________________|   
    ^
    |
cursor

Then the cursor moves before the hardware has even latched the previous
update:

old sel fetch area
 |
 v
 ________________
| ________       |
| | plane |      |    _
| |       |_____ |   |_|
| _________     ||    ^
|       | plane ||    |
|       |_______||   cursor
|________________|    

-- 
Ville Syrjälä
Intel

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

* Re: [Intel-gfx] [PATCH v2 3/5] drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled
  2021-09-16 13:17       ` Ville Syrjälä
@ 2021-09-16 17:09         ` Souza, Jose
  2021-09-17 13:04           ` Ville Syrjälä
  0 siblings, 1 reply; 25+ messages in thread
From: Souza, Jose @ 2021-09-16 17:09 UTC (permalink / raw)
  To: ville.syrjala; +Cc: Mun, Gwan-gyeong, intel-gfx

On Thu, 2021-09-16 at 16:17 +0300, Ville Syrjälä wrote:
> On Wed, Sep 15, 2021 at 06:18:35PM +0000, Souza, Jose wrote:
> > On Wed, 2021-09-15 at 17:58 +0300, Ville Syrjälä wrote:
> > > On Tue, Sep 14, 2021 at 02:25:05PM -0700, José Roberto de Souza wrote:
> > > > Not sure why but when moving the cursor fast it causes some artifacts
> > > > of the cursor to be left in the cursor path, adding some pixels above
> > > > the cursor to the damaged area fixes the issue, so leaving this as a
> > > > workaround until proper fix is found.
> > > 
> > > Have you tried warping the cursor clear across the screen while
> > > a partial update is already pending? I think it will go badly.
> > 
> > You mean move the cursor for example from 0x0 to 500x500 in one frame?
> > It will mark as damaged the previous area and the new one.
> 
> Legacy cursor updates bypass all that stuff so you're not going to
> updating the sel fetch area for the other planes.
> 
> > 
> > > 
> > > In fact I'm thinking the mailbox style legacy cursor updates are just
> > > fundementally incompatible with partial updates since the cursor
> > > can move outside of the already committed update region any time.
> > > Ie. I suspect while the cursor is visible we simply can't do partial
> > > updates.
> > 
> > Probably I did not understand what you want to say, but each cursor update will be in one frame, updating the necessary area.
> 
> The legacy cursor uses mailbox updates so there is no 1:1 relationship
> between actual scanned out frames and cursor ioctl calls. You can
> have umpteen thousand cursor updates per frame.

Not if intel_legacy_cursor_update() is changed to go to the slow path and do one atomic commit for each move.
https://patchwork.freedesktop.org/patch/453192/?series=94522&rev=1

I believe compositors will do a single atomic commit updating cursor and all the other planes into a single commit.

> 
> > So I can't understand why it is incompatible.
> 
> Because all the other planes already got their selective fetch area
> updated earlir, and now the cursor's new update area is something
> totally different. Doesn't the total area need to computed to comprise
> of a single crtc space rectangle essentially?
> 
> So we could start with something like:
> 
> sel fetch area
>  |
>  v
>  ________________
> > ________       |
> > > plane |      |
> > >       |_____ |
> > _________     ||
> >   _   | plane ||
> >  |_|  |_______||
> > ________________|   
>     ^
>     |
> cursor
> 
> Then the cursor moves before the hardware has even latched the previous
> update:
> 
> old sel fetch area
>  |
>  v
>  ________________
> > ________       |
> > > plane |      |    _
> > >       |_____ |   |_|
> > _________     ||    ^
> >       | plane ||    |
> >       |_______||   cursor
> > ________________|    
> 


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

* [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev4)
  2021-09-14 21:25 [Intel-gfx] [PATCH v2 1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation José Roberto de Souza
                   ` (6 preceding siblings ...)
  2021-09-15 20:33 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev3) Patchwork
@ 2021-09-16 22:31 ` Patchwork
  2021-09-17  0:30 ` [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev5) Patchwork
  2021-09-17  4:29 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
  9 siblings, 0 replies; 25+ messages in thread
From: Patchwork @ 2021-09-16 22:31 UTC (permalink / raw)
  To: Souza, Jose; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 7802 bytes --]

== Series Details ==

Series: series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev4)
URL   : https://patchwork.freedesktop.org/series/94674/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_10599 -> Patchwork_21079
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_21079 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_21079, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21079/index.html

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_21079:

### IGT changes ###

#### Possible regressions ####

  * igt@i915_module_load@reload:
    - fi-kbl-7567u:       NOTRUN -> [INCOMPLETE][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21079/fi-kbl-7567u/igt@i915_module_load@reload.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@i915_module_load@reload:
    - {fi-ehl-2}:         [INCOMPLETE][2] ([i915#4136]) -> [INCOMPLETE][3]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10599/fi-ehl-2/igt@i915_module_load@reload.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21079/fi-ehl-2/igt@i915_module_load@reload.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_basic@cs-gfx:
    - fi-rkl-guc:         NOTRUN -> [SKIP][4] ([fdo#109315]) +17 similar issues
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21079/fi-rkl-guc/igt@amdgpu/amd_basic@cs-gfx.html

  * igt@amdgpu/amd_cs_nop@sync-gfx0:
    - fi-rkl-11600:       NOTRUN -> [SKIP][5] ([fdo#109315]) +17 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21079/fi-rkl-11600/igt@amdgpu/amd_cs_nop@sync-gfx0.html

  * igt@core_hotunplug@unbind-rebind:
    - fi-skl-6700k2:      [PASS][6] -> [INCOMPLETE][7] ([i915#4130])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10599/fi-skl-6700k2/igt@core_hotunplug@unbind-rebind.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21079/fi-skl-6700k2/igt@core_hotunplug@unbind-rebind.html

  * igt@gem_exec_suspend@basic-s0:
    - fi-kbl-soraka:      [PASS][8] -> [INCOMPLETE][9] ([i915#155])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10599/fi-kbl-soraka/igt@gem_exec_suspend@basic-s0.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21079/fi-kbl-soraka/igt@gem_exec_suspend@basic-s0.html

  * igt@i915_module_load@reload:
    - fi-icl-u2:          NOTRUN -> [INCOMPLETE][10] ([i915#4130])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21079/fi-icl-u2/igt@i915_module_load@reload.html
    - fi-kbl-guc:         [PASS][11] -> [INCOMPLETE][12] ([i915#4130] / [i915#4139])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10599/fi-kbl-guc/igt@i915_module_load@reload.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21079/fi-kbl-guc/igt@i915_module_load@reload.html

  * igt@runner@aborted:
    - fi-icl-u2:          NOTRUN -> [FAIL][13] ([i915#2426] / [i915#3363] / [i915#3690])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21079/fi-icl-u2/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@core_hotunplug@unbind-rebind:
    - fi-rkl-guc:         [INCOMPLETE][14] ([i915#4130]) -> [PASS][15]
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10599/fi-rkl-guc/igt@core_hotunplug@unbind-rebind.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21079/fi-rkl-guc/igt@core_hotunplug@unbind-rebind.html
    - fi-icl-u2:          [INCOMPLETE][16] ([i915#4130]) -> [PASS][17]
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10599/fi-icl-u2/igt@core_hotunplug@unbind-rebind.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21079/fi-icl-u2/igt@core_hotunplug@unbind-rebind.html
    - fi-rkl-11600:       [INCOMPLETE][18] ([i915#4130]) -> [PASS][19]
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10599/fi-rkl-11600/igt@core_hotunplug@unbind-rebind.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21079/fi-rkl-11600/igt@core_hotunplug@unbind-rebind.html
    - fi-kbl-7567u:       [INCOMPLETE][20] ([i915#4130]) -> [PASS][21]
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10599/fi-kbl-7567u/igt@core_hotunplug@unbind-rebind.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21079/fi-kbl-7567u/igt@core_hotunplug@unbind-rebind.html

  
#### Warnings ####

  * igt@i915_module_load@reload:
    - fi-kbl-8809g:       [INCOMPLETE][22] ([i915#4136]) -> [INCOMPLETE][23] ([i915#4130])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10599/fi-kbl-8809g/igt@i915_module_load@reload.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21079/fi-kbl-8809g/igt@i915_module_load@reload.html
    - fi-cml-u2:          [INCOMPLETE][24] ([i915#4130] / [i915#4136]) -> [INCOMPLETE][25] ([i915#4130])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10599/fi-cml-u2/igt@i915_module_load@reload.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21079/fi-cml-u2/igt@i915_module_load@reload.html
    - fi-kbl-7500u:       [INCOMPLETE][26] ([i915#4130] / [i915#4136]) -> [INCOMPLETE][27] ([i915#4130])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10599/fi-kbl-7500u/igt@i915_module_load@reload.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21079/fi-kbl-7500u/igt@i915_module_load@reload.html

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

  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [i915#155]: https://gitlab.freedesktop.org/drm/intel/issues/155
  [i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426
  [i915#2722]: https://gitlab.freedesktop.org/drm/intel/issues/2722
  [i915#2932]: https://gitlab.freedesktop.org/drm/intel/issues/2932
  [i915#3363]: https://gitlab.freedesktop.org/drm/intel/issues/3363
  [i915#3690]: https://gitlab.freedesktop.org/drm/intel/issues/3690
  [i915#4130]: https://gitlab.freedesktop.org/drm/intel/issues/4130
  [i915#4136]: https://gitlab.freedesktop.org/drm/intel/issues/4136
  [i915#4139]: https://gitlab.freedesktop.org/drm/intel/issues/4139


Participating hosts (38 -> 35)
------------------------------

  Missing    (3): fi-bdw-samus fi-bsw-cyan bat-dg1-6 


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

  * Linux: CI_DRM_10599 -> Patchwork_21079

  CI-20190529: 20190529
  CI_DRM_10599: 7517e1f3124126ca9f24627f9494330d155e5ff6 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6211: 7b275b3eb17ddf6e7c5b7b9ba359b7f5345a5311 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_21079: 43229eeeea65813ce9c8b370ad4b6933fe7823d9 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

43229eeeea65 drm/i915/display/adlp: Add new PSR2 workarounds
c4a91f7e7608 drm/i915/display/psr: Use drm damage helpers to calculate plane damaged area
898b12898ccc drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled
51aa56c4788e drm/i915/display: Wait at least 2 frames before selective update
9270418bcb50 drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21079/index.html

[-- Attachment #2: Type: text/html, Size: 9658 bytes --]

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

* [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev5)
  2021-09-14 21:25 [Intel-gfx] [PATCH v2 1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation José Roberto de Souza
                   ` (7 preceding siblings ...)
  2021-09-16 22:31 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev4) Patchwork
@ 2021-09-17  0:30 ` Patchwork
  2021-09-17  4:29 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
  9 siblings, 0 replies; 25+ messages in thread
From: Patchwork @ 2021-09-17  0:30 UTC (permalink / raw)
  To: Souza, Jose; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 7458 bytes --]

== Series Details ==

Series: series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev5)
URL   : https://patchwork.freedesktop.org/series/94674/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_10600 -> Patchwork_21082
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/index.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_basic@cs-gfx:
    - fi-skl-6700k2:      NOTRUN -> [SKIP][1] ([fdo#109271]) +17 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/fi-skl-6700k2/igt@amdgpu/amd_basic@cs-gfx.html

  * igt@amdgpu/amd_basic@cs-sdma:
    - fi-cfl-8109u:       NOTRUN -> [SKIP][2] ([fdo#109271]) +17 similar issues
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/fi-cfl-8109u/igt@amdgpu/amd_basic@cs-sdma.html
    - fi-kbl-7500u:       NOTRUN -> [SKIP][3] ([fdo#109271]) +17 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/fi-kbl-7500u/igt@amdgpu/amd_basic@cs-sdma.html

  * igt@amdgpu/amd_cs_nop@fork-gfx0:
    - fi-icl-u2:          NOTRUN -> [SKIP][4] ([fdo#109315]) +17 similar issues
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/fi-icl-u2/igt@amdgpu/amd_cs_nop@fork-gfx0.html

  * igt@amdgpu/amd_cs_nop@sync-gfx0:
    - fi-rkl-11600:       NOTRUN -> [SKIP][5] ([fdo#109315]) +17 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/fi-rkl-11600/igt@amdgpu/amd_cs_nop@sync-gfx0.html

  * igt@core_hotunplug@unbind-rebind:
    - fi-cfl-guc:         [PASS][6] -> [INCOMPLETE][7] ([i915#4130])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/fi-cfl-guc/igt@core_hotunplug@unbind-rebind.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/fi-cfl-guc/igt@core_hotunplug@unbind-rebind.html
    - fi-kbl-7567u:       [PASS][8] -> [INCOMPLETE][9] ([i915#4130])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/fi-kbl-7567u/igt@core_hotunplug@unbind-rebind.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/fi-kbl-7567u/igt@core_hotunplug@unbind-rebind.html

  * igt@i915_module_load@reload:
    - fi-icl-y:           [PASS][10] -> [INCOMPLETE][11] ([i915#4130])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/fi-icl-y/igt@i915_module_load@reload.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/fi-icl-y/igt@i915_module_load@reload.html

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-kbl-7500u:       [PASS][12] -> [DMESG-WARN][13] ([i915#2868])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/fi-kbl-7500u/igt@kms_chamelium@common-hpd-after-suspend.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/fi-kbl-7500u/igt@kms_chamelium@common-hpd-after-suspend.html

  
#### Possible fixes ####

  * igt@core_hotunplug@unbind-rebind:
    - fi-skl-6700k2:      [INCOMPLETE][14] ([i915#4130]) -> [PASS][15]
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/fi-skl-6700k2/igt@core_hotunplug@unbind-rebind.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/fi-skl-6700k2/igt@core_hotunplug@unbind-rebind.html
    - fi-icl-u2:          [INCOMPLETE][16] ([i915#4130]) -> [PASS][17]
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/fi-icl-u2/igt@core_hotunplug@unbind-rebind.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/fi-icl-u2/igt@core_hotunplug@unbind-rebind.html
    - fi-kbl-7500u:       [INCOMPLETE][18] ([i915#4130]) -> [PASS][19]
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/fi-kbl-7500u/igt@core_hotunplug@unbind-rebind.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/fi-kbl-7500u/igt@core_hotunplug@unbind-rebind.html

  * igt@i915_module_load@reload:
    - fi-rkl-11600:       [INCOMPLETE][20] ([i915#4136]) -> [PASS][21]
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/fi-rkl-11600/igt@i915_module_load@reload.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/fi-rkl-11600/igt@i915_module_load@reload.html
    - fi-kbl-guc:         [INCOMPLETE][22] ([i915#4130] / [i915#4139]) -> [PASS][23]
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/fi-kbl-guc/igt@i915_module_load@reload.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/fi-kbl-guc/igt@i915_module_load@reload.html

  
#### Warnings ####

  * igt@i915_module_load@reload:
    - fi-kbl-8809g:       [INCOMPLETE][24] ([i915#3910] / [i915#4136]) -> [INCOMPLETE][25] ([i915#4130])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/fi-kbl-8809g/igt@i915_module_load@reload.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/fi-kbl-8809g/igt@i915_module_load@reload.html
    - fi-cml-u2:          [INCOMPLETE][26] ([i915#4130] / [i915#4136]) -> [INCOMPLETE][27] ([i915#4136])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/fi-cml-u2/igt@i915_module_load@reload.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/fi-cml-u2/igt@i915_module_load@reload.html
    - fi-cfl-8109u:       [INCOMPLETE][28] ([i915#4130] / [i915#4136]) -> [DMESG-WARN][29] ([i915#4136])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/fi-cfl-8109u/igt@i915_module_load@reload.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/fi-cfl-8109u/igt@i915_module_load@reload.html

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

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
  [i915#2868]: https://gitlab.freedesktop.org/drm/intel/issues/2868
  [i915#3910]: https://gitlab.freedesktop.org/drm/intel/issues/3910
  [i915#4130]: https://gitlab.freedesktop.org/drm/intel/issues/4130
  [i915#4136]: https://gitlab.freedesktop.org/drm/intel/issues/4136
  [i915#4139]: https://gitlab.freedesktop.org/drm/intel/issues/4139


Participating hosts (38 -> 35)
------------------------------

  Missing    (3): fi-kbl-soraka fi-bsw-cyan fi-bdw-samus 


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

  * Linux: CI_DRM_10600 -> Patchwork_21082

  CI-20190529: 20190529
  CI_DRM_10600: 6d030d2f188222b72833db764662393e8d492325 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6211: 7b275b3eb17ddf6e7c5b7b9ba359b7f5345a5311 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_21082: b6be0c424a24e0f408d9ff52b5a2ae04f11513f3 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

b6be0c424a24 drm/i915/display/adlp: Add new PSR2 workarounds
a0fd393a314c drm/i915/display/psr: Use drm damage helpers to calculate plane damaged area
bd1e314a6105 drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled
3fcd40d2c912 drm/i915/display: Wait at least 2 frames before selective update
1111881d6cdc drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/index.html

[-- Attachment #2: Type: text/html, Size: 9526 bytes --]

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

* [Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev5)
  2021-09-14 21:25 [Intel-gfx] [PATCH v2 1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation José Roberto de Souza
                   ` (8 preceding siblings ...)
  2021-09-17  0:30 ` [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev5) Patchwork
@ 2021-09-17  4:29 ` Patchwork
  2021-09-17 17:52   ` Souza, Jose
  9 siblings, 1 reply; 25+ messages in thread
From: Patchwork @ 2021-09-17  4:29 UTC (permalink / raw)
  To: Souza, Jose; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 27454 bytes --]

== Series Details ==

Series: series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev5)
URL   : https://patchwork.freedesktop.org/series/94674/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_10600_full -> Patchwork_21082_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_21082_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_21082_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_21082_full:

### IGT changes ###

#### Possible regressions ####

  * igt@i915_pm_rpm@gem-mmap-type:
    - shard-kbl:          NOTRUN -> [INCOMPLETE][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl3/igt@i915_pm_rpm@gem-mmap-type.html

  * igt@kms_atomic@plane-invalid-params:
    - shard-iclb:         [PASS][2] -> [DMESG-WARN][3]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-iclb7/igt@kms_atomic@plane-invalid-params.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-iclb2/igt@kms_atomic@plane-invalid-params.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@device_reset@unbind-reset-rebind:
    - shard-kbl:          NOTRUN -> [DMESG-WARN][4] ([i915#4130])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl6/igt@device_reset@unbind-reset-rebind.html

  * igt@feature_discovery@chamelium:
    - shard-skl:          NOTRUN -> [SKIP][5] ([fdo#109271]) +18 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-skl10/igt@feature_discovery@chamelium.html

  * igt@gem_eio@unwedge-stress:
    - shard-skl:          [PASS][6] -> [TIMEOUT][7] ([i915#2369] / [i915#3063])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-skl9/igt@gem_eio@unwedge-stress.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-skl10/igt@gem_eio@unwedge-stress.html

  * igt@gem_exec_fair@basic-none-solo@rcs0:
    - shard-tglb:         NOTRUN -> [FAIL][8] ([i915#2842])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb3/igt@gem_exec_fair@basic-none-solo@rcs0.html

  * igt@gem_exec_fair@basic-pace@vcs0:
    - shard-kbl:          [PASS][9] -> [FAIL][10] ([i915#2842])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-kbl3/igt@gem_exec_fair@basic-pace@vcs0.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl6/igt@gem_exec_fair@basic-pace@vcs0.html

  * igt@gem_exec_fair@basic-pace@vcs1:
    - shard-iclb:         NOTRUN -> [FAIL][11] ([i915#2842])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-iclb1/igt@gem_exec_fair@basic-pace@vcs1.html

  * igt@gem_pread@exhaustion:
    - shard-tglb:         NOTRUN -> [WARN][12] ([i915#2658])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb3/igt@gem_pread@exhaustion.html
    - shard-kbl:          NOTRUN -> [WARN][13] ([i915#2658])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl6/igt@gem_pread@exhaustion.html

  * igt@gem_userptr_blits@input-checking:
    - shard-kbl:          NOTRUN -> [DMESG-WARN][14] ([i915#3002])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl6/igt@gem_userptr_blits@input-checking.html

  * igt@gen9_exec_parse@bb-start-cmd:
    - shard-tglb:         NOTRUN -> [SKIP][15] ([i915#2856])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb5/igt@gen9_exec_parse@bb-start-cmd.html

  * igt@i915_pm_rc6_residency@media-rc6-accuracy:
    - shard-tglb:         NOTRUN -> [SKIP][16] ([fdo#109289] / [fdo#111719])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb5/igt@i915_pm_rc6_residency@media-rc6-accuracy.html

  * igt@i915_pm_rpm@modeset-pc8-residency-stress:
    - shard-tglb:         NOTRUN -> [SKIP][17] ([fdo#109506] / [i915#2411])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb5/igt@i915_pm_rpm@modeset-pc8-residency-stress.html

  * igt@i915_suspend@fence-restore-untiled:
    - shard-kbl:          NOTRUN -> [DMESG-WARN][18] ([i915#180]) +1 similar issue
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl3/igt@i915_suspend@fence-restore-untiled.html

  * igt@kms_atomic@crtc-invalid-params-fence:
    - shard-iclb:         [PASS][19] -> [DMESG-WARN][20] ([i915#3728])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-iclb3/igt@kms_atomic@crtc-invalid-params-fence.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-iclb2/igt@kms_atomic@crtc-invalid-params-fence.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - shard-kbl:          NOTRUN -> [SKIP][21] ([fdo#109271] / [i915#3777]) +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl3/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
    - shard-skl:          NOTRUN -> [FAIL][22] ([i915#3763])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-skl10/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - shard-tglb:         NOTRUN -> [SKIP][23] ([fdo#111615]) +1 similar issue
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb3/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][24] ([i915#3689])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb5/igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_ccs.html

  * igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc:
    - shard-kbl:          NOTRUN -> [SKIP][25] ([fdo#109271] / [i915#3886]) +6 similar issues
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl3/igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_mc_ccs:
    - shard-skl:          NOTRUN -> [SKIP][26] ([fdo#109271] / [i915#3886]) +1 similar issue
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-skl10/igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-b-bad-aux-stride-y_tiled_gen12_mc_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][27] ([i915#3689] / [i915#3886]) +2 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb5/igt@kms_ccs@pipe-b-bad-aux-stride-y_tiled_gen12_mc_ccs.html

  * igt@kms_chamelium@dp-hpd-storm:
    - shard-skl:          NOTRUN -> [SKIP][28] ([fdo#109271] / [fdo#111827])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-skl10/igt@kms_chamelium@dp-hpd-storm.html

  * igt@kms_chamelium@hdmi-hpd-for-each-pipe:
    - shard-kbl:          NOTRUN -> [SKIP][29] ([fdo#109271] / [fdo#111827]) +12 similar issues
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl3/igt@kms_chamelium@hdmi-hpd-for-each-pipe.html

  * igt@kms_color_chamelium@pipe-c-gamma:
    - shard-tglb:         NOTRUN -> [SKIP][30] ([fdo#109284] / [fdo#111827]) +6 similar issues
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb3/igt@kms_color_chamelium@pipe-c-gamma.html

  * igt@kms_cursor_crc@pipe-c-cursor-512x170-rapid-movement:
    - shard-tglb:         NOTRUN -> [SKIP][31] ([i915#3359]) +1 similar issue
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb5/igt@kms_cursor_crc@pipe-c-cursor-512x170-rapid-movement.html

  * igt@kms_cursor_crc@pipe-d-cursor-512x170-sliding:
    - shard-tglb:         NOTRUN -> [SKIP][32] ([fdo#109279] / [i915#3359])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb5/igt@kms_cursor_crc@pipe-d-cursor-512x170-sliding.html

  * igt@kms_cursor_crc@pipe-d-cursor-suspend:
    - shard-kbl:          NOTRUN -> [SKIP][33] ([fdo#109271]) +98 similar issues
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl6/igt@kms_cursor_crc@pipe-d-cursor-suspend.html

  * igt@kms_flip@flip-vs-expired-vblank@a-edp1:
    - shard-skl:          [PASS][34] -> [FAIL][35] ([i915#79]) +1 similar issue
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-skl6/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-skl8/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html

  * igt@kms_flip@flip-vs-suspend@a-edp1:
    - shard-tglb:         [PASS][36] -> [INCOMPLETE][37] ([i915#456]) +3 similar issues
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-tglb2/igt@kms_flip@flip-vs-suspend@a-edp1.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb7/igt@kms_flip@flip-vs-suspend@a-edp1.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-onoff:
    - shard-tglb:         NOTRUN -> [SKIP][38] ([fdo#111825]) +10 similar issues
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbcpsr-suspend:
    - shard-tglb:         [PASS][39] -> [INCOMPLETE][40] ([i915#2411] / [i915#456])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-tglb5/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb7/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html

  * igt@kms_hdr@bpc-switch-dpms:
    - shard-skl:          [PASS][41] -> [FAIL][42] ([i915#1188])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-skl1/igt@kms_hdr@bpc-switch-dpms.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-skl9/igt@kms_hdr@bpc-switch-dpms.html

  * igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b-planes:
    - shard-kbl:          [PASS][43] -> [DMESG-WARN][44] ([i915#180]) +4 similar issues
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-kbl4/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b-planes.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl7/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b-planes.html

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
    - shard-skl:          [PASS][45] -> [FAIL][46] ([fdo#108145] / [i915#265]) +1 similar issue
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-skl9/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-skl10/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html

  * igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb:
    - shard-kbl:          NOTRUN -> [FAIL][47] ([fdo#108145] / [i915#265])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl4/igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb.html

  * igt@kms_plane_lowres@pipe-c-tiling-x:
    - shard-tglb:         NOTRUN -> [SKIP][48] ([i915#3536])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb5/igt@kms_plane_lowres@pipe-c-tiling-x.html

  * igt@kms_plane_multiple@atomic-pipe-b-tiling-yf:
    - shard-tglb:         NOTRUN -> [SKIP][49] ([fdo#112054])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb5/igt@kms_plane_multiple@atomic-pipe-b-tiling-yf.html

  * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-3:
    - shard-kbl:          NOTRUN -> [SKIP][50] ([fdo#109271] / [i915#658]) +2 similar issues
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl4/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-3.html

  * igt@kms_psr@psr2_no_drrs:
    - shard-iclb:         [PASS][51] -> [SKIP][52] ([fdo#109441])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-iclb2/igt@kms_psr@psr2_no_drrs.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-iclb1/igt@kms_psr@psr2_no_drrs.html

  * igt@kms_sysfs_edid_timing:
    - shard-kbl:          NOTRUN -> [FAIL][53] ([IGT#2])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl7/igt@kms_sysfs_edid_timing.html

  * igt@nouveau_crc@pipe-b-ctx-flip-detection:
    - shard-tglb:         NOTRUN -> [SKIP][54] ([i915#2530])
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb5/igt@nouveau_crc@pipe-b-ctx-flip-detection.html

  * igt@perf@polling-small-buf:
    - shard-tglb:         [PASS][55] -> [FAIL][56] ([i915#1722])
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-tglb8/igt@perf@polling-small-buf.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb6/igt@perf@polling-small-buf.html

  * igt@prime_nv_api@i915_nv_double_import:
    - shard-tglb:         NOTRUN -> [SKIP][57] ([fdo#109291]) +2 similar issues
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb3/igt@prime_nv_api@i915_nv_double_import.html

  * igt@sysfs_clients@recycle:
    - shard-kbl:          NOTRUN -> [SKIP][58] ([fdo#109271] / [i915#2994])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl4/igt@sysfs_clients@recycle.html

  
#### Possible fixes ####

  * igt@gem_ctx_persistence@many-contexts:
    - shard-tglb:         [FAIL][59] ([i915#2410]) -> [PASS][60]
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-tglb3/igt@gem_ctx_persistence@many-contexts.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb2/igt@gem_ctx_persistence@many-contexts.html

  * igt@gem_exec_fair@basic-none-share@rcs0:
    - shard-iclb:         [FAIL][61] ([i915#2842]) -> [PASS][62]
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-iclb8/igt@gem_exec_fair@basic-none-share@rcs0.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-iclb6/igt@gem_exec_fair@basic-none-share@rcs0.html
    - shard-tglb:         [FAIL][63] ([i915#2842]) -> [PASS][64] +1 similar issue
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-tglb1/igt@gem_exec_fair@basic-none-share@rcs0.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb2/igt@gem_exec_fair@basic-none-share@rcs0.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-skl:          [DMESG-WARN][65] ([i915#1436] / [i915#716]) -> [PASS][66]
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-skl9/igt@gen9_exec_parse@allowed-single.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-skl10/igt@gen9_exec_parse@allowed-single.html

  * igt@i915_pm_rpm@system-suspend-execbuf:
    - shard-tglb:         [INCOMPLETE][67] ([i915#2411] / [i915#456] / [i915#750]) -> [PASS][68]
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-tglb7/igt@i915_pm_rpm@system-suspend-execbuf.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb5/igt@i915_pm_rpm@system-suspend-execbuf.html

  * igt@kms_cursor_crc@pipe-a-cursor-suspend:
    - shard-kbl:          [DMESG-WARN][69] ([i915#180]) -> [PASS][70] +9 similar issues
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-suspend.html

  * igt@kms_flip@flip-vs-expired-vblank@b-edp1:
    - shard-skl:          [FAIL][71] ([i915#79]) -> [PASS][72]
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-skl6/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-skl8/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
    - shard-tglb:         [INCOMPLETE][73] ([i915#2828] / [i915#456]) -> [PASS][74]
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-tglb7/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-tglb3/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html

  * igt@kms_psr2_su@frontbuffer:
    - shard-iclb:         [SKIP][75] ([fdo#109642] / [fdo#111068] / [i915#658]) -> [PASS][76]
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-iclb3/igt@kms_psr2_su@frontbuffer.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-iclb2/igt@kms_psr2_su@frontbuffer.html

  
#### Warnings ####

  * igt@gem_exec_fair@basic-pace@vecs0:
    - shard-kbl:          [FAIL][77] ([i915#2842]) -> [SKIP][78] ([fdo#109271])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-kbl3/igt@gem_exec_fair@basic-pace@vecs0.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl6/igt@gem_exec_fair@basic-pace@vecs0.html

  * igt@i915_pm_rc6_residency@rc6-fence:
    - shard-iclb:         [WARN][79] ([i915#1804] / [i915#2684]) -> [WARN][80] ([i915#2684])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-iclb3/igt@i915_pm_rc6_residency@rc6-fence.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-iclb8/igt@i915_pm_rc6_residency@rc6-fence.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - shard-skl:          [FAIL][81] ([i915#3722]) -> [FAIL][82] ([i915#3743])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-skl4/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-skl2/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html

  * igt@runner@aborted:
    - shard-kbl:          ([FAIL][83], [FAIL][84], [FAIL][85], [FAIL][86], [FAIL][87], [FAIL][88], [FAIL][89], [FAIL][90], [FAIL][91], [FAIL][92], [FAIL][93], [FAIL][94], [FAIL][95], [FAIL][96]) ([fdo#109271] / [i915#1436] / [i915#180] / [i915#1814] / [i915#3002] / [i915#3363] / [i915#602]) -> ([FAIL][97], [FAIL][98], [FAIL][99], [FAIL][100], [FAIL][101], [FAIL][102], [FAIL][103], [FAIL][104], [FAIL][105], [FAIL][106], [FAIL][107], [FAIL][108], [FAIL][109]) ([fdo#109271] / [i915#1436] / [i915#180] / [i915#1814] / [i915#2722] / [i915#3002] / [i915#3363])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-kbl3/igt@runner@aborted.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-kbl1/igt@runner@aborted.html
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-kbl4/igt@runner@aborted.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-kbl6/igt@runner@aborted.html
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-kbl1/igt@runner@aborted.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-kbl1/igt@runner@aborted.html
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-kbl6/igt@runner@aborted.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-kbl3/igt@runner@aborted.html
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-kbl3/igt@runner@aborted.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-kbl1/igt@runner@aborted.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-kbl6/igt@runner@aborted.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-kbl4/igt@runner@aborted.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-kbl7/igt@runner@aborted.html
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-kbl7/igt@runner@aborted.html
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl7/igt@runner@aborted.html
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl7/igt@runner@aborted.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl7/igt@runner@aborted.html
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl3/igt@runner@aborted.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl3/igt@runner@aborted.html
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl6/igt@runner@aborted.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl4/igt@runner@aborted.html
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl6/igt@runner@aborted.html
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl1/igt@runner@aborted.html
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl6/igt@runner@aborted.html
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl4/igt@runner@aborted.html
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl1/igt@runner@aborted.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-kbl3/igt@runner@aborted.html
    - shard-iclb:         ([FAIL][110], [FAIL][111]) ([i915#1814] / [i915#3002]) -> ([FAIL][112], [FAIL][113], [FAIL][114], [FAIL][115]) ([i915#1814] / [i915#3002] / [i915#3728])
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-iclb8/igt@runner@aborted.html
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-iclb5/igt@runner@aborted.html
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-iclb6/igt@runner@aborted.html
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-iclb5/igt@runner@aborted.html
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-iclb2/igt@runner@aborted.html
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-iclb2/igt@runner@aborted.html
    - shard-skl:          ([FAIL][116], [FAIL][117], [FAIL][118]) ([i915#1436] / [i915#1814] / [i915#3002] / [i915#3363]) -> ([FAIL][119], [FAIL][120]) ([i915#1814] / [i915#3002] / [i915#3363])
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-skl1/igt@runner@aborted.html
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-skl9/igt@runner@aborted.html
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10600/shard-skl7/igt@runner@aborted.html
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-skl4/igt@runner@aborted.html
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/shard-skl4/igt@runner@aborted.html

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

  [IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111719]: https://bugs.freedesktop.org/show_bug.cgi?id=111719
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
  [i915#1188]: https://gitlab.freedesktop.org/drm/intel/issues/1188
  [i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436
  [i915#1722]: https://gitlab.freedesktop.org/drm/intel/issues/1722
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#1804]: https://gitlab.freedesktop.org/drm/intel/issues/1804
  [i915#1814]: https://gitlab.freedesktop.org/drm/intel/issues/1814
  [i915#2369]: https://gitlab.freedesktop.org/drm/intel/issues/2369
  [i915#2410]: https://gitlab.freedesktop.org/drm/intel/issues/2410
  [i915#2411]: https://gitlab.freedesktop.org/drm/intel/issues/2411
  [i915#2530]: https://gitlab.freedesktop.org/drm/intel/issues/2530
  [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
  [i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
  [i915#2684]: https://gitlab.freedesktop.org/drm/intel/issues/2684
  [i915#2722]: https://gitlab.freedesktop.org/drm/intel/issues/2722
  [i915#2828]: https://gitlab.freedesktop.org/drm/intel/issues/2828
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
  [i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
  [i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002
  [i915#3063]: https://gitlab.freedesktop.org/drm/intel/issues/3063
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3363]: https://gitlab.freedesktop.org/drm/intel/issues/3363
  [i915#3536]: https://gitlab.freedesktop.org/drm/intel/issues/3536
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3722]: https://gitlab.freedesktop.org/drm/intel/issues/3722
  [i915#3728]: https://gitlab.freedesktop.org/drm/intel/issues/3728
  [i915#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743
  [i915#3763]: https://gitlab.freedesktop.org/drm/intel/issues/3763
  [i915#3777]: https://gitlab.freedesktop.org/drm/intel/issues/3777
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#4130]: https://gitlab.freedesktop.org/drm/intel/issues/4130
  [i915#456]: https://gitlab.freedesktop.org/drm/intel/issues/456
  [i915#602]: https://gitlab.freedesktop.org/drm/intel/issues/602
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716
  [i915#750]: https://gitlab.freedesktop.org/drm/intel/issues/750
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79


Participating hosts (10 -> 10)
------------------------------

  No changes in participating hosts


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

  * Linux: CI_DRM_10600 -> Patchwork_21082

  CI-20190529: 20190529
  CI_DRM_10600: 6d030d2f188222b72833db764662393e8d492325 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6211: 7b275b3eb17ddf6e7c5b7b9ba359b7f5345a5311 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_21082: b6be0c424a24e0f408d9ff52b5a2ae04f11513f3 @ 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_21082/index.html

[-- Attachment #2: Type: text/html, Size: 33521 bytes --]

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

* Re: [Intel-gfx] [PATCH v2 3/5] drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled
  2021-09-16 17:09         ` Souza, Jose
@ 2021-09-17 13:04           ` Ville Syrjälä
  2021-09-17 17:02             ` Souza, Jose
  0 siblings, 1 reply; 25+ messages in thread
From: Ville Syrjälä @ 2021-09-17 13:04 UTC (permalink / raw)
  To: Souza, Jose; +Cc: Mun, Gwan-gyeong, intel-gfx

On Thu, Sep 16, 2021 at 05:09:08PM +0000, Souza, Jose wrote:
> On Thu, 2021-09-16 at 16:17 +0300, Ville Syrjälä wrote:
> > On Wed, Sep 15, 2021 at 06:18:35PM +0000, Souza, Jose wrote:
> > > On Wed, 2021-09-15 at 17:58 +0300, Ville Syrjälä wrote:
> > > > On Tue, Sep 14, 2021 at 02:25:05PM -0700, José Roberto de Souza wrote:
> > > > > Not sure why but when moving the cursor fast it causes some artifacts
> > > > > of the cursor to be left in the cursor path, adding some pixels above
> > > > > the cursor to the damaged area fixes the issue, so leaving this as a
> > > > > workaround until proper fix is found.
> > > > 
> > > > Have you tried warping the cursor clear across the screen while
> > > > a partial update is already pending? I think it will go badly.
> > > 
> > > You mean move the cursor for example from 0x0 to 500x500 in one frame?
> > > It will mark as damaged the previous area and the new one.
> > 
> > Legacy cursor updates bypass all that stuff so you're not going to
> > updating the sel fetch area for the other planes.
> > 
> > > 
> > > > 
> > > > In fact I'm thinking the mailbox style legacy cursor updates are just
> > > > fundementally incompatible with partial updates since the cursor
> > > > can move outside of the already committed update region any time.
> > > > Ie. I suspect while the cursor is visible we simply can't do partial
> > > > updates.
> > > 
> > > Probably I did not understand what you want to say, but each cursor update will be in one frame, updating the necessary area.
> > 
> > The legacy cursor uses mailbox updates so there is no 1:1 relationship
> > between actual scanned out frames and cursor ioctl calls. You can
> > have umpteen thousand cursor updates per frame.
> 
> Not if intel_legacy_cursor_update() is changed to go to the slow path and do one atomic commit for each move.
> https://patchwork.freedesktop.org/patch/453192/?series=94522&rev=1

That's not going to fly. The whole reason for the legacy cursor thing is
that X likes to do thousands of cursor updates per frame.

> 
> I believe compositors will do a single atomic commit updating cursor and all the other planes into a single commit.

No. X obviously doesn't do that. And IIRC chromeos also uses the
legacy cursor ioctl for the cursor despite using atomic commits for
everything else.

-- 
Ville Syrjälä
Intel

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

* Re: [Intel-gfx] [PATCH v2 3/5] drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled
  2021-09-17 13:04           ` Ville Syrjälä
@ 2021-09-17 17:02             ` Souza, Jose
  2021-09-17 17:49               ` Ville Syrjälä
  0 siblings, 1 reply; 25+ messages in thread
From: Souza, Jose @ 2021-09-17 17:02 UTC (permalink / raw)
  To: ville.syrjala; +Cc: Mun, Gwan-gyeong, intel-gfx

On Fri, 2021-09-17 at 16:04 +0300, Ville Syrjälä wrote:
> On Thu, Sep 16, 2021 at 05:09:08PM +0000, Souza, Jose wrote:
> > On Thu, 2021-09-16 at 16:17 +0300, Ville Syrjälä wrote:
> > > On Wed, Sep 15, 2021 at 06:18:35PM +0000, Souza, Jose wrote:
> > > > On Wed, 2021-09-15 at 17:58 +0300, Ville Syrjälä wrote:
> > > > > On Tue, Sep 14, 2021 at 02:25:05PM -0700, José Roberto de Souza wrote:
> > > > > > Not sure why but when moving the cursor fast it causes some artifacts
> > > > > > of the cursor to be left in the cursor path, adding some pixels above
> > > > > > the cursor to the damaged area fixes the issue, so leaving this as a
> > > > > > workaround until proper fix is found.
> > > > > 
> > > > > Have you tried warping the cursor clear across the screen while
> > > > > a partial update is already pending? I think it will go badly.
> > > > 
> > > > You mean move the cursor for example from 0x0 to 500x500 in one frame?
> > > > It will mark as damaged the previous area and the new one.
> > > 
> > > Legacy cursor updates bypass all that stuff so you're not going to
> > > updating the sel fetch area for the other planes.
> > > 
> > > > 
> > > > > 
> > > > > In fact I'm thinking the mailbox style legacy cursor updates are just
> > > > > fundementally incompatible with partial updates since the cursor
> > > > > can move outside of the already committed update region any time.
> > > > > Ie. I suspect while the cursor is visible we simply can't do partial
> > > > > updates.
> > > > 
> > > > Probably I did not understand what you want to say, but each cursor update will be in one frame, updating the necessary area.
> > > 
> > > The legacy cursor uses mailbox updates so there is no 1:1 relationship
> > > between actual scanned out frames and cursor ioctl calls. You can
> > > have umpteen thousand cursor updates per frame.
> > 
> > Not if intel_legacy_cursor_update() is changed to go to the slow path and do one atomic commit for each move.
> > https://patchwork.freedesktop.org/patch/453192/?series=94522&rev=1
> 
> That's not going to fly. The whole reason for the legacy cursor thing is
> that X likes to do thousands of cursor updates per frame.

From user experience perspective there is no issues in converting to atomic commit, those 3 videos that I shared with you have this conversion. 

> 
> > 
> > I believe compositors will do a single atomic commit updating cursor and all the other planes into a single commit.
> 
> No. X obviously doesn't do that. And IIRC chromeos also uses the
> legacy cursor ioctl for the cursor despite using atomic commits for
> everything else.
> 


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

* Re: [Intel-gfx] [PATCH v2 3/5] drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled
  2021-09-17 17:02             ` Souza, Jose
@ 2021-09-17 17:49               ` Ville Syrjälä
  2021-09-17 21:33                 ` Souza, Jose
  0 siblings, 1 reply; 25+ messages in thread
From: Ville Syrjälä @ 2021-09-17 17:49 UTC (permalink / raw)
  To: Souza, Jose; +Cc: Mun, Gwan-gyeong, intel-gfx

On Fri, Sep 17, 2021 at 05:02:21PM +0000, Souza, Jose wrote:
> On Fri, 2021-09-17 at 16:04 +0300, Ville Syrjälä wrote:
> > On Thu, Sep 16, 2021 at 05:09:08PM +0000, Souza, Jose wrote:
> > > On Thu, 2021-09-16 at 16:17 +0300, Ville Syrjälä wrote:
> > > > On Wed, Sep 15, 2021 at 06:18:35PM +0000, Souza, Jose wrote:
> > > > > On Wed, 2021-09-15 at 17:58 +0300, Ville Syrjälä wrote:
> > > > > > On Tue, Sep 14, 2021 at 02:25:05PM -0700, José Roberto de Souza wrote:
> > > > > > > Not sure why but when moving the cursor fast it causes some artifacts
> > > > > > > of the cursor to be left in the cursor path, adding some pixels above
> > > > > > > the cursor to the damaged area fixes the issue, so leaving this as a
> > > > > > > workaround until proper fix is found.
> > > > > > 
> > > > > > Have you tried warping the cursor clear across the screen while
> > > > > > a partial update is already pending? I think it will go badly.
> > > > > 
> > > > > You mean move the cursor for example from 0x0 to 500x500 in one frame?
> > > > > It will mark as damaged the previous area and the new one.
> > > > 
> > > > Legacy cursor updates bypass all that stuff so you're not going to
> > > > updating the sel fetch area for the other planes.
> > > > 
> > > > > 
> > > > > > 
> > > > > > In fact I'm thinking the mailbox style legacy cursor updates are just
> > > > > > fundementally incompatible with partial updates since the cursor
> > > > > > can move outside of the already committed update region any time.
> > > > > > Ie. I suspect while the cursor is visible we simply can't do partial
> > > > > > updates.
> > > > > 
> > > > > Probably I did not understand what you want to say, but each cursor update will be in one frame, updating the necessary area.
> > > > 
> > > > The legacy cursor uses mailbox updates so there is no 1:1 relationship
> > > > between actual scanned out frames and cursor ioctl calls. You can
> > > > have umpteen thousand cursor updates per frame.
> > > 
> > > Not if intel_legacy_cursor_update() is changed to go to the slow path and do one atomic commit for each move.
> > > https://patchwork.freedesktop.org/patch/453192/?series=94522&rev=1
> > 
> > That's not going to fly. The whole reason for the legacy cursor thing is
> > that X likes to do thousands of cursor updates per frame.
> 
> From user experience perspective there is no issues in converting to atomic commit, those 3 videos that I shared with you have this conversion. 

I don't know what you've tested but the legacy cursor fastpath is very
much needed. We've have numerous bug reports whenever it has
accidentally regressed, and I've witnessed the carnage myself as well.
Hmm, I guess you didn't actually disable it fully. To do that you
would have to clear state->legacy_cursor_update explicitly somewhere.

Either way I just retested the earlier patches just with the nonblocking
commit for dirtyfb hacked in, and I left the cursor code using the
half fast path you made it take. The user experience is still as bad
as before. Just moving the mouse around makes glxgears stutter, and the
reported fps drops to ~400 from that alone. And doing anything more
involved like moving windows around is still a total fail.

-- 
Ville Syrjälä
Intel

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

* Re: [Intel-gfx]  ✗ Fi.CI.IGT: failure for series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev5)
  2021-09-17  4:29 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
@ 2021-09-17 17:52   ` Souza, Jose
  0 siblings, 0 replies; 25+ messages in thread
From: Souza, Jose @ 2021-09-17 17:52 UTC (permalink / raw)
  To: intel-gfx

On Fri, 2021-09-17 at 04:29 +0000, Patchwork wrote:
> Patch Details
> Series:	series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev5)
> URL:	https://patchwork.freedesktop.org/series/94674/
> State:	failure
> Details:	https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21082/index.html
> CI Bug Log - changes from CI_DRM_10600_full -> Patchwork_21082_full
> Summary
> FAILURE
> 
> Serious unknown changes coming with Patchwork_21082_full absolutely need to be
> verified manually.
> 
> If you think the reported changes have nothing to do with the changes
> introduced in Patchwork_21082_full, please notify your bug team to allow them
> to document this new failure mode, which will reduce false positives in CI.
> 
> Possible new issues
> Here are the unknown changes that may have been introduced in Patchwork_21082_full:
> 
> IGT changes
> Possible regressions
> igt@i915_pm_rpm@gem-mmap-type:

Another INCOMPLETE because of audio issues, not related.

> 
> shard-kbl: NOTRUN -> INCOMPLETE
> igt@kms_atomic@plane-invalid-params:
> 
> shard-iclb: PASS -> DMESG-WARN

This is a missing FBC case, not related to this changes.

Pushing this series even with CI not 100% back, 4 of 5 patches here only affects a feature that is not enabled by default the remaining one only makes
sure that EDP_PSR2_FRAME_BEFORE_SU() minimum is 2 and not 1.

The discussing going in 'drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled' are not specific about that patch.

Thanks for the reviews GG.

> Known issues
> Here are the changes found in Patchwork_21082_full that come from known issues:
> 
> IGT changes
> Issues hit
> igt@device_reset@unbind-reset-rebind:
> 
> shard-kbl: NOTRUN -> DMESG-WARN (i915#4130)
> igt@feature_discovery@chamelium:
> 
> shard-skl: NOTRUN -> SKIP (fdo#109271) +18 similar issues
> igt@gem_eio@unwedge-stress:
> 
> shard-skl: PASS -> TIMEOUT (i915#2369 / i915#3063)
> igt@gem_exec_fair@basic-none-solo@rcs0:
> 
> shard-tglb: NOTRUN -> FAIL (i915#2842)
> igt@gem_exec_fair@basic-pace@vcs0:
> 
> shard-kbl: PASS -> FAIL (i915#2842)
> igt@gem_exec_fair@basic-pace@vcs1:
> 
> shard-iclb: NOTRUN -> FAIL (i915#2842)
> igt@gem_pread@exhaustion:
> 
> shard-tglb: NOTRUN -> WARN (i915#2658)
> 
> shard-kbl: NOTRUN -> WARN (i915#2658)
> 
> igt@gem_userptr_blits@input-checking:
> 
> shard-kbl: NOTRUN -> DMESG-WARN (i915#3002)
> igt@gen9_exec_parse@bb-start-cmd:
> 
> shard-tglb: NOTRUN -> SKIP (i915#2856)
> igt@i915_pm_rc6_residency@media-rc6-accuracy:
> 
> shard-tglb: NOTRUN -> SKIP (fdo#109289 / fdo#111719)
> igt@i915_pm_rpm@modeset-pc8-residency-stress:
> 
> shard-tglb: NOTRUN -> SKIP (fdo#109506 / i915#2411)
> igt@i915_suspend@fence-restore-untiled:
> 
> shard-kbl: NOTRUN -> DMESG-WARN (i915#180) +1 similar issue
> igt@kms_atomic@crtc-invalid-params-fence:
> 
> shard-iclb: PASS -> DMESG-WARN (i915#3728)
> igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip:
> 
> shard-kbl: NOTRUN -> SKIP (fdo#109271 / i915#3777) +1 similar issue
> igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
> 
> shard-skl: NOTRUN -> FAIL (i915#3763)
> igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
> 
> shard-tglb: NOTRUN -> SKIP (fdo#111615) +1 similar issue
> igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_ccs:
> 
> shard-tglb: NOTRUN -> SKIP (i915#3689)
> igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc:
> 
> shard-kbl: NOTRUN -> SKIP (fdo#109271 / i915#3886) +6 similar issues
> igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_mc_ccs:
> 
> shard-skl: NOTRUN -> SKIP (fdo#109271 / i915#3886) +1 similar issue
> igt@kms_ccs@pipe-b-bad-aux-stride-y_tiled_gen12_mc_ccs:
> 
> shard-tglb: NOTRUN -> SKIP (i915#3689 / i915#3886) +2 similar issues
> igt@kms_chamelium@dp-hpd-storm:
> 
> shard-skl: NOTRUN -> SKIP (fdo#109271 / fdo#111827)
> igt@kms_chamelium@hdmi-hpd-for-each-pipe:
> 
> shard-kbl: NOTRUN -> SKIP (fdo#109271 / fdo#111827) +12 similar issues
> igt@kms_color_chamelium@pipe-c-gamma:
> 
> shard-tglb: NOTRUN -> SKIP (fdo#109284 / fdo#111827) +6 similar issues
> igt@kms_cursor_crc@pipe-c-cursor-512x170-rapid-movement:
> 
> shard-tglb: NOTRUN -> SKIP (i915#3359) +1 similar issue
> igt@kms_cursor_crc@pipe-d-cursor-512x170-sliding:
> 
> shard-tglb: NOTRUN -> SKIP (fdo#109279 / i915#3359)
> igt@kms_cursor_crc@pipe-d-cursor-suspend:
> 
> shard-kbl: NOTRUN -> SKIP (fdo#109271) +98 similar issues
> igt@kms_flip@flip-vs-expired-vblank@a-edp1:
> 
> shard-skl: PASS -> FAIL (i915#79) +1 similar issue
> igt@kms_flip@flip-vs-suspend@a-edp1:
> 
> shard-tglb: PASS -> INCOMPLETE (i915#456) +3 similar issues
> igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-onoff:
> 
> shard-tglb: NOTRUN -> SKIP (fdo#111825) +10 similar issues
> igt@kms_frontbuffer_tracking@fbcpsr-suspend:
> 
> shard-tglb: PASS -> INCOMPLETE (i915#2411 / i915#456)
> igt@kms_hdr@bpc-switch-dpms:
> 
> shard-skl: PASS -> FAIL (i915#1188)
> igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b-planes:
> 
> shard-kbl: PASS -> DMESG-WARN (i915#180) +4 similar issues
> igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
> 
> shard-skl: PASS -> FAIL (fdo#108145 / i915#265) +1 similar issue
> igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb:
> 
> shard-kbl: NOTRUN -> FAIL (fdo#108145 / i915#265)
> igt@kms_plane_lowres@pipe-c-tiling-x:
> 
> shard-tglb: NOTRUN -> SKIP (i915#3536)
> igt@kms_plane_multiple@atomic-pipe-b-tiling-yf:
> 
> shard-tglb: NOTRUN -> SKIP (fdo#112054)
> igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-3:
> 
> shard-kbl: NOTRUN -> SKIP (fdo#109271 / i915#658) +2 similar issues
> igt@kms_psr@psr2_no_drrs:
> 
> shard-iclb: PASS -> SKIP (fdo#109441)
> igt@kms_sysfs_edid_timing:
> 
> shard-kbl: NOTRUN -> FAIL (IGT#2)
> igt@nouveau_crc@pipe-b-ctx-flip-detection:
> 
> shard-tglb: NOTRUN -> SKIP (i915#2530)
> igt@perf@polling-small-buf:
> 
> shard-tglb: PASS -> FAIL (i915#1722)
> igt@prime_nv_api@i915_nv_double_import:
> 
> shard-tglb: NOTRUN -> SKIP (fdo#109291) +2 similar issues
> igt@sysfs_clients@recycle:
> 
> shard-kbl: NOTRUN -> SKIP (fdo#109271 / i915#2994)
> Possible fixes
> igt@gem_ctx_persistence@many-contexts:
> 
> shard-tglb: FAIL (i915#2410) -> PASS
> igt@gem_exec_fair@basic-none-share@rcs0:
> 
> shard-iclb: FAIL (i915#2842) -> PASS
> 
> shard-tglb: FAIL (i915#2842) -> PASS +1 similar issue
> 
> igt@gen9_exec_parse@allowed-single:
> 
> shard-skl: DMESG-WARN (i915#1436 / i915#716) -> PASS
> igt@i915_pm_rpm@system-suspend-execbuf:
> 
> shard-tglb: INCOMPLETE (i915#2411 / i915#456 / i915#750) -> PASS
> igt@kms_cursor_crc@pipe-a-cursor-suspend:
> 
> shard-kbl: DMESG-WARN (i915#180) -> PASS +9 similar issues
> igt@kms_flip@flip-vs-expired-vblank@b-edp1:
> 
> shard-skl: FAIL (i915#79) -> PASS
> igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
> 
> shard-tglb: INCOMPLETE (i915#2828 / i915#456) -> PASS
> igt@kms_psr2_su@frontbuffer:
> 
> shard-iclb: SKIP (fdo#109642 / fdo#111068 / i915#658) -> PASS
> Warnings
> igt@gem_exec_fair@basic-pace@vecs0:
> 
> shard-kbl: FAIL (i915#2842) -> SKIP (fdo#109271)
> igt@i915_pm_rc6_residency@rc6-fence:
> 
> shard-iclb: WARN (i915#1804 / i915#2684) -> WARN (i915#2684)
> igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
> 
> shard-skl: FAIL (i915#3722) -> FAIL (i915#3743)
> igt@runner@aborted:
> 
> shard-kbl: (FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL) (fdo#109271 / i915#1436 / i915#180 / i915#1814 /
i915#3002 / i915#3363 / i915#602) -> (FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL) (fdo#109271 / i915#1436 / i915#180
/ i915#1814 / i915#2722 / i915#3002 / i915#3363)
> 
> shard-iclb: (FAIL, FAIL) (i915#1814 / i915#3002) -> (FAIL, FAIL, FAIL, FAIL) (i915#1814 / i915#3002 / i915#3728)
> 
> shard-skl: (FAIL, FAIL, FAIL) (i915#1436 / i915#1814 / i915#3002 / i915#3363) -> (FAIL, FAIL) (i915#1814 / i915#3002 / i915#3363)
> 
> {name}: This element is suppressed. This means it is ignored when computing
> the status of the difference (SUCCESS, WARNING, or FAILURE).
> 
> Participating hosts (10 -> 10)
> No changes in participating hosts
> 
> Build changes
> Linux: CI_DRM_10600 -> Patchwork_21082
> CI-20190529: 20190529
> CI_DRM_10600: 6d030d2f188222b72833db764662393e8d492325 @ git://anongit.freedesktop.org/gfx-ci/linux
> IGT_6211: 7b275b3eb17ddf6e7c5b7b9ba359b7f5345a5311 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
> Patchwork_21082: b6be0c424a24e0f408d9ff52b5a2ae04f11513f3 @ git://anongit.freedesktop.org/gfx-ci/linux
> piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
> 
> 

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

* Re: [Intel-gfx] [PATCH v2 3/5] drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled
  2021-09-17 17:49               ` Ville Syrjälä
@ 2021-09-17 21:33                 ` Souza, Jose
  2021-09-21 13:35                   ` Ville Syrjälä
  0 siblings, 1 reply; 25+ messages in thread
From: Souza, Jose @ 2021-09-17 21:33 UTC (permalink / raw)
  To: ville.syrjala; +Cc: Mun, Gwan-gyeong, intel-gfx

On Fri, 2021-09-17 at 20:49 +0300, Ville Syrjälä wrote:
> On Fri, Sep 17, 2021 at 05:02:21PM +0000, Souza, Jose wrote:
> > On Fri, 2021-09-17 at 16:04 +0300, Ville Syrjälä wrote:
> > > On Thu, Sep 16, 2021 at 05:09:08PM +0000, Souza, Jose wrote:
> > > > On Thu, 2021-09-16 at 16:17 +0300, Ville Syrjälä wrote:
> > > > > On Wed, Sep 15, 2021 at 06:18:35PM +0000, Souza, Jose wrote:
> > > > > > On Wed, 2021-09-15 at 17:58 +0300, Ville Syrjälä wrote:
> > > > > > > On Tue, Sep 14, 2021 at 02:25:05PM -0700, José Roberto de Souza wrote:
> > > > > > > > Not sure why but when moving the cursor fast it causes some artifacts
> > > > > > > > of the cursor to be left in the cursor path, adding some pixels above
> > > > > > > > the cursor to the damaged area fixes the issue, so leaving this as a
> > > > > > > > workaround until proper fix is found.
> > > > > > > 
> > > > > > > Have you tried warping the cursor clear across the screen while
> > > > > > > a partial update is already pending? I think it will go badly.
> > > > > > 
> > > > > > You mean move the cursor for example from 0x0 to 500x500 in one frame?
> > > > > > It will mark as damaged the previous area and the new one.
> > > > > 
> > > > > Legacy cursor updates bypass all that stuff so you're not going to
> > > > > updating the sel fetch area for the other planes.
> > > > > 
> > > > > > 
> > > > > > > 
> > > > > > > In fact I'm thinking the mailbox style legacy cursor updates are just
> > > > > > > fundementally incompatible with partial updates since the cursor
> > > > > > > can move outside of the already committed update region any time.
> > > > > > > Ie. I suspect while the cursor is visible we simply can't do partial
> > > > > > > updates.
> > > > > > 
> > > > > > Probably I did not understand what you want to say, but each cursor update will be in one frame, updating the necessary area.
> > > > > 
> > > > > The legacy cursor uses mailbox updates so there is no 1:1 relationship
> > > > > between actual scanned out frames and cursor ioctl calls. You can
> > > > > have umpteen thousand cursor updates per frame.
> > > > 
> > > > Not if intel_legacy_cursor_update() is changed to go to the slow path and do one atomic commit for each move.
> > > > https://patchwork.freedesktop.org/patch/453192/?series=94522&rev=1
> > > 
> > > That's not going to fly. The whole reason for the legacy cursor thing is
> > > that X likes to do thousands of cursor updates per frame.
> > 
> > From user experience perspective there is no issues in converting to atomic commit, those 3 videos that I shared with you have this conversion. 
> 
> I don't know what you've tested but the legacy cursor fastpath is very
> much needed. We've have numerous bug reports whenever it has
> accidentally regressed, and I've witnessed the carnage myself as well.
> Hmm, I guess you didn't actually disable it fully. To do that you
> would have to clear state->legacy_cursor_update explicitly somewhere.

Thanks for pointing out state->legacy_cursor_update and yes setting it to false makes causes the cursor to lag.

> 
> Either way I just retested the earlier patches just with the nonblocking
> commit for dirtyfb hacked in, and I left the cursor code using the
> half fast path you made it take. The user experience is still as bad
> as before. Just moving the mouse around makes glxgears stutter, and the
> reported fps drops to ~400 from that alone. And doing anything more
> involved like moving windows around is still a total fail.

I have tested it in a TGL and ADL-P, will try to get some gen9 to try it.
Other than that I don't know what could this big difference between our setups.
I'm using Mate like you with 'enable software compositing window manager' disabled.

> 


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

* Re: [Intel-gfx] [PATCH v2 3/5] drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled
  2021-09-17 21:33                 ` Souza, Jose
@ 2021-09-21 13:35                   ` Ville Syrjälä
  2021-09-21 22:37                     ` Souza, Jose
  0 siblings, 1 reply; 25+ messages in thread
From: Ville Syrjälä @ 2021-09-21 13:35 UTC (permalink / raw)
  To: Souza, Jose; +Cc: Mun, Gwan-gyeong, intel-gfx

On Fri, Sep 17, 2021 at 09:33:59PM +0000, Souza, Jose wrote:
> On Fri, 2021-09-17 at 20:49 +0300, Ville Syrjälä wrote:
> > On Fri, Sep 17, 2021 at 05:02:21PM +0000, Souza, Jose wrote:
> > > On Fri, 2021-09-17 at 16:04 +0300, Ville Syrjälä wrote:
> > > > On Thu, Sep 16, 2021 at 05:09:08PM +0000, Souza, Jose wrote:
> > > > > On Thu, 2021-09-16 at 16:17 +0300, Ville Syrjälä wrote:
> > > > > > On Wed, Sep 15, 2021 at 06:18:35PM +0000, Souza, Jose wrote:
> > > > > > > On Wed, 2021-09-15 at 17:58 +0300, Ville Syrjälä wrote:
> > > > > > > > On Tue, Sep 14, 2021 at 02:25:05PM -0700, José Roberto de Souza wrote:
> > > > > > > > > Not sure why but when moving the cursor fast it causes some artifacts
> > > > > > > > > of the cursor to be left in the cursor path, adding some pixels above
> > > > > > > > > the cursor to the damaged area fixes the issue, so leaving this as a
> > > > > > > > > workaround until proper fix is found.
> > > > > > > > 
> > > > > > > > Have you tried warping the cursor clear across the screen while
> > > > > > > > a partial update is already pending? I think it will go badly.
> > > > > > > 
> > > > > > > You mean move the cursor for example from 0x0 to 500x500 in one frame?
> > > > > > > It will mark as damaged the previous area and the new one.
> > > > > > 
> > > > > > Legacy cursor updates bypass all that stuff so you're not going to
> > > > > > updating the sel fetch area for the other planes.
> > > > > > 
> > > > > > > 
> > > > > > > > 
> > > > > > > > In fact I'm thinking the mailbox style legacy cursor updates are just
> > > > > > > > fundementally incompatible with partial updates since the cursor
> > > > > > > > can move outside of the already committed update region any time.
> > > > > > > > Ie. I suspect while the cursor is visible we simply can't do partial
> > > > > > > > updates.
> > > > > > > 
> > > > > > > Probably I did not understand what you want to say, but each cursor update will be in one frame, updating the necessary area.
> > > > > > 
> > > > > > The legacy cursor uses mailbox updates so there is no 1:1 relationship
> > > > > > between actual scanned out frames and cursor ioctl calls. You can
> > > > > > have umpteen thousand cursor updates per frame.
> > > > > 
> > > > > Not if intel_legacy_cursor_update() is changed to go to the slow path and do one atomic commit for each move.
> > > > > https://patchwork.freedesktop.org/patch/453192/?series=94522&rev=1
> > > > 
> > > > That's not going to fly. The whole reason for the legacy cursor thing is
> > > > that X likes to do thousands of cursor updates per frame.
> > > 
> > > From user experience perspective there is no issues in converting to atomic commit, those 3 videos that I shared with you have this conversion. 
> > 
> > I don't know what you've tested but the legacy cursor fastpath is very
> > much needed. We've have numerous bug reports whenever it has
> > accidentally regressed, and I've witnessed the carnage myself as well.
> > Hmm, I guess you didn't actually disable it fully. To do that you
> > would have to clear state->legacy_cursor_update explicitly somewhere.
> 
> Thanks for pointing out state->legacy_cursor_update and yes setting it to false makes causes the cursor to lag.
> 
> > 
> > Either way I just retested the earlier patches just with the nonblocking
> > commit for dirtyfb hacked in, and I left the cursor code using the
> > half fast path you made it take. The user experience is still as bad
> > as before. Just moving the mouse around makes glxgears stutter, and the
> > reported fps drops to ~400 from that alone. And doing anything more
> > involved like moving windows around is still a total fail.
> 
> I have tested it in a TGL and ADL-P, will try to get some gen9 to try it.
> Other than that I don't know what could this big difference between our setups.
> I'm using Mate like you with 'enable software compositing window manager' disabled.

Not sure.

BTW another thing I noticed is that the sel_fetch coordinate calculation
code seems super confused:
- it seems to do operations between coordinates that don't even live in
  the same coordinate space (eg. drm_rect_intersect(&clip, &src) where
  clip is the straight userspace damage coordinates but src is
  PLANE_SURF relative plane source coordinates)
- no checks for plane scaling that I can see but it still assumes it can 
  just assume a 1:1 relationship between src and dst coordinates
- bigjoiner also affects the coordinate spaces, so that part too is probably
  busted

-- 
Ville Syrjälä
Intel

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

* Re: [Intel-gfx] [PATCH v2 3/5] drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled
  2021-09-21 13:35                   ` Ville Syrjälä
@ 2021-09-21 22:37                     ` Souza, Jose
  2021-09-22 13:41                       ` Ville Syrjälä
  0 siblings, 1 reply; 25+ messages in thread
From: Souza, Jose @ 2021-09-21 22:37 UTC (permalink / raw)
  To: ville.syrjala; +Cc: Mun, Gwan-gyeong, intel-gfx

On Tue, 2021-09-21 at 16:35 +0300, Ville Syrjälä wrote:
> On Fri, Sep 17, 2021 at 09:33:59PM +0000, Souza, Jose wrote:
> > On Fri, 2021-09-17 at 20:49 +0300, Ville Syrjälä wrote:
> > > On Fri, Sep 17, 2021 at 05:02:21PM +0000, Souza, Jose wrote:
> > > > On Fri, 2021-09-17 at 16:04 +0300, Ville Syrjälä wrote:
> > > > > On Thu, Sep 16, 2021 at 05:09:08PM +0000, Souza, Jose wrote:
> > > > > > On Thu, 2021-09-16 at 16:17 +0300, Ville Syrjälä wrote:
> > > > > > > On Wed, Sep 15, 2021 at 06:18:35PM +0000, Souza, Jose wrote:
> > > > > > > > On Wed, 2021-09-15 at 17:58 +0300, Ville Syrjälä wrote:
> > > > > > > > > On Tue, Sep 14, 2021 at 02:25:05PM -0700, José Roberto de Souza wrote:
> > > > > > > > > > Not sure why but when moving the cursor fast it causes some artifacts
> > > > > > > > > > of the cursor to be left in the cursor path, adding some pixels above
> > > > > > > > > > the cursor to the damaged area fixes the issue, so leaving this as a
> > > > > > > > > > workaround until proper fix is found.
> > > > > > > > > 
> > > > > > > > > Have you tried warping the cursor clear across the screen while
> > > > > > > > > a partial update is already pending? I think it will go badly.
> > > > > > > > 
> > > > > > > > You mean move the cursor for example from 0x0 to 500x500 in one frame?
> > > > > > > > It will mark as damaged the previous area and the new one.
> > > > > > > 
> > > > > > > Legacy cursor updates bypass all that stuff so you're not going to
> > > > > > > updating the sel fetch area for the other planes.
> > > > > > > 
> > > > > > > > 
> > > > > > > > > 
> > > > > > > > > In fact I'm thinking the mailbox style legacy cursor updates are just
> > > > > > > > > fundementally incompatible with partial updates since the cursor
> > > > > > > > > can move outside of the already committed update region any time.
> > > > > > > > > Ie. I suspect while the cursor is visible we simply can't do partial
> > > > > > > > > updates.
> > > > > > > > 
> > > > > > > > Probably I did not understand what you want to say, but each cursor update will be in one frame, updating the necessary area.
> > > > > > > 
> > > > > > > The legacy cursor uses mailbox updates so there is no 1:1 relationship
> > > > > > > between actual scanned out frames and cursor ioctl calls. You can
> > > > > > > have umpteen thousand cursor updates per frame.
> > > > > > 
> > > > > > Not if intel_legacy_cursor_update() is changed to go to the slow path and do one atomic commit for each move.
> > > > > > https://patchwork.freedesktop.org/patch/453192/?series=94522&rev=1
> > > > > 
> > > > > That's not going to fly. The whole reason for the legacy cursor thing is
> > > > > that X likes to do thousands of cursor updates per frame.
> > > > 
> > > > From user experience perspective there is no issues in converting to atomic commit, those 3 videos that I shared with you have this conversion. 
> > > 
> > > I don't know what you've tested but the legacy cursor fastpath is very
> > > much needed. We've have numerous bug reports whenever it has
> > > accidentally regressed, and I've witnessed the carnage myself as well.
> > > Hmm, I guess you didn't actually disable it fully. To do that you
> > > would have to clear state->legacy_cursor_update explicitly somewhere.
> > 
> > Thanks for pointing out state->legacy_cursor_update and yes setting it to false makes causes the cursor to lag.
> > 
> > > 
> > > Either way I just retested the earlier patches just with the nonblocking
> > > commit for dirtyfb hacked in, and I left the cursor code using the
> > > half fast path you made it take. The user experience is still as bad
> > > as before. Just moving the mouse around makes glxgears stutter, and the
> > > reported fps drops to ~400 from that alone. And doing anything more
> > > involved like moving windows around is still a total fail.
> > 
> > I have tested it in a TGL and ADL-P, will try to get some gen9 to try it.
> > Other than that I don't know what could this big difference between our setups.
> > I'm using Mate like you with 'enable software compositing window manager' disabled.
> 
> Not sure.
> 
> BTW another thing I noticed is that the sel_fetch coordinate calculation
> code seems super confused:
> - it seems to do operations between coordinates that don't even live in
>   the same coordinate space (eg. drm_rect_intersect(&clip, &src) where
>   clip is the straight userspace damage coordinates but src is
>   PLANE_SURF relative plane source coordinates)

On the first for_each_oldnew_intel_plane_in_state() it calculates the plane damaged area and then in the last 3 lines converts it to pipe coordinate
space.
The second for_each_oldnew_intel_plane_in_state() takes the pipe coordinate space damaged area and sets new_plane_state->psr2_sel_fetch_area with the
plane coordinate space damaged area.

> - no checks for plane scaling that I can see but it still assumes it can 
>   just assume a 1:1 relationship between src and dst coordinates

My understanding is that intel_atomic_plane_check_clipping() will adjust src to match dst width and height.

> - bigjoiner also affects the coordinate spaces, so that part too is probably
>   busted
> 

I don't think there is a commercial available eDP panel that would require bigjoiner.
We could definitely rule PSR2 out if such case shows up by adding a check in intel_psr2_sel_fetch_config_valid().


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

* Re: [Intel-gfx] [PATCH v2 3/5] drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled
  2021-09-21 22:37                     ` Souza, Jose
@ 2021-09-22 13:41                       ` Ville Syrjälä
  2021-09-22 15:51                         ` Souza, Jose
  0 siblings, 1 reply; 25+ messages in thread
From: Ville Syrjälä @ 2021-09-22 13:41 UTC (permalink / raw)
  To: Souza, Jose; +Cc: Mun, Gwan-gyeong, intel-gfx

On Tue, Sep 21, 2021 at 10:37:53PM +0000, Souza, Jose wrote:
> On Tue, 2021-09-21 at 16:35 +0300, Ville Syrjälä wrote:
> > On Fri, Sep 17, 2021 at 09:33:59PM +0000, Souza, Jose wrote:
> > > On Fri, 2021-09-17 at 20:49 +0300, Ville Syrjälä wrote:
> > > > On Fri, Sep 17, 2021 at 05:02:21PM +0000, Souza, Jose wrote:
> > > > > On Fri, 2021-09-17 at 16:04 +0300, Ville Syrjälä wrote:
> > > > > > On Thu, Sep 16, 2021 at 05:09:08PM +0000, Souza, Jose wrote:
> > > > > > > On Thu, 2021-09-16 at 16:17 +0300, Ville Syrjälä wrote:
> > > > > > > > On Wed, Sep 15, 2021 at 06:18:35PM +0000, Souza, Jose wrote:
> > > > > > > > > On Wed, 2021-09-15 at 17:58 +0300, Ville Syrjälä wrote:
> > > > > > > > > > On Tue, Sep 14, 2021 at 02:25:05PM -0700, José Roberto de Souza wrote:
> > > > > > > > > > > Not sure why but when moving the cursor fast it causes some artifacts
> > > > > > > > > > > of the cursor to be left in the cursor path, adding some pixels above
> > > > > > > > > > > the cursor to the damaged area fixes the issue, so leaving this as a
> > > > > > > > > > > workaround until proper fix is found.
> > > > > > > > > > 
> > > > > > > > > > Have you tried warping the cursor clear across the screen while
> > > > > > > > > > a partial update is already pending? I think it will go badly.
> > > > > > > > > 
> > > > > > > > > You mean move the cursor for example from 0x0 to 500x500 in one frame?
> > > > > > > > > It will mark as damaged the previous area and the new one.
> > > > > > > > 
> > > > > > > > Legacy cursor updates bypass all that stuff so you're not going to
> > > > > > > > updating the sel fetch area for the other planes.
> > > > > > > > 
> > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > In fact I'm thinking the mailbox style legacy cursor updates are just
> > > > > > > > > > fundementally incompatible with partial updates since the cursor
> > > > > > > > > > can move outside of the already committed update region any time.
> > > > > > > > > > Ie. I suspect while the cursor is visible we simply can't do partial
> > > > > > > > > > updates.
> > > > > > > > > 
> > > > > > > > > Probably I did not understand what you want to say, but each cursor update will be in one frame, updating the necessary area.
> > > > > > > > 
> > > > > > > > The legacy cursor uses mailbox updates so there is no 1:1 relationship
> > > > > > > > between actual scanned out frames and cursor ioctl calls. You can
> > > > > > > > have umpteen thousand cursor updates per frame.
> > > > > > > 
> > > > > > > Not if intel_legacy_cursor_update() is changed to go to the slow path and do one atomic commit for each move.
> > > > > > > https://patchwork.freedesktop.org/patch/453192/?series=94522&rev=1
> > > > > > 
> > > > > > That's not going to fly. The whole reason for the legacy cursor thing is
> > > > > > that X likes to do thousands of cursor updates per frame.
> > > > > 
> > > > > From user experience perspective there is no issues in converting to atomic commit, those 3 videos that I shared with you have this conversion. 
> > > > 
> > > > I don't know what you've tested but the legacy cursor fastpath is very
> > > > much needed. We've have numerous bug reports whenever it has
> > > > accidentally regressed, and I've witnessed the carnage myself as well.
> > > > Hmm, I guess you didn't actually disable it fully. To do that you
> > > > would have to clear state->legacy_cursor_update explicitly somewhere.
> > > 
> > > Thanks for pointing out state->legacy_cursor_update and yes setting it to false makes causes the cursor to lag.
> > > 
> > > > 
> > > > Either way I just retested the earlier patches just with the nonblocking
> > > > commit for dirtyfb hacked in, and I left the cursor code using the
> > > > half fast path you made it take. The user experience is still as bad
> > > > as before. Just moving the mouse around makes glxgears stutter, and the
> > > > reported fps drops to ~400 from that alone. And doing anything more
> > > > involved like moving windows around is still a total fail.
> > > 
> > > I have tested it in a TGL and ADL-P, will try to get some gen9 to try it.
> > > Other than that I don't know what could this big difference between our setups.
> > > I'm using Mate like you with 'enable software compositing window manager' disabled.
> > 
> > Not sure.
> > 
> > BTW another thing I noticed is that the sel_fetch coordinate calculation
> > code seems super confused:
> > - it seems to do operations between coordinates that don't even live in
> >   the same coordinate space (eg. drm_rect_intersect(&clip, &src) where
> >   clip is the straight userspace damage coordinates but src is
> >   PLANE_SURF relative plane source coordinates)
> 
> On the first for_each_oldnew_intel_plane_in_state() it calculates the plane damaged area and then in the last 3 lines converts it to pipe coordinate
> space.
> The second for_each_oldnew_intel_plane_in_state() takes the pipe coordinate space damaged area and sets new_plane_state->psr2_sel_fetch_area with the
> plane coordinate space damaged area.

There are many many coordinate spaces we use:
- relative to user fb origin: userspace provided dirtyfb and plane src
  coordinates (drm_plane_state_src())
- relative to start of gem obj: used temporarily during some calculations
- relative to start of vma: used temporarily during some calculations
  (also actually what intel_plane_fence_y_offset() gives you)
- relative to PLANE_SURF: plane_state->uapi.src
- relative to user crtc origin: drm_plane_state_dest()
- relative to pipe origin: plane_state->uapi.dst

The sel_fetch code is now doing operations between coordinates from
different coordinate spaces AFAICS.

My gut feeling is that we want to do these calculations alongside the
rest of the plane coordinate calcs in the plane code. That way we can
just work forwards from userspace coords all the way to PLANE_SURF
relative coords for both cases. Trying to do these sel fetch
calculations after the fact means we're going to have to work both
forwards and backwards at the same time, which doesn't sounds all that
nice to me. But I've not spent a huge amount of time thinking about
this so not 100% sure.

What we need is basically something like kms_big_fb but with sel fetch
in mind. That could test all the interesting cases where we either use
remapping or just hit the standard panning cases where PLANE_SURF does 
not match the fb origin.

> 
> > - no checks for plane scaling that I can see but it still assumes it can 
> >   just assume a 1:1 relationship between src and dst coordinates
> 
> My understanding is that intel_atomic_plane_check_clipping() will adjust src to match dst width and height.

To do partial scaled updates correctly we'd need to have sub-pixel
coordinates for the src or else you'll get a visible seam when the
update region doesn't exactly terminate on a pixel boundary. And
actually even if it did land on a pixel boundary you'd still get
the seam unless we could instruct the hardware to filter across
the edge. Don't think we can even do that with the currect hardware.

> 
> > - bigjoiner also affects the coordinate spaces, so that part too is probably
> >   busted
> > 
> 
> I don't think there is a commercial available eDP panel that would require bigjoiner.
> We could definitely rule PSR2 out if such case shows up by adding a check in intel_psr2_sel_fetch_config_valid().
> 

Yeah, if bigjoiner turns out to complicate the calculations to much we
could just reject the combo. Not entirely sure it's a significant
complication though.

-- 
Ville Syrjälä
Intel

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

* Re: [Intel-gfx] [PATCH v2 3/5] drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled
  2021-09-22 13:41                       ` Ville Syrjälä
@ 2021-09-22 15:51                         ` Souza, Jose
  0 siblings, 0 replies; 25+ messages in thread
From: Souza, Jose @ 2021-09-22 15:51 UTC (permalink / raw)
  To: ville.syrjala; +Cc: Mun, Gwan-gyeong, intel-gfx

On Wed, 2021-09-22 at 16:41 +0300, Ville Syrjälä wrote:
> On Tue, Sep 21, 2021 at 10:37:53PM +0000, Souza, Jose wrote:
> > On Tue, 2021-09-21 at 16:35 +0300, Ville Syrjälä wrote:
> > > On Fri, Sep 17, 2021 at 09:33:59PM +0000, Souza, Jose wrote:
> > > > On Fri, 2021-09-17 at 20:49 +0300, Ville Syrjälä wrote:
> > > > > On Fri, Sep 17, 2021 at 05:02:21PM +0000, Souza, Jose wrote:
> > > > > > On Fri, 2021-09-17 at 16:04 +0300, Ville Syrjälä wrote:
> > > > > > > On Thu, Sep 16, 2021 at 05:09:08PM +0000, Souza, Jose wrote:
> > > > > > > > On Thu, 2021-09-16 at 16:17 +0300, Ville Syrjälä wrote:
> > > > > > > > > On Wed, Sep 15, 2021 at 06:18:35PM +0000, Souza, Jose wrote:
> > > > > > > > > > On Wed, 2021-09-15 at 17:58 +0300, Ville Syrjälä wrote:
> > > > > > > > > > > On Tue, Sep 14, 2021 at 02:25:05PM -0700, José Roberto de Souza wrote:
> > > > > > > > > > > > Not sure why but when moving the cursor fast it causes some artifacts
> > > > > > > > > > > > of the cursor to be left in the cursor path, adding some pixels above
> > > > > > > > > > > > the cursor to the damaged area fixes the issue, so leaving this as a
> > > > > > > > > > > > workaround until proper fix is found.
> > > > > > > > > > > 
> > > > > > > > > > > Have you tried warping the cursor clear across the screen while
> > > > > > > > > > > a partial update is already pending? I think it will go badly.
> > > > > > > > > > 
> > > > > > > > > > You mean move the cursor for example from 0x0 to 500x500 in one frame?
> > > > > > > > > > It will mark as damaged the previous area and the new one.
> > > > > > > > > 
> > > > > > > > > Legacy cursor updates bypass all that stuff so you're not going to
> > > > > > > > > updating the sel fetch area for the other planes.
> > > > > > > > > 
> > > > > > > > > > 
> > > > > > > > > > > 
> > > > > > > > > > > In fact I'm thinking the mailbox style legacy cursor updates are just
> > > > > > > > > > > fundementally incompatible with partial updates since the cursor
> > > > > > > > > > > can move outside of the already committed update region any time.
> > > > > > > > > > > Ie. I suspect while the cursor is visible we simply can't do partial
> > > > > > > > > > > updates.
> > > > > > > > > > 
> > > > > > > > > > Probably I did not understand what you want to say, but each cursor update will be in one frame, updating the necessary area.
> > > > > > > > > 
> > > > > > > > > The legacy cursor uses mailbox updates so there is no 1:1 relationship
> > > > > > > > > between actual scanned out frames and cursor ioctl calls. You can
> > > > > > > > > have umpteen thousand cursor updates per frame.
> > > > > > > > 
> > > > > > > > Not if intel_legacy_cursor_update() is changed to go to the slow path and do one atomic commit for each move.
> > > > > > > > https://patchwork.freedesktop.org/patch/453192/?series=94522&rev=1
> > > > > > > 
> > > > > > > That's not going to fly. The whole reason for the legacy cursor thing is
> > > > > > > that X likes to do thousands of cursor updates per frame.
> > > > > > 
> > > > > > From user experience perspective there is no issues in converting to atomic commit, those 3 videos that I shared with you have this conversion. 
> > > > > 
> > > > > I don't know what you've tested but the legacy cursor fastpath is very
> > > > > much needed. We've have numerous bug reports whenever it has
> > > > > accidentally regressed, and I've witnessed the carnage myself as well.
> > > > > Hmm, I guess you didn't actually disable it fully. To do that you
> > > > > would have to clear state->legacy_cursor_update explicitly somewhere.
> > > > 
> > > > Thanks for pointing out state->legacy_cursor_update and yes setting it to false makes causes the cursor to lag.
> > > > 
> > > > > 
> > > > > Either way I just retested the earlier patches just with the nonblocking
> > > > > commit for dirtyfb hacked in, and I left the cursor code using the
> > > > > half fast path you made it take. The user experience is still as bad
> > > > > as before. Just moving the mouse around makes glxgears stutter, and the
> > > > > reported fps drops to ~400 from that alone. And doing anything more
> > > > > involved like moving windows around is still a total fail.
> > > > 
> > > > I have tested it in a TGL and ADL-P, will try to get some gen9 to try it.
> > > > Other than that I don't know what could this big difference between our setups.
> > > > I'm using Mate like you with 'enable software compositing window manager' disabled.
> > > 
> > > Not sure.
> > > 
> > > BTW another thing I noticed is that the sel_fetch coordinate calculation
> > > code seems super confused:
> > > - it seems to do operations between coordinates that don't even live in
> > >   the same coordinate space (eg. drm_rect_intersect(&clip, &src) where
> > >   clip is the straight userspace damage coordinates but src is
> > >   PLANE_SURF relative plane source coordinates)
> > 
> > On the first for_each_oldnew_intel_plane_in_state() it calculates the plane damaged area and then in the last 3 lines converts it to pipe coordinate
> > space.
> > The second for_each_oldnew_intel_plane_in_state() takes the pipe coordinate space damaged area and sets new_plane_state->psr2_sel_fetch_area with the
> > plane coordinate space damaged area.
> 
> There are many many coordinate spaces we use:
> - relative to user fb origin: userspace provided dirtyfb and plane src
>   coordinates (drm_plane_state_src())
> - relative to start of gem obj: used temporarily during some calculations
> - relative to start of vma: used temporarily during some calculations
>   (also actually what intel_plane_fence_y_offset() gives you)
> - relative to PLANE_SURF: plane_state->uapi.src
> - relative to user crtc origin: drm_plane_state_dest()
> - relative to pipe origin: plane_state->uapi.dst
> 
> The sel_fetch code is now doing operations between coordinates from
> different coordinate spaces AFAICS.

It only uses this 3:
- plane damaged: that is in the same coordinate space as plane_state->uapi.src
- plane_state->uapi.src
- plane_state->uapi.dst

There is only conversions between src to dst and dst to src.

> 
> My gut feeling is that we want to do these calculations alongside the
> rest of the plane coordinate calcs in the plane code. That way we can
> just work forwards from userspace coords all the way to PLANE_SURF
> relative coords for both cases. Trying to do these sel fetch
> calculations after the fact means we're going to have to work both
> forwards and backwards at the same time, which doesn't sounds all that
> nice to me. But I've not spent a huge amount of time thinking about
> this so not 100% sure.
> 
> What we need is basically something like kms_big_fb but with sel fetch
> in mind. That could test all the interesting cases where we either use
> remapping or just hit the standard panning cases where PLANE_SURF does 
> not match the fb origin.
> 
> > 
> > > - no checks for plane scaling that I can see but it still assumes it can 
> > >   just assume a 1:1 relationship between src and dst coordinates
> > 
> > My understanding is that intel_atomic_plane_check_clipping() will adjust src to match dst width and height.
> 
> To do partial scaled updates correctly we'd need to have sub-pixel
> coordinates for the src or else you'll get a visible seam when the
> update region doesn't exactly terminate on a pixel boundary. And
> actually even if it did land on a pixel boundary you'd still get
> the seam unless we could instruct the hardware to filter across
> the edge. Don't think we can even do that with the currect hardware.

Actually scaling is not supported by the feature, so we are missing a check in intel_psr2_sel_fetch_config_valid() to disable it in this cases.

BSpec: 55229
Not supported with plane or pipe scaling. Software calculations to account for extra lines of scaler filter input and adjusted scale factor and filter
phase are too complicated.

> 
> > 
> > > - bigjoiner also affects the coordinate spaces, so that part too is probably
> > >   busted
> > > 
> > 
> > I don't think there is a commercial available eDP panel that would require bigjoiner.
> > We could definitely rule PSR2 out if such case shows up by adding a check in intel_psr2_sel_fetch_config_valid().
> > 
> 
> Yeah, if bigjoiner turns out to complicate the calculations to much we
> could just reject the combo. Not entirely sure it's a significant
> complication though.
> 


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

end of thread, other threads:[~2021-09-22 15:51 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-14 21:25 [Intel-gfx] [PATCH v2 1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation José Roberto de Souza
2021-09-14 21:25 ` [Intel-gfx] [PATCH v2 2/5] drm/i915/display: Wait at least 2 frames before selective update José Roberto de Souza
2021-09-14 21:25 ` [Intel-gfx] [PATCH v2 3/5] drm/i915/display: Workaround cursor left overs with PSR2 selective fetch enabled José Roberto de Souza
2021-09-15 14:58   ` Ville Syrjälä
2021-09-15 18:18     ` Souza, Jose
2021-09-16 13:17       ` Ville Syrjälä
2021-09-16 17:09         ` Souza, Jose
2021-09-17 13:04           ` Ville Syrjälä
2021-09-17 17:02             ` Souza, Jose
2021-09-17 17:49               ` Ville Syrjälä
2021-09-17 21:33                 ` Souza, Jose
2021-09-21 13:35                   ` Ville Syrjälä
2021-09-21 22:37                     ` Souza, Jose
2021-09-22 13:41                       ` Ville Syrjälä
2021-09-22 15:51                         ` Souza, Jose
2021-09-14 21:25 ` [Intel-gfx] [PATCH v2 4/5] drm/i915/display/psr: Use drm damage helpers to calculate plane damaged area José Roberto de Souza
2021-09-14 21:25 ` [Intel-gfx] [PATCH v2 5/5] drm/i915/display/adlp: Add new PSR2 workarounds José Roberto de Souza
2021-09-15 14:20   ` Gwan-gyeong Mun
2021-09-14 22:26 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation Patchwork
2021-09-15 19:01 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev2) Patchwork
2021-09-15 20:33 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev3) Patchwork
2021-09-16 22:31 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev4) Patchwork
2021-09-17  0:30 ` [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [v2,1/5] drm/i915/display/adlp: Fix PSR2_MAN_TRK_CTL_SU_REGION_END_ADDR calculation (rev5) Patchwork
2021-09-17  4:29 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2021-09-17 17:52   ` Souza, Jose

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.