All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH v2] drm/i915/display: Wait PSR2 get out of deep sleep to update pipe
@ 2021-10-01  1:12 José Roberto de Souza
  2021-10-01  2:21 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork
                   ` (6 more replies)
  0 siblings, 7 replies; 16+ messages in thread
From: José Roberto de Souza @ 2021-10-01  1:12 UTC (permalink / raw)
  To: intel-gfx
  Cc: Ville Syrjälä, Gwan-gyeong Mun, José Roberto de Souza

Alderlake-P was getting 'max time under evasion' messages when PSR2
is enabled, this is due PIPE_SCANLINE/PIPEDSL returning 0 over a
period of time longer than VBLANK_EVASION_TIME_US.

For PSR1 we had the same issue so intel_psr_wait_for_idle() was
implemented to wait for PSR1 to get into idle state but nothing was
done for PSR2.

For PSR2 we can't only wait for idle state as PSR2 tends to keep
into sleep state(ready to send selective updates).
Waiting for any state below deep sleep proved to be effective in
avoiding the evasion messages and also not wasted a lot of time.

To do so it was necessary to add intel_wait_for_condition_atomic(),
this takes as parameter a function that will return true when the
desidered condition is meet.

v2:
- dropping the additional wait_for loops, only the _wait_for_atomic()
is necessary
- waiting for states below EDP_PSR2_STATUS_STATE_DEEP_SLEEP

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
 .../drm/i915/display/intel_display_debugfs.c  |  3 +-
 drivers/gpu/drm/i915/display/intel_psr.c      | 63 ++++++++++++-------
 drivers/gpu/drm/i915/i915_reg.h               | 10 +--
 drivers/gpu/drm/i915/intel_uncore.c           | 19 ++++++
 drivers/gpu/drm/i915/intel_uncore.h           |  4 ++
 5 files changed, 70 insertions(+), 29 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index 68f4ba8c46e75..662596adb1da6 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -303,8 +303,7 @@ psr_source_status(struct intel_dp *intel_dp, struct seq_file *m)
 		};
 		val = intel_de_read(dev_priv,
 				    EDP_PSR2_STATUS(intel_dp->psr.transcoder));
-		status_val = (val & EDP_PSR2_STATUS_STATE_MASK) >>
-			      EDP_PSR2_STATUS_STATE_SHIFT;
+		status_val = REG_FIELD_GET(EDP_PSR2_STATUS_STATE_MASK, val);
 		if (status_val < ARRAY_SIZE(live_status))
 			status = live_status[status_val];
 	} else {
diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index 7a205fd5023bb..2b6868fdc3c08 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -1809,15 +1809,32 @@ void intel_psr_post_plane_update(const struct intel_atomic_state *state)
 		_intel_psr_post_plane_update(state, crtc_state);
 }
 
-/**
- * psr_wait_for_idle - wait for PSR1 to idle
- * @intel_dp: Intel DP
- * @out_value: PSR status in case of failure
- *
- * Returns: 0 on success or -ETIMEOUT if PSR status does not idle.
- *
- */
-static int psr_wait_for_idle(struct intel_dp *intel_dp, u32 *out_value)
+static bool _is_psr2_read_for_pipe_update(void *data)
+{
+	struct intel_dp *intel_dp = data;
+	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
+	u32 val;
+
+	val = intel_uncore_read_fw(&dev_priv->uncore,
+				   EDP_PSR2_STATUS(intel_dp->psr.transcoder));
+	val &= EDP_PSR2_STATUS_STATE_MASK;
+	return val < EDP_PSR2_STATUS_STATE_DEEP_SLEEP;
+}
+
+static int _psr2_ready_for_pipe_update_locked(struct intel_dp *intel_dp)
+{
+	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
+	unsigned int fw;
+
+	fw = intel_uncore_forcewake_for_reg(&dev_priv->uncore,
+					    EDP_PSR2_STATUS(intel_dp->psr.transcoder),
+					    FW_REG_READ);
+	return intel_wait_for_condition_atomic(&dev_priv->uncore,
+					       _is_psr2_read_for_pipe_update,
+					       intel_dp, fw, 20);
+}
+
+static int _psr1_ready_for_pipe_update_locked(struct intel_dp *intel_dp)
 {
 	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
 
@@ -1827,15 +1844,13 @@ static int psr_wait_for_idle(struct intel_dp *intel_dp, u32 *out_value)
 	 * exit training time + 1.5 ms of aux channel handshake. 50 ms is
 	 * defensive enough to cover everything.
 	 */
-	return __intel_wait_for_register(&dev_priv->uncore,
-					 EDP_PSR_STATUS(intel_dp->psr.transcoder),
-					 EDP_PSR_STATUS_STATE_MASK,
-					 EDP_PSR_STATUS_STATE_IDLE, 2, 50,
-					 out_value);
+	return intel_de_wait_for_clear(dev_priv,
+				       EDP_PSR_STATUS(intel_dp->psr.transcoder),
+				       EDP_PSR_STATUS_STATE_MASK, 50);
 }
 
 /**
- * intel_psr_wait_for_idle - wait for PSR1 to idle
+ * intel_psr_wait_for_idle - wait for PSR be ready for a pipe update
  * @new_crtc_state: new CRTC state
  *
  * This function is expected to be called from pipe_update_start() where it is
@@ -1852,19 +1867,23 @@ void intel_psr_wait_for_idle(const struct intel_crtc_state *new_crtc_state)
 	for_each_intel_encoder_mask_with_psr(&dev_priv->drm, encoder,
 					     new_crtc_state->uapi.encoder_mask) {
 		struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
-		u32 psr_status;
+		int ret;
 
 		mutex_lock(&intel_dp->psr.lock);
-		if (!intel_dp->psr.enabled || intel_dp->psr.psr2_enabled) {
+
+		if (!intel_dp->psr.enabled) {
 			mutex_unlock(&intel_dp->psr.lock);
 			continue;
 		}
 
-		/* when the PSR1 is enabled */
-		if (psr_wait_for_idle(intel_dp, &psr_status))
-			drm_err(&dev_priv->drm,
-				"PSR idle timed out 0x%x, atomic update may fail\n",
-				psr_status);
+		if (intel_dp->psr.psr2_enabled)
+			ret = _psr2_ready_for_pipe_update_locked(intel_dp);
+		else
+			ret = _psr1_ready_for_pipe_update_locked(intel_dp);
+
+		if (ret)
+			drm_err(&dev_priv->drm, "PSR wait timed out, atomic update may fail\n");
+
 		mutex_unlock(&intel_dp->psr.lock);
 	}
 }
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 3a20a55d25124..de0a253a0b0d2 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -4700,11 +4700,11 @@ enum {
 #define  PSR_EVENT_LPSP_MODE_EXIT		(1 << 1)
 #define  PSR_EVENT_PSR_DISABLE			(1 << 0)
 
-#define _PSR2_STATUS_A			0x60940
-#define _PSR2_STATUS_EDP		0x6f940
-#define EDP_PSR2_STATUS(tran)		_MMIO_TRANS2(tran, _PSR2_STATUS_A)
-#define EDP_PSR2_STATUS_STATE_MASK     (0xf << 28)
-#define EDP_PSR2_STATUS_STATE_SHIFT    28
+#define _PSR2_STATUS_A				0x60940
+#define _PSR2_STATUS_EDP			0x6f940
+#define EDP_PSR2_STATUS(tran)			_MMIO_TRANS2(tran, _PSR2_STATUS_A)
+#define EDP_PSR2_STATUS_STATE_MASK		REG_GENMASK(31, 28)
+#define EDP_PSR2_STATUS_STATE_DEEP_SLEEP	REG_FIELD_PREP(EDP_PSR2_STATUS_STATE_MASK, 0x8)
 
 #define _PSR2_SU_STATUS_A		0x60914
 #define _PSR2_SU_STATUS_EDP		0x6f914
diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
index aee572af80527..b7bb91e8c1c8f 100644
--- a/drivers/gpu/drm/i915/intel_uncore.c
+++ b/drivers/gpu/drm/i915/intel_uncore.c
@@ -2450,6 +2450,25 @@ int __intel_wait_for_register(struct intel_uncore *uncore,
 	return ret;
 }
 
+int intel_wait_for_condition_atomic(struct intel_uncore *uncore,
+				    bool (*func)(void *data), void *data,
+				    unsigned int fw, unsigned int timeout_ms)
+{
+	int ret;
+
+	might_sleep_if(timeout_ms);
+
+	spin_lock_irq(&uncore->lock);
+	intel_uncore_forcewake_get__locked(uncore, fw);
+
+	ret = _wait_for_atomic(func(data), timeout_ms * USEC_PER_MSEC, 0);
+
+	intel_uncore_forcewake_put__locked(uncore, fw);
+	spin_unlock_irq(&uncore->lock);
+
+	return ret;
+}
+
 bool intel_uncore_unclaimed_mmio(struct intel_uncore *uncore)
 {
 	bool ret;
diff --git a/drivers/gpu/drm/i915/intel_uncore.h b/drivers/gpu/drm/i915/intel_uncore.h
index 3248e4e2c540c..da5cefc8fa222 100644
--- a/drivers/gpu/drm/i915/intel_uncore.h
+++ b/drivers/gpu/drm/i915/intel_uncore.h
@@ -294,6 +294,10 @@ intel_wait_for_register_fw(struct intel_uncore *uncore,
 					    2, timeout_ms, NULL);
 }
 
+int intel_wait_for_condition_atomic(struct intel_uncore *uncore,
+				    bool (*func)(void *data), void *data,
+				    unsigned int fw, unsigned int timeout_ms);
+
 /* register access functions */
 #define __raw_read(x__, s__) \
 static inline u##x__ __raw_uncore_read##x__(const struct intel_uncore *uncore, \
-- 
2.33.0


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

* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Wait PSR2 get out of deep sleep to update pipe
  2021-10-01  1:12 [Intel-gfx] [PATCH v2] drm/i915/display: Wait PSR2 get out of deep sleep to update pipe José Roberto de Souza
@ 2021-10-01  2:21 ` Patchwork
  2021-10-01  8:06 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2021-10-01  2:21 UTC (permalink / raw)
  To: José Roberto de Souza; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915/display: Wait PSR2 get out of deep sleep to update pipe
URL   : https://patchwork.freedesktop.org/series/95309/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_10670 -> Patchwork_21213
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_basic@query-info:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][1] ([fdo#109315])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/fi-tgl-1115g4/igt@amdgpu/amd_basic@query-info.html
    - fi-kbl-soraka:      NOTRUN -> [SKIP][2] ([fdo#109271])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/fi-kbl-soraka/igt@amdgpu/amd_basic@query-info.html

  * igt@amdgpu/amd_cs_nop@nop-gfx0:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][3] ([fdo#109315] / [i915#2575]) +16 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/fi-tgl-1115g4/igt@amdgpu/amd_cs_nop@nop-gfx0.html

  * igt@core_hotunplug@unbind-rebind:
    - fi-tgl-u2:          NOTRUN -> [INCOMPLETE][4] ([i915#4130])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/fi-tgl-u2/igt@core_hotunplug@unbind-rebind.html

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

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

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

  * igt@kms_chamelium@dp-hpd-fast:
    - fi-tgl-u2:          NOTRUN -> [SKIP][9] ([fdo#109284] / [fdo#111827]) +8 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/fi-tgl-u2/igt@kms_chamelium@dp-hpd-fast.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
    - fi-tgl-u2:          NOTRUN -> [SKIP][10] ([i915#4103]) +1 similar issue
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/fi-tgl-u2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][11] ([i915#4103]) +1 similar issue
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/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][12] ([fdo#109285])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/fi-tgl-1115g4/igt@kms_force_connector_basic@force-load-detect.html
    - fi-tgl-u2:          NOTRUN -> [SKIP][13] ([fdo#109285])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/fi-tgl-u2/igt@kms_force_connector_basic@force-load-detect.html

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

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

  * igt@runner@aborted:
    - fi-tgl-u2:          NOTRUN -> [FAIL][17] ([i915#1602] / [i915#2722])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/fi-tgl-u2/igt@runner@aborted.html

  
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [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#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2722]: https://gitlab.freedesktop.org/drm/intel/issues/2722
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4130]: https://gitlab.freedesktop.org/drm/intel/issues/4130


Participating hosts (32 -> 29)
------------------------------

  Additional (2): fi-tgl-1115g4 fi-tgl-u2 
  Missing    (5): bat-dg1-6 fi-bsw-cyan bat-adlp-4 bat-jsl-2 bat-jsl-1 


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

  * Linux: CI_DRM_10670 -> Patchwork_21213

  CI-20190529: 20190529
  CI_DRM_10670: 3d3b1ccf805891e2b05ba21cb98790aa0cfa48a8 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6228: 22643ce4014a0b2dc52ce7916b2f657e2a7757c3 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_21213: 0e0fedf406666fd0a27d21f1cf29f253e650d3c5 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

0e0fedf40666 drm/i915/display: Wait PSR2 get out of deep sleep to update pipe

== Logs ==

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

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

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

* [Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/display: Wait PSR2 get out of deep sleep to update pipe
  2021-10-01  1:12 [Intel-gfx] [PATCH v2] drm/i915/display: Wait PSR2 get out of deep sleep to update pipe José Roberto de Souza
  2021-10-01  2:21 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork
@ 2021-10-01  8:06 ` Patchwork
  2021-10-01 23:23 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Wait PSR2 get out of deep sleep to update pipe (rev2) Patchwork
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2021-10-01  8:06 UTC (permalink / raw)
  To: José Roberto de Souza; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915/display: Wait PSR2 get out of deep sleep to update pipe
URL   : https://patchwork.freedesktop.org/series/95309/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_10670_full -> Patchwork_21213_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_21213_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_21213_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_21213_full:

### IGT changes ###

#### Possible regressions ####

  * igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes:
    - shard-kbl:          [PASS][1] -> [DMESG-WARN][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-kbl2/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl7/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_fair@basic-deadline:
    - shard-kbl:          NOTRUN -> [FAIL][3] ([i915#2846])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl3/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-pace@rcs0:
    - shard-kbl:          [PASS][4] -> [FAIL][5] ([i915#2842])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-kbl3/igt@gem_exec_fair@basic-pace@rcs0.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl2/igt@gem_exec_fair@basic-pace@rcs0.html

  * igt@gem_exec_params@no-blt:
    - shard-tglb:         NOTRUN -> [SKIP][6] ([fdo#109283])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-tglb5/igt@gem_exec_params@no-blt.html

  * igt@gem_pwrite@basic-exhaustion:
    - shard-apl:          NOTRUN -> [WARN][7] ([i915#2658])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-apl3/igt@gem_pwrite@basic-exhaustion.html

  * igt@gem_softpin@noreloc-s3:
    - shard-apl:          [PASS][8] -> [DMESG-WARN][9] ([i915#180])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-apl3/igt@gem_softpin@noreloc-s3.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-apl2/igt@gem_softpin@noreloc-s3.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-apl:          NOTRUN -> [SKIP][10] ([fdo#109271] / [i915#3323])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-apl3/igt@gem_userptr_blits@dmabuf-sync.html
    - shard-tglb:         NOTRUN -> [SKIP][11] ([i915#3323])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-tglb5/igt@gem_userptr_blits@dmabuf-sync.html

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

  * igt@gem_workarounds@suspend-resume:
    - shard-skl:          NOTRUN -> [INCOMPLETE][13] ([i915#198])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-skl4/igt@gem_workarounds@suspend-resume.html

  * igt@i915_pm_dc@dc6-psr:
    - shard-iclb:         [PASS][14] -> [FAIL][15] ([i915#454])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-iclb7/igt@i915_pm_dc@dc6-psr.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-iclb6/igt@i915_pm_dc@dc6-psr.html

  * igt@i915_suspend@sysfs-reader:
    - shard-kbl:          NOTRUN -> [DMESG-WARN][16] ([i915#180])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl7/igt@i915_suspend@sysfs-reader.html

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

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-apl:          NOTRUN -> [SKIP][18] ([fdo#109271] / [i915#3777]) +2 similar issues
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-apl3/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

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

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0:
    - shard-apl:          NOTRUN -> [SKIP][20] ([fdo#109271]) +197 similar issues
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-apl6/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0.html

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

  * igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_gen12_mc_ccs:
    - shard-apl:          NOTRUN -> [SKIP][22] ([fdo#109271] / [i915#3886]) +7 similar issues
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-apl3/igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-c-bad-rotation-90-y_tiled_gen12_mc_ccs:
    - shard-kbl:          NOTRUN -> [SKIP][23] ([fdo#109271] / [i915#3886]) +1 similar issue
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl7/igt@kms_ccs@pipe-c-bad-rotation-90-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-c-crc-primary-rotation-180-y_tiled_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][24] ([i915#3689]) +2 similar issues
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-tglb5/igt@kms_ccs@pipe-c-crc-primary-rotation-180-y_tiled_ccs.html

  * igt@kms_chamelium@hdmi-audio-edid:
    - shard-tglb:         NOTRUN -> [SKIP][25] ([fdo#109284] / [fdo#111827]) +1 similar issue
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-tglb5/igt@kms_chamelium@hdmi-audio-edid.html

  * igt@kms_chamelium@vga-frame-dump:
    - shard-skl:          NOTRUN -> [SKIP][26] ([fdo#109271] / [fdo#111827]) +1 similar issue
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-skl4/igt@kms_chamelium@vga-frame-dump.html

  * igt@kms_chamelium@vga-hpd:
    - shard-apl:          NOTRUN -> [SKIP][27] ([fdo#109271] / [fdo#111827]) +14 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-apl3/igt@kms_chamelium@vga-hpd.html

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

  * igt@kms_concurrent@pipe-c:
    - shard-tglb:         NOTRUN -> [FAIL][29] ([i915#1385])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-tglb5/igt@kms_concurrent@pipe-c.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-kbl:          NOTRUN -> [TIMEOUT][30] ([i915#1319])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl3/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_content_protection@type1:
    - shard-tglb:         NOTRUN -> [SKIP][31] ([fdo#111828])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-tglb5/igt@kms_content_protection@type1.html

  * igt@kms_cursor_crc@pipe-a-cursor-alpha-opaque:
    - shard-apl:          NOTRUN -> [FAIL][32] ([i915#3444])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-apl6/igt@kms_cursor_crc@pipe-a-cursor-alpha-opaque.html

  * igt@kms_cursor_crc@pipe-b-cursor-32x32-offscreen:
    - shard-tglb:         NOTRUN -> [SKIP][33] ([i915#3319]) +1 similar issue
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-tglb5/igt@kms_cursor_crc@pipe-b-cursor-32x32-offscreen.html

  * igt@kms_cursor_crc@pipe-b-cursor-512x170-sliding:
    - shard-skl:          NOTRUN -> [SKIP][34] ([fdo#109271]) +20 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-skl10/igt@kms_cursor_crc@pipe-b-cursor-512x170-sliding.html

  * igt@kms_cursor_crc@pipe-b-cursor-max-size-onscreen:
    - shard-tglb:         NOTRUN -> [SKIP][35] ([i915#3359]) +1 similar issue
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-tglb5/igt@kms_cursor_crc@pipe-b-cursor-max-size-onscreen.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
    - shard-skl:          [PASS][36] -> [FAIL][37] ([i915#2346] / [i915#533])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-skl7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-skl7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html

  * igt@kms_flip@2x-plain-flip-fb-recreate:
    - shard-tglb:         NOTRUN -> [SKIP][38] ([fdo#111825]) +10 similar issues
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-tglb5/igt@kms_flip@2x-plain-flip-fb-recreate.html

  * igt@kms_flip@flip-vs-suspend@c-dp1:
    - shard-apl:          NOTRUN -> [DMESG-WARN][39] ([i915#180]) +1 similar issue
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-apl6/igt@kms_flip@flip-vs-suspend@c-dp1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile:
    - shard-iclb:         [PASS][40] -> [SKIP][41] ([i915#3701])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-iclb8/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile.html

  * igt@kms_frontbuffer_tracking@psr-suspend:
    - shard-tglb:         [PASS][42] -> [INCOMPLETE][43] ([i915#456]) +1 similar issue
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-tglb5/igt@kms_frontbuffer_tracking@psr-suspend.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-tglb7/igt@kms_frontbuffer_tracking@psr-suspend.html

  * igt@kms_hdr@bpc-switch:
    - shard-skl:          [PASS][44] -> [FAIL][45] ([i915#1188])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-skl4/igt@kms_hdr@bpc-switch.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-skl1/igt@kms_hdr@bpc-switch.html

  * igt@kms_hdr@bpc-switch-suspend:
    - shard-kbl:          [PASS][46] -> [DMESG-WARN][47] ([i915#180]) +3 similar issues
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-kbl3/igt@kms_hdr@bpc-switch-suspend.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl1/igt@kms_hdr@bpc-switch-suspend.html

  * igt@kms_hdr@static-toggle-suspend:
    - shard-tglb:         NOTRUN -> [SKIP][48] ([i915#1187])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-tglb5/igt@kms_hdr@static-toggle-suspend.html

  * igt@kms_panel_fitting@legacy:
    - shard-kbl:          NOTRUN -> [SKIP][49] ([fdo#109271]) +61 similar issues
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl3/igt@kms_panel_fitting@legacy.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-d:
    - shard-apl:          NOTRUN -> [SKIP][50] ([fdo#109271] / [i915#533]) +1 similar issue
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-apl3/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-d.html

  * igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
    - shard-apl:          NOTRUN -> [FAIL][51] ([fdo#108145] / [i915#265]) +3 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-apl3/igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
    - shard-skl:          [PASS][52] -> [FAIL][53] ([fdo#108145] / [i915#265])
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-skl2/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-skl4/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html

  * igt@kms_plane_alpha_blend@pipe-b-alpha-basic:
    - shard-kbl:          NOTRUN -> [FAIL][54] ([fdo#108145] / [i915#265])
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl7/igt@kms_plane_alpha_blend@pipe-b-alpha-basic.html

  * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max:
    - shard-skl:          NOTRUN -> [FAIL][55] ([fdo#108145] / [i915#265])
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-skl10/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max.html

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

  * igt@kms_psr2_sf@cursor-plane-update-sf:
    - shard-tglb:         NOTRUN -> [SKIP][57] ([i915#2920]) +1 similar issue
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-tglb5/igt@kms_psr2_sf@cursor-plane-update-sf.html

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

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-3:
    - shard-kbl:          NOTRUN -> [SKIP][59] ([fdo#109271] / [i915#658])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl3/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-3.html

  * igt@kms_psr@psr2_primary_page_flip:
    - shard-iclb:         [PASS][60] -> [SKIP][61] ([fdo#109441]) +4 similar issues
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-iclb7/igt@kms_psr@psr2_primary_page_flip.html

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
    - shard-kbl:          [PASS][62] -> [DMESG-WARN][63] ([i915#180] / [i915#295])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-kbl7/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl7/igt@kms_vblank@pipe-a-ts-continuation-suspend.html

  * igt@kms_writeback@writeback-invalid-parameters:
    - shard-apl:          NOTRUN -> [SKIP][64] ([fdo#109271] / [i915#2437])
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-apl2/igt@kms_writeback@writeback-invalid-parameters.html

  * igt@nouveau_crc@pipe-c-source-rg:
    - shard-tglb:         NOTRUN -> [SKIP][65] ([i915#2530])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-tglb5/igt@nouveau_crc@pipe-c-source-rg.html

  * igt@prime_nv_api@i915_nv_import_twice:
    - shard-tglb:         NOTRUN -> [SKIP][66] ([fdo#109291])
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-tglb5/igt@prime_nv_api@i915_nv_import_twice.html

  * igt@sysfs_clients@fair-3:
    - shard-tglb:         NOTRUN -> [SKIP][67] ([i915#2994])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-tglb5/igt@sysfs_clients@fair-3.html

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

  * igt@sysfs_clients@recycle-many:
    - shard-apl:          NOTRUN -> [SKIP][69] ([fdo#109271] / [i915#2994]) +4 similar issues
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-apl6/igt@sysfs_clients@recycle-many.html

  * igt@sysfs_heartbeat_interval@precise@vecs0:
    - shard-iclb:         [PASS][70] -> [FAIL][71] ([i915#1755])
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-iclb2/igt@sysfs_heartbeat_interval@precise@vecs0.html
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-iclb7/igt@sysfs_heartbeat_interval@precise@vecs0.html

  
#### Possible fixes ####

  * igt@gem_exec_fair@basic-flow@rcs0:
    - shard-tglb:         [FAIL][72] ([i915#2842]) -> [PASS][73]
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-tglb6/igt@gem_exec_fair@basic-flow@rcs0.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-tglb1/igt@gem_exec_fair@basic-flow@rcs0.html

  * igt@gem_exec_fair@basic-none-rrul@rcs0:
    - shard-glk:          [FAIL][74] ([i915#2842]) -> [PASS][75] +1 similar issue
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-glk3/igt@gem_exec_fair@basic-none-rrul@rcs0.html
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-glk9/igt@gem_exec_fair@basic-none-rrul@rcs0.html

  * igt@gem_exec_fair@basic-pace@vcs1:
    - shard-kbl:          [FAIL][76] ([i915#2842]) -> [PASS][77]
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-kbl3/igt@gem_exec_fair@basic-pace@vcs1.html
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl2/igt@gem_exec_fair@basic-pace@vcs1.html

  * igt@gem_huc_copy@huc-copy:
    - shard-tglb:         [SKIP][78] ([i915#2190]) -> [PASS][79]
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-tglb7/igt@gem_huc_copy@huc-copy.html
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-tglb5/igt@gem_huc_copy@huc-copy.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-skl:          [DMESG-WARN][80] ([i915#1436] / [i915#716]) -> [PASS][81]
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-skl6/igt@gen9_exec_parse@allowed-single.html
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-skl10/igt@gen9_exec_parse@allowed-single.html

  * igt@i915_suspend@debugfs-reader:
    - shard-skl:          [INCOMPLETE][82] ([i915#198] / [i915#4173]) -> [PASS][83]
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-skl2/igt@i915_suspend@debugfs-reader.html
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-skl4/igt@i915_suspend@debugfs-reader.html

  * igt@kms_big_fb@x-tiled-32bpp-rotate-0:
    - shard-glk:          [DMESG-WARN][84] ([i915#118] / [i915#95]) -> [PASS][85]
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-glk4/igt@kms_big_fb@x-tiled-32bpp-rotate-0.html
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-glk8/igt@kms_big_fb@x-tiled-32bpp-rotate-0.html

  * igt@kms_color@pipe-b-ctm-0-5:
    - shard-skl:          [DMESG-WARN][86] ([i915#1982]) -> [PASS][87]
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-skl3/igt@kms_color@pipe-b-ctm-0-5.html
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-skl4/igt@kms_color@pipe-b-ctm-0-5.html

  * igt@kms_cursor_crc@pipe-a-cursor-suspend:
    - shard-apl:          [INCOMPLETE][88] ([i915#2828]) -> [PASS][89]
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-apl6/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-apl2/igt@kms_cursor_crc@pipe-a-cursor-suspend.html

  * igt@kms_flip@plain-flip-fb-recreate@b-edp1:
    - shard-skl:          [FAIL][90] ([i915#2122]) -> [PASS][91] +1 similar issue
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-skl4/igt@kms_flip@plain-flip-fb-recreate@b-edp1.html
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-skl5/igt@kms_flip@plain-flip-fb-recreate@b-edp1.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-kbl:          [DMESG-WARN][92] ([i915#180]) -> [PASS][93] +1 similar issue
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-kbl1/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl7/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min:
    - shard-skl:          [FAIL][94] ([fdo#108145] / [i915#265]) -> [PASS][95]
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-skl7/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-skl6/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html

  * igt@kms_psr@psr2_dpms:
    - shard-iclb:         [SKIP][96] ([fdo#109441]) -> [PASS][97] +1 similar issue
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-iclb5/igt@kms_psr@psr2_dpms.html
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-iclb2/igt@kms_psr@psr2_dpms.html

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
    - shard-apl:          [DMESG-WARN][98] ([i915#180] / [i915#295]) -> [PASS][99]
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-apl8/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-apl3/igt@kms_vblank@pipe-a-ts-continuation-suspend.html

  * igt@perf@polling-parameterized:
    - shard-glk:          [FAIL][100] ([i915#1542]) -> [PASS][101]
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-glk4/igt@perf@polling-parameterized.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-glk7/igt@perf@polling-parameterized.html

  * igt@perf@polling-small-buf:
    - shard-skl:          [FAIL][102] ([i915#1722]) -> [PASS][103]
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-skl6/igt@perf@polling-small-buf.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-skl10/igt@perf@polling-small-buf.html

  * igt@sysfs_heartbeat_interval@mixed@rcs0:
    - shard-skl:          [FAIL][104] ([i915#1731]) -> [PASS][105]
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-skl3/igt@sysfs_heartbeat_interval@mixed@rcs0.html
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-skl4/igt@sysfs_heartbeat_interval@mixed@rcs0.html

  
#### Warnings ####

  * igt@kms_big_fb@linear-32bpp-rotate-0:
    - shard-glk:          [DMESG-WARN][106] ([i915#118] / [i915#95]) -> [DMESG-WARN][107] ([i915#118] / [i915#1982] / [i915#95])
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-glk2/igt@kms_big_fb@linear-32bpp-rotate-0.html
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-glk8/igt@kms_big_fb@linear-32bpp-rotate-0.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
    - shard-skl:          [FAIL][108] ([i915#3743]) -> [FAIL][109] ([i915#3722])
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-skl3/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-skl4/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html

  * igt@kms_draw_crc@draw-method-rgb565-blt-ytiled:
    - shard-glk:          [FAIL][110] ([i915#1888] / [i915#3451]) -> [DMESG-FAIL][111] ([i915#118] / [i915#1888] / [i915#95])
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-glk5/igt@kms_draw_crc@draw-method-rgb565-blt-ytiled.html
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-glk5/igt@kms_draw_crc@draw-method-rgb565-blt-ytiled.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-3:
    - shard-iclb:         [SKIP][112] ([i915#2920]) -> [SKIP][113] ([i915#658])
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-iclb2/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-3.html
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-iclb7/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-3.html

  * igt@runner@aborted:
    - shard-kbl:          ([FAIL][114], [FAIL][115], [FAIL][116], [FAIL][117], [FAIL][118], [FAIL][119], [FAIL][120]) ([fdo#109271] / [i915#1436] / [i915#180] / [i915#1814] / [i915#3002] / [i915#3363] / [i915#92]) -> ([FAIL][121], [FAIL][122], [FAIL][123], [FAIL][124], [FAIL][125], [FAIL][126], [FAIL][127], [FAIL][128], [FAIL][129], [FAIL][130], [FAIL][131], [FAIL][132]) ([i915#180] / [i915#1814] / [i915#3002] / [i915#3363] / [i915#602] / [i915#92])
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-kbl1/igt@runner@aborted.html
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-kbl1/igt@runner@aborted.html
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-kbl1/igt@runner@aborted.html
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-kbl1/igt@runner@aborted.html
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-kbl1/igt@runner@aborted.html
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-kbl7/igt@runner@aborted.html
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-kbl6/igt@runner@aborted.html
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl1/igt@runner@aborted.html
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl1/igt@runner@aborted.html
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl3/igt@runner@aborted.html
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl1/igt@runner@aborted.html
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl1/igt@runner@aborted.html
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl1/igt@runner@aborted.html
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl7/igt@runner@aborted.html
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl7/igt@runner@aborted.html
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl7/igt@runner@aborted.html
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl7/igt@runner@aborted.html
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl7/igt@runner@aborted.html
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-kbl7/igt@runner@aborted.html
    - shard-apl:          ([FAIL][133], [FAIL][134], [FAIL][135]) ([fdo#109271] / [i915#180] / [i915#1814] / [i915#3363]) -> ([FAIL][136], [FAIL][137], [FAIL][138]) ([i915#180] / [i915#3002] / [i915#3363])
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-apl8/igt@runner@aborted.html
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-apl8/igt@runner@aborted.html
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-apl6/igt@runner@aborted.html
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-apl6/igt@runner@aborted.html
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-apl2/igt@runner@aborted.html
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-apl6/igt@runner@aborted.html
    - shard-skl:          ([FAIL][139], [FAIL][140], [FAIL][141]) ([i915#1436] / [i915#3002] / [i915#3363]) -> ([FAIL][142], [FAIL][143]) ([i915#3002] / [i915#3363])
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-skl6/igt@runner@aborted.html
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-skl2/igt@runner@aborted.html
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10670/shard-skl2/igt@runner@aborted.html
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-skl2/igt@runner@aborted.html
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21213/shard-skl9/igt@runner@aborted.html

  
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283
  [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
  [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [fdo#111828]: https://bugs.freedesktop.org/show_bug.cgi?id=111828
  [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
  [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
  [i915#1187]: https://gitlab.freedesktop.org/drm/intel/issues/1187
  [i915#1188]: https://gitlab.freedesktop.org/drm/intel/issues/1188
  [i915#1319]: https://gitlab.freedesktop.org/drm/intel/issues/1319
  [i915#1385]: https://gitlab.freedesktop.org/drm/intel/issues/1385
  [i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436
  [i915#1542]: https://gitlab.freedesktop.org/drm/intel/issues/1542
  [i915#1722]: https://gitlab.freedesktop.org/drm/intel/issues/1722
  [i915#1731]: https://gitlab.freedesktop.org/drm/intel/issues/1731
  [i915#1755]: https://gitlab.freedesktop.org/drm/intel/issues/1755
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#1814]: https://gitlab.freedesktop.org/drm/intel/issues/1814
  [i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888
  [i915#198]: https://gitlab.freedesktop.org/drm/intel/issues/198
  [i915#1

== Logs ==

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

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

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

* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Wait PSR2 get out of deep sleep to update pipe (rev2)
  2021-10-01  1:12 [Intel-gfx] [PATCH v2] drm/i915/display: Wait PSR2 get out of deep sleep to update pipe José Roberto de Souza
  2021-10-01  2:21 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork
  2021-10-01  8:06 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
@ 2021-10-01 23:23 ` Patchwork
  2021-10-02  7:02 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2021-10-01 23:23 UTC (permalink / raw)
  To: José Roberto de Souza; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915/display: Wait PSR2 get out of deep sleep to update pipe (rev2)
URL   : https://patchwork.freedesktop.org/series/95309/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_10680 -> Patchwork_21225
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_basic@query-info:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][1] ([fdo#109315])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/fi-tgl-1115g4/igt@amdgpu/amd_basic@query-info.html

  * igt@amdgpu/amd_cs_nop@nop-gfx0:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][2] ([fdo#109315] / [i915#2575]) +16 similar issues
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/fi-tgl-1115g4/igt@amdgpu/amd_cs_nop@nop-gfx0.html

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

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

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

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

  * igt@kms_chamelium@hdmi-crc-fast:
    - fi-bsw-n3050:       NOTRUN -> [SKIP][8] ([fdo#109271] / [fdo#111827]) +8 similar issues
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/fi-bsw-n3050/igt@kms_chamelium@hdmi-crc-fast.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
    - fi-tgl-1115g4:      NOTRUN -> [SKIP][9] ([i915#4103]) +1 similar issue
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/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][10] ([fdo#109285])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/fi-tgl-1115g4/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_pipe_crc_basic@hang-read-crc-pipe-a:
    - fi-bsw-n3050:       NOTRUN -> [SKIP][11] ([fdo#109271]) +41 similar issues
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/fi-bsw-n3050/igt@kms_pipe_crc_basic@hang-read-crc-pipe-a.html

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

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

  
#### Possible fixes ####

  * igt@gem_exec_suspend@basic-s3:
    - fi-bsw-n3050:       [INCOMPLETE][14] ([i915#2369] / [i915#3159]) -> [PASS][15]
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/fi-bsw-n3050/igt@gem_exec_suspend@basic-s3.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/fi-bsw-n3050/igt@gem_exec_suspend@basic-s3.html

  * igt@kms_flip@basic-flip-vs-wf_vblank@b-edp1:
    - fi-bsw-kefka:       [FAIL][16] ([i915#2122]) -> [PASS][17]
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/fi-bsw-kefka/igt@kms_flip@basic-flip-vs-wf_vblank@b-edp1.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/fi-bsw-kefka/igt@kms_flip@basic-flip-vs-wf_vblank@b-edp1.html

  * igt@kms_frontbuffer_tracking@basic:
    - fi-cml-u2:          [DMESG-WARN][18] ([i915#95]) -> [PASS][19]
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/fi-cml-u2/igt@kms_frontbuffer_tracking@basic.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/fi-cml-u2/igt@kms_frontbuffer_tracking@basic.html

  
  [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#155]: https://gitlab.freedesktop.org/drm/intel/issues/155
  [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2369]: https://gitlab.freedesktop.org/drm/intel/issues/2369
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#3159]: https://gitlab.freedesktop.org/drm/intel/issues/3159
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95


Participating hosts (33 -> 28)
------------------------------

  Additional (1): fi-tgl-1115g4 
  Missing    (6): bat-adls-5 bat-dg1-6 fi-bsw-cyan bat-adlp-4 bat-jsl-2 bat-jsl-1 


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

  * Linux: CI_DRM_10680 -> Patchwork_21225

  CI-20190529: 20190529
  CI_DRM_10680: a5be335f84415ea2d1898be94f5c9a338520aaf5 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6228: 22643ce4014a0b2dc52ce7916b2f657e2a7757c3 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_21225: bba6418fc65878244acc5f738d526d839e361b5e @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

bba6418fc658 drm/i915/display: Wait PSR2 get out of deep sleep to update pipe

== Logs ==

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

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

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

* [Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/display: Wait PSR2 get out of deep sleep to update pipe (rev2)
  2021-10-01  1:12 [Intel-gfx] [PATCH v2] drm/i915/display: Wait PSR2 get out of deep sleep to update pipe José Roberto de Souza
                   ` (2 preceding siblings ...)
  2021-10-01 23:23 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Wait PSR2 get out of deep sleep to update pipe (rev2) Patchwork
@ 2021-10-02  7:02 ` Patchwork
  2021-10-05 23:18 ` [Intel-gfx] [PATCH v3] drm/i915/display: Wait PSR2 get out of deep sleep to update pipe José Roberto de Souza
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2021-10-02  7:02 UTC (permalink / raw)
  To: José Roberto de Souza; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915/display: Wait PSR2 get out of deep sleep to update pipe (rev2)
URL   : https://patchwork.freedesktop.org/series/95309/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_10680_full -> Patchwork_21225_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_21225_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_21225_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_21225_full:

### IGT changes ###

#### Possible regressions ####

  * igt@perf@stress-open-close:
    - shard-apl:          NOTRUN -> [DMESG-FAIL][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-apl8/igt@perf@stress-open-close.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_isolation@preservation-s3@vecs0:
    - shard-kbl:          [PASS][2] -> [DMESG-WARN][3] ([i915#180]) +3 similar issues
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-kbl6/igt@gem_ctx_isolation@preservation-s3@vecs0.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-kbl1/igt@gem_ctx_isolation@preservation-s3@vecs0.html

  * igt@gem_eio@in-flight-suspend:
    - shard-tglb:         [PASS][4] -> [INCOMPLETE][5] ([i915#456]) +1 similar issue
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-tglb6/igt@gem_eio@in-flight-suspend.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-tglb7/igt@gem_eio@in-flight-suspend.html

  * igt@gem_exec_fair@basic-none-rrul@rcs0:
    - shard-glk:          [PASS][6] -> [FAIL][7] ([i915#2842]) +2 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-glk5/igt@gem_exec_fair@basic-none-rrul@rcs0.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-glk9/igt@gem_exec_fair@basic-none-rrul@rcs0.html

  * igt@gem_exec_fair@basic-none-vip@rcs0:
    - shard-kbl:          [PASS][8] -> [FAIL][9] ([i915#2842]) +3 similar issues
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-kbl6/igt@gem_exec_fair@basic-none-vip@rcs0.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-kbl3/igt@gem_exec_fair@basic-none-vip@rcs0.html

  * igt@gem_exec_params@no-bsd:
    - shard-tglb:         NOTRUN -> [SKIP][10] ([fdo#109283])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-tglb2/igt@gem_exec_params@no-bsd.html
    - shard-iclb:         NOTRUN -> [SKIP][11] ([fdo#109283])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-iclb1/igt@gem_exec_params@no-bsd.html

  * igt@gem_exec_whisper@basic-queues-forked-all:
    - shard-glk:          [PASS][12] -> [DMESG-WARN][13] ([i915#118] / [i915#95])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-glk7/igt@gem_exec_whisper@basic-queues-forked-all.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-glk6/igt@gem_exec_whisper@basic-queues-forked-all.html

  * igt@gem_render_copy@y-tiled-to-vebox-x-tiled:
    - shard-glk:          NOTRUN -> [SKIP][14] ([fdo#109271]) +3 similar issues
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-glk1/igt@gem_render_copy@y-tiled-to-vebox-x-tiled.html

  * igt@gem_userptr_blits@vma-merge:
    - shard-apl:          NOTRUN -> [FAIL][15] ([i915#3318])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-apl8/igt@gem_userptr_blits@vma-merge.html

  * igt@gen7_exec_parse@load-register-reg:
    - shard-iclb:         NOTRUN -> [SKIP][16] ([fdo#109289])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-iclb1/igt@gen7_exec_parse@load-register-reg.html
    - shard-tglb:         NOTRUN -> [SKIP][17] ([fdo#109289])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-tglb2/igt@gen7_exec_parse@load-register-reg.html

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

  * igt@i915_pm_dc@dc6-psr:
    - shard-iclb:         [PASS][19] -> [FAIL][20] ([i915#454])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-iclb7/igt@i915_pm_dc@dc6-psr.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-iclb3/igt@i915_pm_dc@dc6-psr.html

  * igt@i915_pm_rc6_residency@rc6-fence:
    - shard-tglb:         NOTRUN -> [WARN][21] ([i915#2681])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-tglb2/igt@i915_pm_rc6_residency@rc6-fence.html
    - shard-iclb:         NOTRUN -> [WARN][22] ([i915#2684])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-iclb1/igt@i915_pm_rc6_residency@rc6-fence.html

  * igt@i915_pm_rpm@system-suspend-execbuf:
    - shard-tglb:         [PASS][23] -> [INCOMPLETE][24] ([i915#2411] / [i915#456] / [i915#750])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-tglb3/igt@i915_pm_rpm@system-suspend-execbuf.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-tglb7/igt@i915_pm_rpm@system-suspend-execbuf.html

  * igt@i915_suspend@sysfs-reader:
    - shard-apl:          NOTRUN -> [DMESG-WARN][25] ([i915#180]) +1 similar issue
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-apl3/igt@i915_suspend@sysfs-reader.html

  * igt@kms_async_flips@alternate-sync-async-flip:
    - shard-skl:          [PASS][26] -> [FAIL][27] ([i915#2521])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-skl1/igt@kms_async_flips@alternate-sync-async-flip.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-skl8/igt@kms_async_flips@alternate-sync-async-flip.html

  * igt@kms_big_fb@x-tiled-32bpp-rotate-270:
    - shard-iclb:         NOTRUN -> [SKIP][28] ([fdo#110725] / [fdo#111614])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-iclb1/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html
    - shard-tglb:         NOTRUN -> [SKIP][29] ([fdo#111614])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-tglb2/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-apl:          NOTRUN -> [SKIP][30] ([fdo#109271] / [i915#3777]) +1 similar issue
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-apl8/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_fb@yf-tiled-16bpp-rotate-0:
    - shard-tglb:         NOTRUN -> [SKIP][31] ([fdo#111615])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-tglb6/igt@kms_big_fb@yf-tiled-16bpp-rotate-0.html

  * igt@kms_ccs@pipe-b-bad-rotation-90-y_tiled_gen12_rc_ccs_cc:
    - shard-glk:          NOTRUN -> [SKIP][32] ([fdo#109271] / [i915#3886])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-glk1/igt@kms_ccs@pipe-b-bad-rotation-90-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc:
    - shard-kbl:          NOTRUN -> [SKIP][33] ([fdo#109271] / [i915#3886]) +8 similar issues
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-kbl2/igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-c-bad-rotation-90-y_tiled_gen12_mc_ccs:
    - shard-apl:          NOTRUN -> [SKIP][34] ([fdo#109271] / [i915#3886]) +14 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-apl3/igt@kms_ccs@pipe-c-bad-rotation-90-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-c-random-ccs-data-yf_tiled_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][35] ([i915#3689]) +2 similar issues
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-tglb2/igt@kms_ccs@pipe-c-random-ccs-data-yf_tiled_ccs.html

  * igt@kms_chamelium@dp-crc-multiple:
    - shard-apl:          NOTRUN -> [SKIP][36] ([fdo#109271] / [fdo#111827]) +23 similar issues
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-apl8/igt@kms_chamelium@dp-crc-multiple.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - shard-tglb:         NOTRUN -> [SKIP][37] ([fdo#109284] / [fdo#111827]) +1 similar issue
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-tglb2/igt@kms_chamelium@hdmi-hpd-fast.html

  * igt@kms_color_chamelium@pipe-a-ctm-0-25:
    - shard-iclb:         NOTRUN -> [SKIP][38] ([fdo#109284] / [fdo#111827])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-iclb1/igt@kms_color_chamelium@pipe-a-ctm-0-25.html

  * igt@kms_color_chamelium@pipe-c-ctm-max:
    - shard-kbl:          NOTRUN -> [SKIP][39] ([fdo#109271] / [fdo#111827]) +6 similar issues
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-kbl3/igt@kms_color_chamelium@pipe-c-ctm-max.html

  * igt@kms_content_protection@lic:
    - shard-apl:          NOTRUN -> [TIMEOUT][40] ([i915#1319])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-apl6/igt@kms_content_protection@lic.html

  * igt@kms_content_protection@uevent:
    - shard-kbl:          NOTRUN -> [FAIL][41] ([i915#2105])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-kbl2/igt@kms_content_protection@uevent.html
    - shard-apl:          NOTRUN -> [FAIL][42] ([i915#2105])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-apl6/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_crc@pipe-a-cursor-512x512-sliding:
    - shard-iclb:         NOTRUN -> [SKIP][43] ([fdo#109278] / [fdo#109279])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-iclb1/igt@kms_cursor_crc@pipe-a-cursor-512x512-sliding.html
    - shard-tglb:         NOTRUN -> [SKIP][44] ([fdo#109279] / [i915#3359])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-tglb2/igt@kms_cursor_crc@pipe-a-cursor-512x512-sliding.html

  * igt@kms_cursor_crc@pipe-d-cursor-dpms:
    - shard-iclb:         NOTRUN -> [SKIP][45] ([fdo#109278]) +3 similar issues
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-iclb1/igt@kms_cursor_crc@pipe-d-cursor-dpms.html

  * igt@kms_cursor_crc@pipe-d-cursor-max-size-offscreen:
    - shard-tglb:         NOTRUN -> [SKIP][46] ([i915#3359])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-tglb6/igt@kms_cursor_crc@pipe-d-cursor-max-size-offscreen.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
    - shard-skl:          [PASS][47] -> [FAIL][48] ([i915#2346] / [i915#533])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-skl7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-skl7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@flip-vs-cursor-legacy:
    - shard-skl:          [PASS][49] -> [FAIL][50] ([i915#2346]) +1 similar issue
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-skl3/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-skl10/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html

  * igt@kms_flip@2x-flip-vs-panning:
    - shard-iclb:         NOTRUN -> [SKIP][51] ([fdo#109274])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-iclb1/igt@kms_flip@2x-flip-vs-panning.html

  * igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a2:
    - shard-glk:          [PASS][52] -> [FAIL][53] ([i915#79])
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-glk5/igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a2.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-glk6/igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a2.html

  * igt@kms_flip@flip-vs-suspend@c-dp1:
    - shard-kbl:          NOTRUN -> [DMESG-WARN][54] ([i915#180]) +1 similar issue
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-kbl1/igt@kms_flip@flip-vs-suspend@c-dp1.html

  * igt@kms_flip@plain-flip-fb-recreate-interruptible@a-edp1:
    - shard-skl:          [PASS][55] -> [FAIL][56] ([i915#2122])
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-skl7/igt@kms_flip@plain-flip-fb-recreate-interruptible@a-edp1.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-skl7/igt@kms_flip@plain-flip-fb-recreate-interruptible@a-edp1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs:
    - shard-tglb:         NOTRUN -> [SKIP][57] ([i915#2587])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-tglb6/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile:
    - shard-iclb:         [PASS][58] -> [SKIP][59] ([i915#3701])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-iclb4/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-render:
    - shard-tglb:         NOTRUN -> [SKIP][60] ([fdo#111825]) +8 similar issues
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-tglb6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-pwrite:
    - shard-iclb:         NOTRUN -> [SKIP][61] ([fdo#109280]) +4 similar issues
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbc-rgb565-draw-mmap-wc:
    - shard-skl:          NOTRUN -> [SKIP][62] ([fdo#109271]) +2 similar issues
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-skl8/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-tglb:         [PASS][63] -> [INCOMPLETE][64] ([i915#2411] / [i915#456])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-tglb5/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-tglb7/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_hdr@bpc-switch-dpms:
    - shard-skl:          [PASS][65] -> [FAIL][66] ([i915#1188])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-skl9/igt@kms_hdr@bpc-switch-dpms.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-skl3/igt@kms_hdr@bpc-switch-dpms.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
    - shard-apl:          NOTRUN -> [SKIP][67] ([fdo#109271] / [i915#533]) +5 similar issues
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-apl8/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - shard-kbl:          [PASS][68] -> [INCOMPLETE][69] ([i915#794])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-kbl1/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-kbl3/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html

  * igt@kms_plane_alpha_blend@pipe-a-alpha-basic:
    - shard-apl:          NOTRUN -> [FAIL][70] ([fdo#108145] / [i915#265]) +2 similar issues
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-apl1/igt@kms_plane_alpha_blend@pipe-a-alpha-basic.html

  * igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb:
    - shard-apl:          NOTRUN -> [FAIL][71] ([i915#265])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-apl1/igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb.html

  * igt@kms_plane_lowres@pipe-a-tiling-none:
    - shard-tglb:         NOTRUN -> [SKIP][72] ([i915#3536])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-tglb6/igt@kms_plane_lowres@pipe-a-tiling-none.html

  * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-4:
    - shard-tglb:         NOTRUN -> [SKIP][73] ([i915#2920])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-tglb6/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-4.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4:
    - shard-apl:          NOTRUN -> [SKIP][74] ([fdo#109271] / [i915#658]) +5 similar issues
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-apl8/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-3:
    - shard-kbl:          NOTRUN -> [SKIP][75] ([fdo#109271] / [i915#658]) +1 similar issue
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-kbl2/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-3.html

  * igt@kms_psr@psr2_dpms:
    - shard-tglb:         NOTRUN -> [FAIL][76] ([i915#132] / [i915#3467]) +1 similar issue
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-tglb2/igt@kms_psr@psr2_dpms.html
    - shard-iclb:         NOTRUN -> [SKIP][77] ([fdo#109441])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-iclb1/igt@kms_psr@psr2_dpms.html

  * igt@kms_psr@psr2_primary_mmap_gtt:
    - shard-iclb:         [PASS][78] -> [SKIP][79] ([fdo#109441])
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-iclb2/igt@kms_psr@psr2_primary_mmap_gtt.html
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-iclb6/igt@kms_psr@psr2_primary_mmap_gtt.html

  * igt@kms_universal_plane@disable-primary-vs-flip-pipe-d:
    - shard-kbl:          NOTRUN -> [SKIP][80] ([fdo#109271]) +87 similar issues
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-kbl3/igt@kms_universal_plane@disable-primary-vs-flip-pipe-d.html

  * igt@kms_writeback@writeback-check-output:
    - shard-kbl:          NOTRUN -> [SKIP][81] ([fdo#109271] / [i915#2437])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-kbl3/igt@kms_writeback@writeback-check-output.html

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

  * igt@perf@polling-parameterized:
    - shard-apl:          [PASS][83] -> [FAIL][84] ([i915#1542])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-apl1/igt@perf@polling-parameterized.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-apl7/igt@perf@polling-parameterized.html

  * igt@perf@polling-small-buf:
    - shard-skl:          [PASS][85] -> [FAIL][86] ([i915#1722])
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-skl3/igt@perf@polling-small-buf.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-skl10/igt@perf@polling-small-buf.html

  * igt@prime_nv_api@i915_nv_import_vs_close:
    - shard-tglb:         NOTRUN -> [SKIP][87] ([fdo#109291])
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-tglb2/igt@prime_nv_api@i915_nv_import_vs_close.html
    - shard-iclb:         NOTRUN -> [SKIP][88] ([fdo#109291])
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-iclb1/igt@prime_nv_api@i915_nv_import_vs_close.html

  * igt@prime_nv_api@i915_nv_reimport_twice_check_flink_name:
    - shard-apl:          NOTRUN -> [SKIP][89] ([fdo#109271]) +268 similar issues
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-apl6/igt@prime_nv_api@i915_nv_reimport_twice_check_flink_name.html

  * igt@sysfs_clients@fair-1:
    - shard-apl:          NOTRUN -> [SKIP][90] ([fdo#109271] / [i915#2994]) +3 similar issues
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-apl3/igt@sysfs_clients@fair-1.html

  
#### Possible fixes ####

  * igt@feature_discovery@psr2:
    - shard-iclb:         [SKIP][91] ([i915#658]) -> [PASS][92]
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-iclb5/igt@feature_discovery@psr2.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-iclb2/igt@feature_discovery@psr2.html

  * igt@gem_eio@in-flight-contexts-immediate:
    - shard-tglb:         [TIMEOUT][93] ([i915#3063]) -> [PASS][94]
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-tglb8/igt@gem_eio@in-flight-contexts-immediate.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-tglb2/igt@gem_eio@in-flight-contexts-immediate.html

  * igt@gem_eio@in-flight-suspend:
    - shard-glk:          [DMESG-WARN][95] -> [PASS][96]
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-glk8/igt@gem_eio@in-flight-suspend.html
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-glk1/igt@gem_eio@in-flight-suspend.html

  * igt@gem_exec_fair@basic-none-share@rcs0:
    - shard-apl:          [SKIP][97] ([fdo#109271]) -> [PASS][98]
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-apl2/igt@gem_exec_fair@basic-none-share@rcs0.html
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-apl7/igt@gem_exec_fair@basic-none-share@rcs0.html

  * igt@gem_exec_fair@basic-none@vcs0:
    - shard-apl:          [FAIL][99] ([i915#2842]) -> [PASS][100]
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-apl7/igt@gem_exec_fair@basic-none@vcs0.html
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-apl2/igt@gem_exec_fair@basic-none@vcs0.html

  * igt@gem_exec_fair@basic-pace@bcs0:
    - shard-tglb:         [FAIL][101] ([i915#2842]) -> [PASS][102] +1 similar issue
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-tglb1/igt@gem_exec_fair@basic-pace@bcs0.html
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-tglb3/igt@gem_exec_fair@basic-pace@bcs0.html

  * igt@gem_exec_fair@basic-pace@rcs0:
    - shard-kbl:          [FAIL][103] ([i915#2842]) -> [PASS][104] +2 similar issues
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-kbl1/igt@gem_exec_fair@basic-pace@rcs0.html
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-kbl6/igt@gem_exec_fair@basic-pace@rcs0.html

  * igt@gem_exec_fair@basic-pace@vecs0:
    - shard-iclb:         [FAIL][105] ([i915#2842]) -> [PASS][106] +1 similar issue
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-iclb4/igt@gem_exec_fair@basic-pace@vecs0.html
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-iclb8/igt@gem_exec_fair@basic-pace@vecs0.html

  * igt@i915_query@query-regions-garbage-items:
    - shard-skl:          [DMESG-WARN][107] ([i915#1982]) -> [PASS][108] +1 similar issue
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-skl8/igt@i915_query@query-regions-garbage-items.html
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-skl2/igt@i915_query@query-regions-garbage-items.html

  * igt@i915_suspend@forcewake:
    - shard-tglb:         [INCOMPLETE][109] ([i915#2411] / [i915#456]) -> [PASS][110]
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-tglb7/igt@i915_suspend@forcewake.html
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-tglb6/igt@i915_suspend@forcewake.html

  * igt@kms_big_fb@x-tiled-32bpp-rotate-180:
    - shard-glk:          [DMESG-WARN][111] ([i915#118] / [i915#95]) -> [PASS][112] +1 similar issue
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-glk8/igt@kms_big_fb@x-tiled-32bpp-rotate-180.html
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-glk1/igt@kms_big_fb@x-tiled-32bpp-rotate-180.html

  * igt@kms_flip@2x-plain-flip-ts-check@ac-hdmi-a1-hdmi-a2:
    - shard-glk:          [FAIL][113] ([i915#2122]) -> [PASS][114]
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-glk1/igt@kms_flip@2x-plain-flip-ts-check@ac-hdmi-a1-hdmi-a2.html
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-glk3/igt@kms_flip@2x-plain-flip-ts-check@ac-hdmi-a1-hdmi-a2.html

  * igt@kms_flip@flip-vs-expired-vblank@a-edp1:
    - shard-skl:          [FAIL][115] ([i915#79]) -> [PASS][116]
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-skl1/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-skl1/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html

  * igt@kms_flip@plain-flip-ts-check-interruptible@b-edp1:
    - shard-skl:          [FAIL][117] ([i915#2122]) -> [PASS][118]
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-skl1/igt@kms_flip@plain-flip-ts-check-interruptible@b-edp1.html
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-skl8/igt@kms_flip@plain-flip-ts-check-interruptible@b-edp1.html

  * igt@kms_hdr@bpc-switch-suspend:
    - shard-skl:          [FAIL][119] ([i915#1188]) -> [PASS][120]
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-skl4/igt@kms_hdr@bpc-switch-suspend.html
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-skl3/igt@kms_hdr@bpc-switch-suspend.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
    - shard-apl:          [DMESG-WARN][121] ([i915#180]) -> [PASS][122]
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-apl2/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-apl6/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html

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

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
    - shard-skl:          [FAIL][125] ([fdo#108145] / [i915#265]) -> [PASS][126] +1 similar issue
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-skl7/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-skl1/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html

  * igt@kms_psr2_su@frontbuffer:
    - shard-iclb:         [SKIP][127] ([fdo#109642] / [fdo#111068] / [i915#658]) -> [PASS][128]
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-iclb5/igt@kms_psr2_su@frontbuffer.html
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-iclb2/igt@kms_psr2_su@frontbuffer.html

  * igt@kms_psr@psr2_suspend:
    - shard-iclb:         [SKIP][129] ([fdo#109441]) -> [PASS][130]
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-iclb4/igt@kms_psr@psr2_suspend.html
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-iclb2/igt@kms_psr@psr2_suspend.html

  
#### Warnings ####

  * igt@gem_exec_fair@basic-none@vcs0:
    - shard-iclb:         [FAIL][131] -> [FAIL][132] ([i915#2842])
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-iclb8/igt@gem_exec_fair@basic-none@vcs0.html
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-iclb5/igt@gem_exec_fair@basic-none@vcs0.html

  * igt@i915_pm_rc6_residency@rc6-idle:
    - shard-iclb:         [FAIL][133] ([i915#2680]) -> [WARN][134] ([i915#1804] / [i915#2684])
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-iclb3/igt@i915_pm_rc6_residency@rc6-idle.html
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-iclb3/igt@i915_pm_rc6_residency@rc6-idle.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - shard-skl:          [FAIL][135] ([i915#3743]) -> [FAIL][136] ([i915#3722])
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-skl5/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-skl5/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - shard-skl:          [FAIL][137] ([i915#3722]) -> [FAIL][138] ([i915#3743])
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-skl2/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-skl4/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html

  * igt@kms_draw_crc@draw-method-rgb565-blt-ytiled:
    - shard-glk:          [DMESG-FAIL][139] ([i915#118] / [i915#1888] / [i915#95]) -> [FAIL][140] ([i915#1888] / [i915#3451])
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-glk6/igt@kms_draw_crc@draw-method-rgb565-blt-ytiled.html
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21225/shard-glk2/igt@kms_draw_crc@draw-method-rgb565-blt-ytiled.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-kbl:          [INCOMPLETE][141] ([i915#155] / [i915#636]) -> [INCOMPLETE][142] ([i915#155] / [i915#180] / [i915#636])
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10680/shard-kbl4/igt@kms_fbcon_fbt@fbc-suspend.html
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Pa

== Logs ==

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

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

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

* [Intel-gfx] [PATCH v3] drm/i915/display: Wait PSR2 get out of deep sleep to update pipe
  2021-10-01  1:12 [Intel-gfx] [PATCH v2] drm/i915/display: Wait PSR2 get out of deep sleep to update pipe José Roberto de Souza
                   ` (3 preceding siblings ...)
  2021-10-02  7:02 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
@ 2021-10-05 23:18 ` José Roberto de Souza
  2021-10-06  8:50   ` Gwan-gyeong Mun
  2021-10-06  1:40 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Wait PSR2 get out of deep sleep to update pipe (rev3) Patchwork
  2021-10-06  6:49 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
  6 siblings, 1 reply; 16+ messages in thread
From: José Roberto de Souza @ 2021-10-05 23:18 UTC (permalink / raw)
  To: intel-gfx
  Cc: Ville Syrjälä, Gwan-gyeong Mun, José Roberto de Souza

Alderlake-P was getting 'max time under evasion' messages when PSR2
is enabled, this is due PIPE_SCANLINE/PIPEDSL returning 0 over a
period of time longer than VBLANK_EVASION_TIME_US.

For PSR1 we had the same issue so intel_psr_wait_for_idle() was
implemented to wait for PSR1 to get into idle state but nothing was
done for PSR2.

For PSR2 we can't only wait for idle state as PSR2 tends to keep
into sleep state(ready to send selective updates).
Waiting for any state below deep sleep proved to be effective in
avoiding the evasion messages and also not wasted a lot of time.

v2:
- dropping the additional wait_for loops, only the _wait_for_atomic()
is necessary
- waiting for states below EDP_PSR2_STATUS_STATE_DEEP_SLEEP

v3:
- dropping intel_wait_for_condition_atomic() function

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
 .../drm/i915/display/intel_display_debugfs.c  |  3 +-
 drivers/gpu/drm/i915/display/intel_psr.c      | 52 +++++++++++--------
 drivers/gpu/drm/i915/i915_reg.h               | 10 ++--
 3 files changed, 36 insertions(+), 29 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index 309d74fd86ce1..d7dd3a57c6170 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -303,8 +303,7 @@ psr_source_status(struct intel_dp *intel_dp, struct seq_file *m)
 		};
 		val = intel_de_read(dev_priv,
 				    EDP_PSR2_STATUS(intel_dp->psr.transcoder));
-		status_val = (val & EDP_PSR2_STATUS_STATE_MASK) >>
-			      EDP_PSR2_STATUS_STATE_SHIFT;
+		status_val = REG_FIELD_GET(EDP_PSR2_STATUS_STATE_MASK, val);
 		if (status_val < ARRAY_SIZE(live_status))
 			status = live_status[status_val];
 	} else {
diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index 7a205fd5023bb..ade514fc0a24d 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -1809,15 +1809,21 @@ void intel_psr_post_plane_update(const struct intel_atomic_state *state)
 		_intel_psr_post_plane_update(state, crtc_state);
 }
 
-/**
- * psr_wait_for_idle - wait for PSR1 to idle
- * @intel_dp: Intel DP
- * @out_value: PSR status in case of failure
- *
- * Returns: 0 on success or -ETIMEOUT if PSR status does not idle.
- *
- */
-static int psr_wait_for_idle(struct intel_dp *intel_dp, u32 *out_value)
+static int _psr2_ready_for_pipe_update_locked(struct intel_dp *intel_dp)
+{
+	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
+
+	/*
+	 * Any state lower than EDP_PSR2_STATUS_STATE_DEEP_SLEEP is enough.
+	 * As all higher states has bit 4 of PSR2 state set we can just wait for
+	 * EDP_PSR2_STATUS_STATE_DEEP_SLEEP to be cleared.
+	 */
+	return intel_de_wait_for_clear(dev_priv,
+				       EDP_PSR2_STATUS(intel_dp->psr.transcoder),
+				       EDP_PSR2_STATUS_STATE_DEEP_SLEEP, 50);
+}
+
+static int _psr1_ready_for_pipe_update_locked(struct intel_dp *intel_dp)
 {
 	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
 
@@ -1827,15 +1833,13 @@ static int psr_wait_for_idle(struct intel_dp *intel_dp, u32 *out_value)
 	 * exit training time + 1.5 ms of aux channel handshake. 50 ms is
 	 * defensive enough to cover everything.
 	 */
-	return __intel_wait_for_register(&dev_priv->uncore,
-					 EDP_PSR_STATUS(intel_dp->psr.transcoder),
-					 EDP_PSR_STATUS_STATE_MASK,
-					 EDP_PSR_STATUS_STATE_IDLE, 2, 50,
-					 out_value);
+	return intel_de_wait_for_clear(dev_priv,
+				       EDP_PSR_STATUS(intel_dp->psr.transcoder),
+				       EDP_PSR_STATUS_STATE_MASK, 50);
 }
 
 /**
- * intel_psr_wait_for_idle - wait for PSR1 to idle
+ * intel_psr_wait_for_idle - wait for PSR be ready for a pipe update
  * @new_crtc_state: new CRTC state
  *
  * This function is expected to be called from pipe_update_start() where it is
@@ -1852,19 +1856,23 @@ void intel_psr_wait_for_idle(const struct intel_crtc_state *new_crtc_state)
 	for_each_intel_encoder_mask_with_psr(&dev_priv->drm, encoder,
 					     new_crtc_state->uapi.encoder_mask) {
 		struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
-		u32 psr_status;
+		int ret;
 
 		mutex_lock(&intel_dp->psr.lock);
-		if (!intel_dp->psr.enabled || intel_dp->psr.psr2_enabled) {
+
+		if (!intel_dp->psr.enabled) {
 			mutex_unlock(&intel_dp->psr.lock);
 			continue;
 		}
 
-		/* when the PSR1 is enabled */
-		if (psr_wait_for_idle(intel_dp, &psr_status))
-			drm_err(&dev_priv->drm,
-				"PSR idle timed out 0x%x, atomic update may fail\n",
-				psr_status);
+		if (intel_dp->psr.psr2_enabled)
+			ret = _psr2_ready_for_pipe_update_locked(intel_dp);
+		else
+			ret = _psr1_ready_for_pipe_update_locked(intel_dp);
+
+		if (ret)
+			drm_err(&dev_priv->drm, "PSR wait timed out, atomic update may fail\n");
+
 		mutex_unlock(&intel_dp->psr.lock);
 	}
 }
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index a897f4abea0c3..e101579d3a4d8 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -4700,11 +4700,11 @@ enum {
 #define  PSR_EVENT_LPSP_MODE_EXIT		(1 << 1)
 #define  PSR_EVENT_PSR_DISABLE			(1 << 0)
 
-#define _PSR2_STATUS_A			0x60940
-#define _PSR2_STATUS_EDP		0x6f940
-#define EDP_PSR2_STATUS(tran)		_MMIO_TRANS2(tran, _PSR2_STATUS_A)
-#define EDP_PSR2_STATUS_STATE_MASK     (0xf << 28)
-#define EDP_PSR2_STATUS_STATE_SHIFT    28
+#define _PSR2_STATUS_A				0x60940
+#define _PSR2_STATUS_EDP			0x6f940
+#define EDP_PSR2_STATUS(tran)			_MMIO_TRANS2(tran, _PSR2_STATUS_A)
+#define EDP_PSR2_STATUS_STATE_MASK		REG_GENMASK(31, 28)
+#define EDP_PSR2_STATUS_STATE_DEEP_SLEEP	REG_FIELD_PREP(EDP_PSR2_STATUS_STATE_MASK, 0x8)
 
 #define _PSR2_SU_STATUS_A		0x60914
 #define _PSR2_SU_STATUS_EDP		0x6f914
-- 
2.33.0


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

* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Wait PSR2 get out of deep sleep to update pipe (rev3)
  2021-10-01  1:12 [Intel-gfx] [PATCH v2] drm/i915/display: Wait PSR2 get out of deep sleep to update pipe José Roberto de Souza
                   ` (4 preceding siblings ...)
  2021-10-05 23:18 ` [Intel-gfx] [PATCH v3] drm/i915/display: Wait PSR2 get out of deep sleep to update pipe José Roberto de Souza
@ 2021-10-06  1:40 ` Patchwork
  2021-10-06  6:49 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
  6 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2021-10-06  1:40 UTC (permalink / raw)
  To: José Roberto de Souza; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915/display: Wait PSR2 get out of deep sleep to update pipe (rev3)
URL   : https://patchwork.freedesktop.org/series/95309/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_10685 -> Patchwork_21259
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_basic@cs-gfx:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][1] ([fdo#109271]) +13 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/fi-kbl-soraka/igt@amdgpu/amd_basic@cs-gfx.html

  * igt@gem_huc_copy@huc-copy:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][2] ([fdo#109271] / [i915#2190])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/fi-kbl-soraka/igt@gem_huc_copy@huc-copy.html

  * igt@i915_selftest@live@gt_pm:
    - fi-kbl-soraka:      NOTRUN -> [DMESG-FAIL][3] ([i915#1886] / [i915#2291])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/fi-kbl-soraka/igt@i915_selftest@live@gt_pm.html

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][4] ([fdo#109271] / [fdo#111827]) +8 similar issues
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/fi-kbl-soraka/igt@kms_chamelium@common-hpd-after-suspend.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][5] ([fdo#109271] / [i915#533])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/fi-kbl-soraka/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html

  
#### Possible fixes ####

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

  * igt@gem_exec_suspend@basic-s3:
    - fi-tgl-u2:          [FAIL][8] ([i915#1888]) -> [PASS][9]
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/fi-tgl-u2/igt@gem_exec_suspend@basic-s3.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/fi-tgl-u2/igt@gem_exec_suspend@basic-s3.html

  * igt@kms_flip@basic-flip-vs-modeset@c-dp1:
    - fi-cfl-8109u:       [FAIL][10] ([i915#4165]) -> [PASS][11] +1 similar issue
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/fi-cfl-8109u/igt@kms_flip@basic-flip-vs-modeset@c-dp1.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/fi-cfl-8109u/igt@kms_flip@basic-flip-vs-modeset@c-dp1.html

  * igt@kms_frontbuffer_tracking@basic:
    - fi-cfl-8109u:       [FAIL][12] ([i915#2546]) -> [PASS][13]
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/fi-cfl-8109u/igt@kms_frontbuffer_tracking@basic.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/fi-cfl-8109u/igt@kms_frontbuffer_tracking@basic.html

  
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#155]: https://gitlab.freedesktop.org/drm/intel/issues/155
  [i915#1886]: https://gitlab.freedesktop.org/drm/intel/issues/1886
  [i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2291]: https://gitlab.freedesktop.org/drm/intel/issues/2291
  [i915#2546]: https://gitlab.freedesktop.org/drm/intel/issues/2546
  [i915#4165]: https://gitlab.freedesktop.org/drm/intel/issues/4165
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533


Participating hosts (41 -> 34)
------------------------------

  Missing    (7): fi-ilk-m540 bat-dg1-6 fi-hsw-4200u fi-bsw-cyan bat-adlp-4 fi-ctg-p8600 bat-jsl-1 


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

  * Linux: CI_DRM_10685 -> Patchwork_21259

  CI-20190529: 20190529
  CI_DRM_10685: 36c3656c997b07f326d6b967efb1b75e01713773 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6232: effad6af5678be711a2c3e58e182319de784de54 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_21259: ed22a0b168e23011e41b5ed4a46a81053813b464 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

ed22a0b168e2 drm/i915/display: Wait PSR2 get out of deep sleep to update pipe

== Logs ==

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

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

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

* [Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/display: Wait PSR2 get out of deep sleep to update pipe (rev3)
  2021-10-01  1:12 [Intel-gfx] [PATCH v2] drm/i915/display: Wait PSR2 get out of deep sleep to update pipe José Roberto de Souza
                   ` (5 preceding siblings ...)
  2021-10-06  1:40 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Wait PSR2 get out of deep sleep to update pipe (rev3) Patchwork
@ 2021-10-06  6:49 ` Patchwork
  2021-10-26 17:35   ` Souza, Jose
  6 siblings, 1 reply; 16+ messages in thread
From: Patchwork @ 2021-10-06  6:49 UTC (permalink / raw)
  To: José Roberto de Souza; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915/display: Wait PSR2 get out of deep sleep to update pipe (rev3)
URL   : https://patchwork.freedesktop.org/series/95309/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_10685_full -> Patchwork_21259_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_21259_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_21259_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_21259_full:

### IGT changes ###

#### Possible regressions ####

  * igt@i915_pm_dc@dc9-dpms:
    - shard-iclb:         [PASS][1] -> [FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-iclb6/igt@i915_pm_dc@dc9-dpms.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-iclb8/igt@i915_pm_dc@dc9-dpms.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@feature_discovery@display-2x:
    - shard-tglb:         NOTRUN -> [SKIP][3] ([i915#1839])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb6/igt@feature_discovery@display-2x.html

  * igt@gem_ctx_persistence@legacy-engines-mixed-process:
    - shard-snb:          NOTRUN -> [SKIP][4] ([fdo#109271] / [i915#1099]) +1 similar issue
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-snb6/igt@gem_ctx_persistence@legacy-engines-mixed-process.html

  * igt@gem_eio@unwedge-stress:
    - shard-iclb:         [PASS][5] -> [TIMEOUT][6] ([i915#2369] / [i915#2481] / [i915#3070])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-iclb6/igt@gem_eio@unwedge-stress.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-iclb3/igt@gem_eio@unwedge-stress.html

  * igt@gem_exec_fair@basic-deadline:
    - shard-apl:          NOTRUN -> [FAIL][7] ([i915#2846])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-apl8/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-flow@rcs0:
    - shard-tglb:         [PASS][8] -> [FAIL][9] ([i915#2842])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-tglb8/igt@gem_exec_fair@basic-flow@rcs0.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb1/igt@gem_exec_fair@basic-flow@rcs0.html

  * igt@gem_exec_fair@basic-none-share@rcs0:
    - shard-iclb:         [PASS][10] -> [FAIL][11] ([i915#2842])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-iclb6/igt@gem_exec_fair@basic-none-share@rcs0.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-iclb3/igt@gem_exec_fair@basic-none-share@rcs0.html

  * igt@gem_exec_fair@basic-none@vcs0:
    - shard-apl:          [PASS][12] -> [FAIL][13] ([i915#2842])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-apl2/igt@gem_exec_fair@basic-none@vcs0.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-apl3/igt@gem_exec_fair@basic-none@vcs0.html

  * igt@gem_exec_fair@basic-none@vcs1:
    - shard-kbl:          [PASS][14] -> [FAIL][15] ([i915#2842])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-kbl3/igt@gem_exec_fair@basic-none@vcs1.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-kbl3/igt@gem_exec_fair@basic-none@vcs1.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-tglb:         NOTRUN -> [FAIL][16] ([i915#2842])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb1/igt@gem_exec_fair@basic-pace-share@rcs0.html

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

  * igt@gem_workarounds@suspend-resume-context:
    - shard-apl:          [PASS][18] -> [DMESG-WARN][19] ([i915#180]) +1 similar issue
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-apl3/igt@gem_workarounds@suspend-resume-context.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-apl3/igt@gem_workarounds@suspend-resume-context.html

  * igt@gem_workarounds@suspend-resume-fd:
    - shard-kbl:          NOTRUN -> [DMESG-WARN][20] ([i915#180])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-kbl1/igt@gem_workarounds@suspend-resume-fd.html

  * igt@gen3_render_tiledy_blits:
    - shard-tglb:         NOTRUN -> [SKIP][21] ([fdo#109289]) +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb6/igt@gen3_render_tiledy_blits.html

  * igt@gen9_exec_parse@bb-secure:
    - shard-tglb:         NOTRUN -> [SKIP][22] ([i915#2856]) +1 similar issue
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb1/igt@gen9_exec_parse@bb-secure.html

  * igt@i915_pm_lpsp@screens-disabled:
    - shard-tglb:         NOTRUN -> [SKIP][23] ([i915#1902])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb1/igt@i915_pm_lpsp@screens-disabled.html

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

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

  * igt@i915_selftest@mock@requests:
    - shard-skl:          [PASS][26] -> [INCOMPLETE][27] ([i915#198])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-skl3/igt@i915_selftest@mock@requests.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-skl1/igt@i915_selftest@mock@requests.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-apl:          NOTRUN -> [SKIP][28] ([fdo#109271] / [i915#3777]) +1 similar issue
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-apl8/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_big_fb@yf-tiled-addfb:
    - shard-tglb:         NOTRUN -> [SKIP][29] ([fdo#111615]) +2 similar issues
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb1/igt@kms_big_fb@yf-tiled-addfb.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - shard-kbl:          NOTRUN -> [SKIP][30] ([fdo#109271] / [i915#3777])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-kbl7/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0:
    - shard-apl:          NOTRUN -> [SKIP][31] ([fdo#109271]) +208 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-apl7/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0.html

  * igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_mc_ccs:
    - shard-apl:          NOTRUN -> [SKIP][32] ([fdo#109271] / [i915#3886]) +10 similar issues
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-apl8/igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc:
    - shard-kbl:          NOTRUN -> [SKIP][33] ([fdo#109271] / [i915#3886]) +10 similar issues
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-kbl7/igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_gen12_mc_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][34] ([i915#3689] / [i915#3886]) +4 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb1/igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-d-bad-pixel-format-y_tiled_ccs:
    - shard-snb:          NOTRUN -> [SKIP][35] ([fdo#109271]) +144 similar issues
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-snb6/igt@kms_ccs@pipe-d-bad-pixel-format-y_tiled_ccs.html

  * igt@kms_ccs@pipe-d-missing-ccs-buffer-yf_tiled_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][36] ([i915#3689]) +3 similar issues
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb1/igt@kms_ccs@pipe-d-missing-ccs-buffer-yf_tiled_ccs.html

  * igt@kms_cdclk@plane-scaling:
    - shard-tglb:         NOTRUN -> [SKIP][37] ([i915#3742])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb1/igt@kms_cdclk@plane-scaling.html

  * igt@kms_chamelium@hdmi-hpd-enable-disable-mode:
    - shard-kbl:          NOTRUN -> [SKIP][38] ([fdo#109271] / [fdo#111827]) +13 similar issues
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-kbl1/igt@kms_chamelium@hdmi-hpd-enable-disable-mode.html

  * igt@kms_color@pipe-c-ctm-0-5:
    - shard-skl:          [PASS][39] -> [DMESG-WARN][40] ([i915#1982])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-skl7/igt@kms_color@pipe-c-ctm-0-5.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-skl9/igt@kms_color@pipe-c-ctm-0-5.html

  * igt@kms_color_chamelium@pipe-b-ctm-max:
    - shard-snb:          NOTRUN -> [SKIP][41] ([fdo#109271] / [fdo#111827]) +6 similar issues
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-snb5/igt@kms_color_chamelium@pipe-b-ctm-max.html

  * igt@kms_color_chamelium@pipe-c-ctm-max:
    - shard-apl:          NOTRUN -> [SKIP][42] ([fdo#109271] / [fdo#111827]) +18 similar issues
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-apl7/igt@kms_color_chamelium@pipe-c-ctm-max.html

  * igt@kms_color_chamelium@pipe-d-ctm-red-to-blue:
    - shard-tglb:         NOTRUN -> [SKIP][43] ([fdo#109284] / [fdo#111827]) +6 similar issues
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb1/igt@kms_color_chamelium@pipe-d-ctm-red-to-blue.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-apl:          NOTRUN -> [TIMEOUT][44] ([i915#1319])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-apl2/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_content_protection@srm:
    - shard-kbl:          NOTRUN -> [TIMEOUT][45] ([i915#1319])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-kbl1/igt@kms_content_protection@srm.html

  * igt@kms_cursor_crc@pipe-a-cursor-suspend:
    - shard-tglb:         [PASS][46] -> [INCOMPLETE][47] ([i915#2828] / [i915#456])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-tglb5/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb7/igt@kms_cursor_crc@pipe-a-cursor-suspend.html

  * igt@kms_cursor_crc@pipe-d-cursor-32x10-offscreen:
    - shard-tglb:         NOTRUN -> [SKIP][48] ([i915#3359]) +3 similar issues
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb6/igt@kms_cursor_crc@pipe-d-cursor-32x10-offscreen.html

  * igt@kms_cursor_crc@pipe-d-cursor-32x32-rapid-movement:
    - shard-tglb:         NOTRUN -> [SKIP][49] ([i915#3319])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb6/igt@kms_cursor_crc@pipe-d-cursor-32x32-rapid-movement.html

  * igt@kms_cursor_crc@pipe-d-cursor-512x170-offscreen:
    - shard-tglb:         NOTRUN -> [SKIP][50] ([fdo#109279] / [i915#3359]) +1 similar issue
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb1/igt@kms_cursor_crc@pipe-d-cursor-512x170-offscreen.html

  * igt@kms_cursor_edge_walk@pipe-d-64x64-right-edge:
    - shard-skl:          NOTRUN -> [SKIP][51] ([fdo#109271]) +4 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-skl2/igt@kms_cursor_edge_walk@pipe-d-64x64-right-edge.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
    - shard-tglb:         NOTRUN -> [SKIP][52] ([i915#4103])
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html

  * igt@kms_cursor_legacy@pipe-d-single-bo:
    - shard-apl:          NOTRUN -> [SKIP][53] ([fdo#109271] / [i915#533])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-apl8/igt@kms_cursor_legacy@pipe-d-single-bo.html

  * igt@kms_flip@flip-vs-suspend@c-dp1:
    - shard-kbl:          [PASS][54] -> [DMESG-WARN][55] ([i915#180]) +6 similar issues
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-kbl7/igt@kms_flip@flip-vs-suspend@c-dp1.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-kbl6/igt@kms_flip@flip-vs-suspend@c-dp1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs:
    - shard-apl:          NOTRUN -> [SKIP][56] ([fdo#109271] / [i915#2672])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-apl8/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile:
    - shard-iclb:         [PASS][57] -> [SKIP][58] ([i915#3701]) +1 similar issue
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-iclb7/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs:
    - shard-kbl:          NOTRUN -> [SKIP][59] ([fdo#109271] / [i915#2672])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-kbl1/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc:
    - shard-glk:          [PASS][60] -> [FAIL][61] ([i915#2546])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-glk9/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-glk1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-move:
    - shard-tglb:         NOTRUN -> [SKIP][62] ([fdo#111825]) +22 similar issues
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-move.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-tglb:         [PASS][63] -> [INCOMPLETE][64] ([i915#2411] / [i915#456])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-tglb1/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb7/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-wc:
    - shard-kbl:          NOTRUN -> [SKIP][65] ([fdo#109271]) +147 similar issues
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-kbl7/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-wc.html

  * igt@kms_hdr@bpc-switch-dpms:
    - shard-skl:          [PASS][66] -> [FAIL][67] ([i915#1188]) +1 similar issue
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-skl9/igt@kms_hdr@bpc-switch-dpms.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-skl5/igt@kms_hdr@bpc-switch-dpms.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
    - shard-apl:          NOTRUN -> [DMESG-WARN][68] ([i915#180])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-apl2/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html

  * igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
    - shard-apl:          NOTRUN -> [FAIL][69] ([fdo#108145] / [i915#265]) +2 similar issues
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-apl7/igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb.html

  * igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb:
    - shard-apl:          NOTRUN -> [FAIL][70] ([i915#265])
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-apl8/igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb.html

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
    - shard-skl:          [PASS][71] -> [FAIL][72] ([fdo#108145] / [i915#265])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-skl4/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-skl8/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html

  * igt@kms_plane_lowres@pipe-a-tiling-none:
    - shard-tglb:         NOTRUN -> [SKIP][73] ([i915#3536]) +1 similar issue
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb6/igt@kms_plane_lowres@pipe-a-tiling-none.html

  * igt@kms_psr2_sf@cursor-plane-update-sf:
    - shard-tglb:         NOTRUN -> [SKIP][74] ([i915#2920]) +1 similar issue
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb1/igt@kms_psr2_sf@cursor-plane-update-sf.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4:
    - shard-apl:          NOTRUN -> [SKIP][75] ([fdo#109271] / [i915#658]) +4 similar issues
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-apl7/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4.html

  * igt@kms_psr2_sf@plane-move-sf-dmg-area-3:
    - shard-kbl:          NOTRUN -> [SKIP][76] ([fdo#109271] / [i915#658]) +4 similar issues
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-kbl7/igt@kms_psr2_sf@plane-move-sf-dmg-area-3.html

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

  * igt@kms_psr@psr2_cursor_mmap_gtt:
    - shard-tglb:         NOTRUN -> [FAIL][79] ([i915#132] / [i915#3467])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb1/igt@kms_psr@psr2_cursor_mmap_gtt.html

  * igt@kms_psr@psr2_sprite_blt:
    - shard-iclb:         [PASS][80] -> [SKIP][81] ([fdo#109441]) +1 similar issue
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-iclb2/igt@kms_psr@psr2_sprite_blt.html
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-iclb3/igt@kms_psr@psr2_sprite_blt.html

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
    - shard-kbl:          [PASS][82] -> [DMESG-WARN][83] ([i915#180] / [i915#295])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-kbl2/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-kbl6/igt@kms_vblank@pipe-a-ts-continuation-suspend.html

  * igt@kms_writeback@writeback-fb-id:
    - shard-apl:          NOTRUN -> [SKIP][84] ([fdo#109271] / [i915#2437])
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-apl7/igt@kms_writeback@writeback-fb-id.html

  * igt@nouveau_crc@pipe-b-ctx-flip-detection:
    - shard-tglb:         NOTRUN -> [SKIP][85] ([i915#2530]) +2 similar issues
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb1/igt@nouveau_crc@pipe-b-ctx-flip-detection.html

  * igt@prime_nv_pcopy@test1_macro:
    - shard-tglb:         NOTRUN -> [SKIP][86] ([fdo#109291])
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb1/igt@prime_nv_pcopy@test1_macro.html

  * igt@prime_vgem@coherency-gtt:
    - shard-tglb:         NOTRUN -> [SKIP][87] ([fdo#111656])
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb1/igt@prime_vgem@coherency-gtt.html

  * igt@prime_vgem@fence-flip-hang:
    - shard-tglb:         NOTRUN -> [SKIP][88] ([fdo#109295])
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb6/igt@prime_vgem@fence-flip-hang.html

  * igt@sysfs_clients@create:
    - shard-apl:          NOTRUN -> [SKIP][89] ([fdo#109271] / [i915#2994]) +1 similar issue
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-apl8/igt@sysfs_clients@create.html

  * igt@sysfs_clients@fair-0:
    - shard-tglb:         NOTRUN -> [SKIP][90] ([i915#2994]) +1 similar issue
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb6/igt@sysfs_clients@fair-0.html

  * igt@sysfs_clients@split-50:
    - shard-kbl:          NOTRUN -> [SKIP][91] ([fdo#109271] / [i915#2994]) +2 similar issues
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-kbl7/igt@sysfs_clients@split-50.html

  
#### Possible fixes ####

  * igt@gem_eio@unwedge-stress:
    - shard-tglb:         [TIMEOUT][92] ([i915#2369] / [i915#3063] / [i915#3648]) -> [PASS][93]
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-tglb7/igt@gem_eio@unwedge-stress.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb5/igt@gem_eio@unwedge-stress.html

  * igt@gem_exec_fair@basic-deadline:
    - shard-kbl:          [FAIL][94] ([i915#2846]) -> [PASS][95]
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-kbl4/igt@gem_exec_fair@basic-deadline.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-kbl4/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-none-vip@rcs0:
    - shard-iclb:         [FAIL][96] ([i915#2842]) -> [PASS][97]
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-iclb1/igt@gem_exec_fair@basic-none-vip@rcs0.html
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-iclb7/igt@gem_exec_fair@basic-none-vip@rcs0.html

  * igt@gem_exec_fair@basic-throttle@rcs0:
    - shard-iclb:         [FAIL][98] ([i915#2849]) -> [PASS][99]
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-iclb1/igt@gem_exec_fair@basic-throttle@rcs0.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-iclb4/igt@gem_exec_fair@basic-throttle@rcs0.html

  * igt@gem_exec_whisper@basic-fds-priority:
    - shard-glk:          [DMESG-WARN][100] ([i915#118] / [i915#95]) -> [PASS][101]
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-glk9/igt@gem_exec_whisper@basic-fds-priority.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-glk5/igt@gem_exec_whisper@basic-fds-priority.html

  * igt@i915_pm_rpm@system-suspend-execbuf:
    - shard-tglb:         [INCOMPLETE][102] ([i915#2411] / [i915#456] / [i915#750]) -> [PASS][103]
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-tglb7/igt@i915_pm_rpm@system-suspend-execbuf.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb1/igt@i915_pm_rpm@system-suspend-execbuf.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
    - shard-skl:          [FAIL][104] ([i915#2346] / [i915#533]) -> [PASS][105]
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-skl2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-skl10/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-kbl:          [INCOMPLETE][106] ([i915#155] / [i915#180] / [i915#636]) -> [PASS][107]
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-kbl6/igt@kms_fbcon_fbt@fbc-suspend.html
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-kbl7/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp1:
    - shard-kbl:          [FAIL][108] ([i915#79]) -> [PASS][109]
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-kbl1/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp1.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-kbl2/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp1.html

  * igt@kms_flip@flip-vs-expired-vblank@c-edp1:
    - shard-skl:          [FAIL][110] ([i915#79]) -> [PASS][111]
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-skl7/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-skl6/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html

  * igt@kms_flip@flip-vs-suspend-interruptible@a-dp1:
    - shard-kbl:          [DMESG-WARN][112] ([i915#180]) -> [PASS][113] +5 similar issues
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-kbl4/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-kbl7/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html

  * igt@kms_flip@flip-vs-suspend-interruptible@a-edp1:
    - shard-tglb:         [INCOMPLETE][114] ([i915#2411] / [i915#456]) -> [PASS][115]
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-tglb7/igt@kms_flip@flip-vs-suspend-interruptible@a-edp1.html
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-tglb6/igt@kms_flip@flip-vs-suspend-interruptible@a-edp1.html

  * igt@kms_hdr@bpc-switch-suspend:
    - shard-apl:          [DMESG-WARN][116] ([i915#180]) -> [PASS][117]
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-apl1/igt@kms_hdr@bpc-switch-suspend.html
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-apl7/igt@kms_hdr@bpc-switch-suspend.html

  * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
    - shard-skl:          [FAIL][118] ([fdo#108145] / [i915#265]) -> [PASS][119]
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-skl9/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-skl9/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html

  * igt@kms_prop_blob@blob-multiple:
    - shard-skl:          [DMESG-WARN][120] ([i915#1982]) -> [PASS][121]
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-skl5/igt@kms_prop_blob@blob-multiple.html
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-skl4/igt@kms_prop_blob@blob-multiple.html

  * igt@kms_psr@psr2_primary_mmap_cpu:
    - shard-iclb:         [SKIP][122] ([fdo#109441]) -> [PASS][123] +1 similar issue
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-iclb4/igt@kms_psr@psr2_primary_mmap_cpu.html
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html

  * igt@perf@short-reads:
    - shard-skl:          [FAIL][124] ([i915#51]) -> [PASS][125]
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-skl1/igt@perf@short-reads.html
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-skl7/igt@perf@short-reads.html

  
#### Warnings ####

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-iclb:         [FAIL][126] ([i915#2842]) -> [FAIL][127] ([i915#2851])
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-iclb1/igt@gem_exec_fair@basic-pace-solo@rcs0.html
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-iclb1/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@i915_pm_rc6_residency@rc6-fence:
    - shard-iclb:         [WARN][128] ([i915#2684]) -> [WARN][129] ([i915#1804] / [i915#2684])
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-iclb2/igt@i915_pm_rc6_residency@rc6-fence.html
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-iclb3/igt@i915_pm_rc6_residency@rc6-fence.html

  * igt@kms_psr2_sf@plane-move-sf-dmg-area-3:
    - shard-iclb:         [SKIP][130] ([i915#2920]) -> [SKIP][131] ([i915#658]) +1 similar issue
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-iclb2/igt@kms_psr2_sf@plane-move-sf-dmg-area-3.html
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-iclb6/igt@kms_psr2_sf@plane-move-sf-dmg-area-3.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-5:
    - shard-iclb:         [SKIP][132] ([i915#658]) -> [SKIP][133] ([i915#2920]) +1 similar issue
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-iclb7/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-5.html
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/shard-iclb2/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-5.html

  * igt@runner@aborted:
    - shard-kbl:          ([FAIL][134], [FAIL][135], [FAIL][136], [FAIL][137], [FAIL][138], [FAIL][139], [FAIL][140], [FAIL][141], [FAIL][142]) ([i915#1436] / [i915#180] / [i915#1814] / [i915#3002] / [i915#3363] / [i915#602] / [i915#92]) -> ([FAIL][143], [FAIL][144], [FAIL][145], [FAIL][146], [FAIL][147], [FAIL][148], [FAIL][149], [FAIL][150], [FAIL][151]) ([i915#180] / [i915#1814] / [i915#3002] / [i915#3363] / [i915#602])
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-kbl1/igt@runner@aborted.html
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-kbl1/igt@runner@aborted.html
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-kbl1/igt@runner@aborted.html
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-kbl6/igt@runner@aborted.html
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-kbl6/igt@runner@aborted.html
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-kbl4/igt@runner@aborted.html
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10685/shard-kbl3/igt@runner@aborte

== Logs ==

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

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

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

* Re: [Intel-gfx] [PATCH v3] drm/i915/display: Wait PSR2 get out of deep sleep to update pipe
  2021-10-05 23:18 ` [Intel-gfx] [PATCH v3] drm/i915/display: Wait PSR2 get out of deep sleep to update pipe José Roberto de Souza
@ 2021-10-06  8:50   ` Gwan-gyeong Mun
  2021-10-06 20:04     ` Souza, Jose
  0 siblings, 1 reply; 16+ messages in thread
From: Gwan-gyeong Mun @ 2021-10-06  8:50 UTC (permalink / raw)
  To: José Roberto de Souza, intel-gfx; +Cc: Ville Syrjälä



On 10/6/21 2:18 AM, José Roberto de Souza wrote:
> Alderlake-P was getting 'max time under evasion' messages when PSR2
> is enabled, this is due PIPE_SCANLINE/PIPEDSL returning 0 over a
> period of time longer than VBLANK_EVASION_TIME_US.
> 
> For PSR1 we had the same issue so intel_psr_wait_for_idle() was
> implemented to wait for PSR1 to get into idle state but nothing was
> done for PSR2.
> 
> For PSR2 we can't only wait for idle state as PSR2 tends to keep
> into sleep state(ready to send selective updates).
> Waiting for any state below deep sleep proved to be effective in
> avoiding the evasion messages and also not wasted a lot of time.
> 
> v2:
> - dropping the additional wait_for loops, only the _wait_for_atomic()
> is necessary
> - waiting for states below EDP_PSR2_STATUS_STATE_DEEP_SLEEP
> 
> v3:
> - dropping intel_wait_for_condition_atomic() function
> 
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> ---
>   .../drm/i915/display/intel_display_debugfs.c  |  3 +-
>   drivers/gpu/drm/i915/display/intel_psr.c      | 52 +++++++++++--------
>   drivers/gpu/drm/i915/i915_reg.h               | 10 ++--
>   3 files changed, 36 insertions(+), 29 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> index 309d74fd86ce1..d7dd3a57c6170 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> @@ -303,8 +303,7 @@ psr_source_status(struct intel_dp *intel_dp, struct seq_file *m)
>   		};
>   		val = intel_de_read(dev_priv,
>   				    EDP_PSR2_STATUS(intel_dp->psr.transcoder));
> -		status_val = (val & EDP_PSR2_STATUS_STATE_MASK) >>
> -			      EDP_PSR2_STATUS_STATE_SHIFT;
> +		status_val = REG_FIELD_GET(EDP_PSR2_STATUS_STATE_MASK, val);
>   		if (status_val < ARRAY_SIZE(live_status))
>   			status = live_status[status_val];
>   	} else {
> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
> index 7a205fd5023bb..ade514fc0a24d 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.c
> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> @@ -1809,15 +1809,21 @@ void intel_psr_post_plane_update(const struct intel_atomic_state *state)
>   		_intel_psr_post_plane_update(state, crtc_state);
>   }
>   
> -/**
> - * psr_wait_for_idle - wait for PSR1 to idle
> - * @intel_dp: Intel DP
> - * @out_value: PSR status in case of failure
> - *
> - * Returns: 0 on success or -ETIMEOUT if PSR status does not idle.
> - *
> - */
> -static int psr_wait_for_idle(struct intel_dp *intel_dp, u32 *out_value)
> +static int _psr2_ready_for_pipe_update_locked(struct intel_dp *intel_dp)
> +{
> +	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
> +
> +	/*
> +	 * Any state lower than EDP_PSR2_STATUS_STATE_DEEP_SLEEP is enough.
> +	 * As all higher states has bit 4 of PSR2 state set we can just wait for
> +	 * EDP_PSR2_STATUS_STATE_DEEP_SLEEP to be cleared.
> +	 */
> +	return intel_de_wait_for_clear(dev_priv,
> +				       EDP_PSR2_STATUS(intel_dp->psr.transcoder),
> +				       EDP_PSR2_STATUS_STATE_DEEP_SLEEP, 50);
Under the DEEP_SLEEP state, there are IDLE, CAPTURE, CPTURE_FS, SLEEP, 
BUFON_FW, ML_UP, SU_STANDBY, etc. In this case, whether the evasion 
messages are completely tested in the state that changes quickly I think 
the test period is a little insufficient.
I think it may be necessary to test a little more or to have 
confirmation from the HW person in charge.

[PSR2_STATUS]
+-------+------------+-------------------------------------------------+
| Value |    Name    | Description                                     |
+-------+------------+-------------------------------------------------+
| 0000b	|    IDLE    | Reset state                                     |
+-------+------------+-------------------------------------------------+
| 0001b	|   CAPTURE  | Send capture frame                              |
+-------+------------+-------------------------------------------------+
| 0010b	|  CPTURE_FS | Fast sleep after capture frame is sent          |
+-------+------------+-------------------------------------------------+
| 0011b	|    SLEEP   | Selective Update                                |
+-------+------------+-------------------------------------------------+
| 0100b	|   BUFON_FW | Turn Buffer on and Send Fast wake               |
+-------+------------+-------------------------------------------------+
| 0101b	|    ML_UP   | Turn Main link up and send SR                   |
+-------+------------+-------------------------------------------------+
| 0110b	| SU_STANDBY | Selective update or Standby state               |
+-------+------------+-------------------------------------------------+
| 0111b	| FAST_SLEEP | Send Fast sleep                                 | 

+-------+------------+-------------------------------------------------+
| 1000b	| DEEP_SLEEP | Enter Deep sleep                                |
+-------+------------+-------------------------------------------------+
| 1001b	|   BUF_ON   | Turn ON IO Buffer                               |
+-------+------------+-------------------------------------------------+
| 1010b	|   TG_ON    | Turn ON Timing Generator                        |
+-------+------------+-------------------------------------------------+
| 1011b	| BUFON_FW_2 |Turn Buffer on and Send Fast wake for 3 BlockCase|
+-------+------------+-------------------------------------------------+
> +}
> +
> +static int _psr1_ready_for_pipe_update_locked(struct intel_dp *intel_dp)
>   {
>   	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
>   
> @@ -1827,15 +1833,13 @@ static int psr_wait_for_idle(struct intel_dp *intel_dp, u32 *out_value)
>   	 * exit training time + 1.5 ms of aux channel handshake. 50 ms is
>   	 * defensive enough to cover everything.
>   	 */
> -	return __intel_wait_for_register(&dev_priv->uncore,
> -					 EDP_PSR_STATUS(intel_dp->psr.transcoder),
> -					 EDP_PSR_STATUS_STATE_MASK,
> -					 EDP_PSR_STATUS_STATE_IDLE, 2, 50,
> -					 out_value);
> +	return intel_de_wait_for_clear(dev_priv,
> +				       EDP_PSR_STATUS(intel_dp->psr.transcoder),
> +				       EDP_PSR_STATUS_STATE_MASK, 50);
>   }
>   
>   /**
> - * intel_psr_wait_for_idle - wait for PSR1 to idle
> + * intel_psr_wait_for_idle - wait for PSR be ready for a pipe update
>    * @new_crtc_state: new CRTC state
>    *
>    * This function is expected to be called from pipe_update_start() where it is
> @@ -1852,19 +1856,23 @@ void intel_psr_wait_for_idle(const struct intel_crtc_state *new_crtc_state)
>   	for_each_intel_encoder_mask_with_psr(&dev_priv->drm, encoder,
>   					     new_crtc_state->uapi.encoder_mask) {
>   		struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> -		u32 psr_status;
> +		int ret;
>   
>   		mutex_lock(&intel_dp->psr.lock);
> -		if (!intel_dp->psr.enabled || intel_dp->psr.psr2_enabled) {
> +
> +		if (!intel_dp->psr.enabled) {
>   			mutex_unlock(&intel_dp->psr.lock);
>   			continue;
>   		}
>   
> -		/* when the PSR1 is enabled */
> -		if (psr_wait_for_idle(intel_dp, &psr_status))
> -			drm_err(&dev_priv->drm,
> -				"PSR idle timed out 0x%x, atomic update may fail\n",
> -				psr_status);
> +		if (intel_dp->psr.psr2_enabled)
> +			ret = _psr2_ready_for_pipe_update_locked(intel_dp);
> +		else
> +			ret = _psr1_ready_for_pipe_update_locked(intel_dp);
> +
> +		if (ret)
> +			drm_err(&dev_priv->drm, "PSR wait timed out, atomic update may fail\n");
> +
>   		mutex_unlock(&intel_dp->psr.lock);
>   	}
>   }
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index a897f4abea0c3..e101579d3a4d8 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -4700,11 +4700,11 @@ enum {
>   #define  PSR_EVENT_LPSP_MODE_EXIT		(1 << 1)
>   #define  PSR_EVENT_PSR_DISABLE			(1 << 0)
>   
> -#define _PSR2_STATUS_A			0x60940
> -#define _PSR2_STATUS_EDP		0x6f940
> -#define EDP_PSR2_STATUS(tran)		_MMIO_TRANS2(tran, _PSR2_STATUS_A)
> -#define EDP_PSR2_STATUS_STATE_MASK     (0xf << 28)
> -#define EDP_PSR2_STATUS_STATE_SHIFT    28
> +#define _PSR2_STATUS_A				0x60940
> +#define _PSR2_STATUS_EDP			0x6f940
> +#define EDP_PSR2_STATUS(tran)			_MMIO_TRANS2(tran, _PSR2_STATUS_A)
> +#define EDP_PSR2_STATUS_STATE_MASK		REG_GENMASK(31, 28)
> +#define EDP_PSR2_STATUS_STATE_DEEP_SLEEP	REG_FIELD_PREP(EDP_PSR2_STATUS_STATE_MASK, 0x8)
>   
>   #define _PSR2_SU_STATUS_A		0x60914
>   #define _PSR2_SU_STATUS_EDP		0x6f914
> 

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

* Re: [Intel-gfx] [PATCH v3] drm/i915/display: Wait PSR2 get out of deep sleep to update pipe
  2021-10-06  8:50   ` Gwan-gyeong Mun
@ 2021-10-06 20:04     ` Souza, Jose
  2021-10-07  9:31       ` Gwan-gyeong Mun
  0 siblings, 1 reply; 16+ messages in thread
From: Souza, Jose @ 2021-10-06 20:04 UTC (permalink / raw)
  To: Mun, Gwan-gyeong, intel-gfx; +Cc: ville.syrjala

On Wed, 2021-10-06 at 11:50 +0300, Gwan-gyeong Mun wrote:
> 
> On 10/6/21 2:18 AM, José Roberto de Souza wrote:
> > Alderlake-P was getting 'max time under evasion' messages when PSR2
> > is enabled, this is due PIPE_SCANLINE/PIPEDSL returning 0 over a
> > period of time longer than VBLANK_EVASION_TIME_US.
> > 
> > For PSR1 we had the same issue so intel_psr_wait_for_idle() was
> > implemented to wait for PSR1 to get into idle state but nothing was
> > done for PSR2.
> > 
> > For PSR2 we can't only wait for idle state as PSR2 tends to keep
> > into sleep state(ready to send selective updates).
> > Waiting for any state below deep sleep proved to be effective in
> > avoiding the evasion messages and also not wasted a lot of time.
> > 
> > v2:
> > - dropping the additional wait_for loops, only the _wait_for_atomic()
> > is necessary
> > - waiting for states below EDP_PSR2_STATUS_STATE_DEEP_SLEEP
> > 
> > v3:
> > - dropping intel_wait_for_condition_atomic() function
> > 
> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
> > Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> > ---
> >   .../drm/i915/display/intel_display_debugfs.c  |  3 +-
> >   drivers/gpu/drm/i915/display/intel_psr.c      | 52 +++++++++++--------
> >   drivers/gpu/drm/i915/i915_reg.h               | 10 ++--
> >   3 files changed, 36 insertions(+), 29 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > index 309d74fd86ce1..d7dd3a57c6170 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > @@ -303,8 +303,7 @@ psr_source_status(struct intel_dp *intel_dp, struct seq_file *m)
> >   		};
> >   		val = intel_de_read(dev_priv,
> >   				    EDP_PSR2_STATUS(intel_dp->psr.transcoder));
> > -		status_val = (val & EDP_PSR2_STATUS_STATE_MASK) >>
> > -			      EDP_PSR2_STATUS_STATE_SHIFT;
> > +		status_val = REG_FIELD_GET(EDP_PSR2_STATUS_STATE_MASK, val);
> >   		if (status_val < ARRAY_SIZE(live_status))
> >   			status = live_status[status_val];
> >   	} else {
> > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
> > index 7a205fd5023bb..ade514fc0a24d 100644
> > --- a/drivers/gpu/drm/i915/display/intel_psr.c
> > +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> > @@ -1809,15 +1809,21 @@ void intel_psr_post_plane_update(const struct intel_atomic_state *state)
> >   		_intel_psr_post_plane_update(state, crtc_state);
> >   }
> >   
> > -/**
> > - * psr_wait_for_idle - wait for PSR1 to idle
> > - * @intel_dp: Intel DP
> > - * @out_value: PSR status in case of failure
> > - *
> > - * Returns: 0 on success or -ETIMEOUT if PSR status does not idle.
> > - *
> > - */
> > -static int psr_wait_for_idle(struct intel_dp *intel_dp, u32 *out_value)
> > +static int _psr2_ready_for_pipe_update_locked(struct intel_dp *intel_dp)
> > +{
> > +	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
> > +
> > +	/*
> > +	 * Any state lower than EDP_PSR2_STATUS_STATE_DEEP_SLEEP is enough.
> > +	 * As all higher states has bit 4 of PSR2 state set we can just wait for
> > +	 * EDP_PSR2_STATUS_STATE_DEEP_SLEEP to be cleared.
> > +	 */
> > +	return intel_de_wait_for_clear(dev_priv,
> > +				       EDP_PSR2_STATUS(intel_dp->psr.transcoder),
> > +				       EDP_PSR2_STATUS_STATE_DEEP_SLEEP, 50);
> Under the DEEP_SLEEP state, there are IDLE, CAPTURE, CPTURE_FS, SLEEP, 
> BUFON_FW, ML_UP, SU_STANDBY, etc. In this case, whether the evasion 
> messages are completely tested in the state that changes quickly I think 
> the test period is a little insufficient.

What is your suggestion of test for this?

I left my Alderlake-P running overnight(more than 12 hours) with a News website open.
This website reloads the page at every 5 minutes, so it entered and exited DC5/6 states several times without any evasion messages.

> I think it may be necessary to test a little more or to have 
> confirmation from the HW person in charge.

I can file an issue for this but it will probably several weeks to get an answer.

> 
> [PSR2_STATUS]
> +-------+------------+-------------------------------------------------+
> > Value |    Name    | Description                                     |
> +-------+------------+-------------------------------------------------+
> > 0000b	|    IDLE    | Reset state                                     |
> +-------+------------+-------------------------------------------------+
> > 0001b	|   CAPTURE  | Send capture frame                              |
> +-------+------------+-------------------------------------------------+
> > 0010b	|  CPTURE_FS | Fast sleep after capture frame is sent          |
> +-------+------------+-------------------------------------------------+
> > 0011b	|    SLEEP   | Selective Update                                |
> +-------+------------+-------------------------------------------------+
> > 0100b	|   BUFON_FW | Turn Buffer on and Send Fast wake               |
> +-------+------------+-------------------------------------------------+
> > 0101b	|    ML_UP   | Turn Main link up and send SR                   |
> +-------+------------+-------------------------------------------------+
> > 0110b	| SU_STANDBY | Selective update or Standby state               |
> +-------+------------+-------------------------------------------------+
> > 0111b	| FAST_SLEEP | Send Fast sleep                                 | 
> 
> +-------+------------+-------------------------------------------------+
> > 1000b	| DEEP_SLEEP | Enter Deep sleep                                |
> +-------+------------+-------------------------------------------------+
> > 1001b	|   BUF_ON   | Turn ON IO Buffer                               |
> +-------+------------+-------------------------------------------------+
> > 1010b	|   TG_ON    | Turn ON Timing Generator                        |
> +-------+------------+-------------------------------------------------+
> > 1011b	| BUFON_FW_2 |Turn Buffer on and Send Fast wake for 3 BlockCase|
> +-------+------------+-------------------------------------------------+
> > +}
> > +
> > +static int _psr1_ready_for_pipe_update_locked(struct intel_dp *intel_dp)
> >   {
> >   	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
> >   
> > @@ -1827,15 +1833,13 @@ static int psr_wait_for_idle(struct intel_dp *intel_dp, u32 *out_value)
> >   	 * exit training time + 1.5 ms of aux channel handshake. 50 ms is
> >   	 * defensive enough to cover everything.
> >   	 */
> > -	return __intel_wait_for_register(&dev_priv->uncore,
> > -					 EDP_PSR_STATUS(intel_dp->psr.transcoder),
> > -					 EDP_PSR_STATUS_STATE_MASK,
> > -					 EDP_PSR_STATUS_STATE_IDLE, 2, 50,
> > -					 out_value);
> > +	return intel_de_wait_for_clear(dev_priv,
> > +				       EDP_PSR_STATUS(intel_dp->psr.transcoder),
> > +				       EDP_PSR_STATUS_STATE_MASK, 50);
> >   }
> >   
> >   /**
> > - * intel_psr_wait_for_idle - wait for PSR1 to idle
> > + * intel_psr_wait_for_idle - wait for PSR be ready for a pipe update
> >    * @new_crtc_state: new CRTC state
> >    *
> >    * This function is expected to be called from pipe_update_start() where it is
> > @@ -1852,19 +1856,23 @@ void intel_psr_wait_for_idle(const struct intel_crtc_state *new_crtc_state)
> >   	for_each_intel_encoder_mask_with_psr(&dev_priv->drm, encoder,
> >   					     new_crtc_state->uapi.encoder_mask) {
> >   		struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> > -		u32 psr_status;
> > +		int ret;
> >   
> >   		mutex_lock(&intel_dp->psr.lock);
> > -		if (!intel_dp->psr.enabled || intel_dp->psr.psr2_enabled) {
> > +
> > +		if (!intel_dp->psr.enabled) {
> >   			mutex_unlock(&intel_dp->psr.lock);
> >   			continue;
> >   		}
> >   
> > -		/* when the PSR1 is enabled */
> > -		if (psr_wait_for_idle(intel_dp, &psr_status))
> > -			drm_err(&dev_priv->drm,
> > -				"PSR idle timed out 0x%x, atomic update may fail\n",
> > -				psr_status);
> > +		if (intel_dp->psr.psr2_enabled)
> > +			ret = _psr2_ready_for_pipe_update_locked(intel_dp);
> > +		else
> > +			ret = _psr1_ready_for_pipe_update_locked(intel_dp);
> > +
> > +		if (ret)
> > +			drm_err(&dev_priv->drm, "PSR wait timed out, atomic update may fail\n");
> > +
> >   		mutex_unlock(&intel_dp->psr.lock);
> >   	}
> >   }
> > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> > index a897f4abea0c3..e101579d3a4d8 100644
> > --- a/drivers/gpu/drm/i915/i915_reg.h
> > +++ b/drivers/gpu/drm/i915/i915_reg.h
> > @@ -4700,11 +4700,11 @@ enum {
> >   #define  PSR_EVENT_LPSP_MODE_EXIT		(1 << 1)
> >   #define  PSR_EVENT_PSR_DISABLE			(1 << 0)
> >   
> > -#define _PSR2_STATUS_A			0x60940
> > -#define _PSR2_STATUS_EDP		0x6f940
> > -#define EDP_PSR2_STATUS(tran)		_MMIO_TRANS2(tran, _PSR2_STATUS_A)
> > -#define EDP_PSR2_STATUS_STATE_MASK     (0xf << 28)
> > -#define EDP_PSR2_STATUS_STATE_SHIFT    28
> > +#define _PSR2_STATUS_A				0x60940
> > +#define _PSR2_STATUS_EDP			0x6f940
> > +#define EDP_PSR2_STATUS(tran)			_MMIO_TRANS2(tran, _PSR2_STATUS_A)
> > +#define EDP_PSR2_STATUS_STATE_MASK		REG_GENMASK(31, 28)
> > +#define EDP_PSR2_STATUS_STATE_DEEP_SLEEP	REG_FIELD_PREP(EDP_PSR2_STATUS_STATE_MASK, 0x8)
> >   
> >   #define _PSR2_SU_STATUS_A		0x60914
> >   #define _PSR2_SU_STATUS_EDP		0x6f914
> > 


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

* Re: [Intel-gfx] [PATCH v3] drm/i915/display: Wait PSR2 get out of deep sleep to update pipe
  2021-10-06 20:04     ` Souza, Jose
@ 2021-10-07  9:31       ` Gwan-gyeong Mun
  2021-10-11 20:53         ` Souza, Jose
  0 siblings, 1 reply; 16+ messages in thread
From: Gwan-gyeong Mun @ 2021-10-07  9:31 UTC (permalink / raw)
  To: Souza, Jose, intel-gfx; +Cc: ville.syrjala



On 10/6/21 11:04 PM, Souza, Jose wrote:
> On Wed, 2021-10-06 at 11:50 +0300, Gwan-gyeong Mun wrote:
>>
>> On 10/6/21 2:18 AM, José Roberto de Souza wrote:
>>> Alderlake-P was getting 'max time under evasion' messages when PSR2
>>> is enabled, this is due PIPE_SCANLINE/PIPEDSL returning 0 over a
>>> period of time longer than VBLANK_EVASION_TIME_US.
>>>
>>> For PSR1 we had the same issue so intel_psr_wait_for_idle() was
>>> implemented to wait for PSR1 to get into idle state but nothing was
>>> done for PSR2.
>>>
>>> For PSR2 we can't only wait for idle state as PSR2 tends to keep
>>> into sleep state(ready to send selective updates).
>>> Waiting for any state below deep sleep proved to be effective in
>>> avoiding the evasion messages and also not wasted a lot of time.
>>>
>>> v2:
>>> - dropping the additional wait_for loops, only the _wait_for_atomic()
>>> is necessary
>>> - waiting for states below EDP_PSR2_STATUS_STATE_DEEP_SLEEP
>>>
>>> v3:
>>> - dropping intel_wait_for_condition_atomic() function
>>>
>>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>> Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
>>> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
>>> ---
>>>    .../drm/i915/display/intel_display_debugfs.c  |  3 +-
>>>    drivers/gpu/drm/i915/display/intel_psr.c      | 52 +++++++++++--------
>>>    drivers/gpu/drm/i915/i915_reg.h               | 10 ++--
>>>    3 files changed, 36 insertions(+), 29 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
>>> index 309d74fd86ce1..d7dd3a57c6170 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
>>> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
>>> @@ -303,8 +303,7 @@ psr_source_status(struct intel_dp *intel_dp, struct seq_file *m)
>>>    };
>>>    val = intel_de_read(dev_priv,
>>>        EDP_PSR2_STATUS(intel_dp->psr.transcoder));
>>> -status_val = (val & EDP_PSR2_STATUS_STATE_MASK) >>
>>> -      EDP_PSR2_STATUS_STATE_SHIFT;
>>> +status_val = REG_FIELD_GET(EDP_PSR2_STATUS_STATE_MASK, val);
>>>    if (status_val < ARRAY_SIZE(live_status))
>>>    status = live_status[status_val];
>>>    } else {
>>> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
>>> index 7a205fd5023bb..ade514fc0a24d 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_psr.c
>>> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
>>> @@ -1809,15 +1809,21 @@ void intel_psr_post_plane_update(const struct intel_atomic_state *state)
>>>    _intel_psr_post_plane_update(state, crtc_state);
>>>    }
>>>
>>> -/**
>>> - * psr_wait_for_idle - wait for PSR1 to idle
>>> - * @intel_dp: Intel DP
>>> - * @out_value: PSR status in case of failure
>>> - *
>>> - * Returns: 0 on success or -ETIMEOUT if PSR status does not idle.
>>> - *
>>> - */
>>> -static int psr_wait_for_idle(struct intel_dp *intel_dp, u32 *out_value)
>>> +static int _psr2_ready_for_pipe_update_locked(struct intel_dp *intel_dp)
>>> +{
>>> +struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
>>> +
>>> +/*
>>> + * Any state lower than EDP_PSR2_STATUS_STATE_DEEP_SLEEP is enough.
>>> + * As all higher states has bit 4 of PSR2 state set we can just wait for
>>> + * EDP_PSR2_STATUS_STATE_DEEP_SLEEP to be cleared.
>>> + */
>>> +return intel_de_wait_for_clear(dev_priv,
>>> +       EDP_PSR2_STATUS(intel_dp->psr.transcoder),
>>> +       EDP_PSR2_STATUS_STATE_DEEP_SLEEP, 50);
>> Under the DEEP_SLEEP state, there are IDLE, CAPTURE, CPTURE_FS, SLEEP,
>> BUFON_FW, ML_UP, SU_STANDBY, etc. In this case, whether the evasion
>> messages are completely tested in the state that changes quickly I think
>> the test period is a little insufficient.
> 
> What is your suggestion of test for this?
> 
> I left my Alderlake-P running overnight(more than 12 hours) with a News website open.
> This website reloads the page at every 5 minutes, so it entered and exited DC5/6 states several times without any evasion messages.
> 
>> I think it may be necessary to test a little more or to have
>> confirmation from the HW person in charge.
> 
> I can file an issue for this but it will probably several weeks to get an answer.
> 
Yes, I am not disparaging what you tested.
However, since the current code confirms that only the 31st bit of the 
PSR2_STATUS register is changed to 0 operationally,
it does not guarantee that the tested use cases have been tested for 
IDLE, CAPTURE, CPTURE_FS, SLEEP, BUFON_FW, ML_UP, SU_STANDBY, and 
FAST_SLEEP states.

I can't think of a way to test each of the above states right now, but 
what I can suggest is that "intel_de_wait_for_clear(dev_priv, 
EDP_PSR2_STATUS(intel_dp->psr.transcoder), 
EDP_PSR2_STATUS_STATE_DEEP_SLEEP, 50)" works normally. After that, can 
you put a code that prints the current PSR2 status?

If so, I think it will be easy to analyze the problem in case evasion 
messages occur again after this code is applied later.
If additional confirmation from the responsible HW developer is received 
at a later time, it is thought that future work such as deleting the 
code that outputs the newly added current PSR Status at that time will 
be possible.

Br,
G.G.
>>
>> [PSR2_STATUS]
>> +-------+------------+-------------------------------------------------+
>>> Value |    Name    | Description                                     |
>> +-------+------------+-------------------------------------------------+
>>> 0000b|    IDLE    | Reset state                                     |
>> +-------+------------+-------------------------------------------------+
>>> 0001b|   CAPTURE  | Send capture frame                              |
>> +-------+------------+-------------------------------------------------+
>>> 0010b|  CPTURE_FS | Fast sleep after capture frame is sent          |
>> +-------+------------+-------------------------------------------------+
>>> 0011b|    SLEEP   | Selective Update                                |
>> +-------+------------+-------------------------------------------------+
>>> 0100b|   BUFON_FW | Turn Buffer on and Send Fast wake               |
>> +-------+------------+-------------------------------------------------+
>>> 0101b|    ML_UP   | Turn Main link up and send SR                   |
>> +-------+------------+-------------------------------------------------+
>>> 0110b| SU_STANDBY | Selective update or Standby state               |
>> +-------+------------+-------------------------------------------------+
>>> 0111b| FAST_SLEEP | Send Fast sleep                                 |
>>
>> +-------+------------+-------------------------------------------------+
>>> 1000b| DEEP_SLEEP | Enter Deep sleep                                |
>> +-------+------------+-------------------------------------------------+
>>> 1001b|   BUF_ON   | Turn ON IO Buffer                               |
>> +-------+------------+-------------------------------------------------+
>>> 1010b|   TG_ON    | Turn ON Timing Generator                        |
>> +-------+------------+-------------------------------------------------+
>>> 1011b| BUFON_FW_2 |Turn Buffer on and Send Fast wake for 3 BlockCase|
>> +-------+------------+-------------------------------------------------+
>>> +}
>>> +
>>> +static int _psr1_ready_for_pipe_update_locked(struct intel_dp *intel_dp)
>>>    {
>>>    struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
>>>
>>> @@ -1827,15 +1833,13 @@ static int psr_wait_for_idle(struct intel_dp *intel_dp, u32 *out_value)
>>>     * exit training time + 1.5 ms of aux channel handshake. 50 ms is
>>>     * defensive enough to cover everything.
>>>     */
>>> -return __intel_wait_for_register(&dev_priv->uncore,
>>> - EDP_PSR_STATUS(intel_dp->psr.transcoder),
>>> - EDP_PSR_STATUS_STATE_MASK,
>>> - EDP_PSR_STATUS_STATE_IDLE, 2, 50,
>>> - out_value);
>>> +return intel_de_wait_for_clear(dev_priv,
>>> +       EDP_PSR_STATUS(intel_dp->psr.transcoder),
>>> +       EDP_PSR_STATUS_STATE_MASK, 50);
>>>    }
>>>
>>>    /**
>>> - * intel_psr_wait_for_idle - wait for PSR1 to idle
>>> + * intel_psr_wait_for_idle - wait for PSR be ready for a pipe update
>>>     * @new_crtc_state: new CRTC state
>>>     *
>>>     * This function is expected to be called from pipe_update_start() where it is
>>> @@ -1852,19 +1856,23 @@ void intel_psr_wait_for_idle(const struct intel_crtc_state *new_crtc_state)
>>>    for_each_intel_encoder_mask_with_psr(&dev_priv->drm, encoder,
>>>         new_crtc_state->uapi.encoder_mask) {
>>>    struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>>> -u32 psr_status;
>>> +int ret;
>>>
>>>    mutex_lock(&intel_dp->psr.lock);
>>> -if (!intel_dp->psr.enabled || intel_dp->psr.psr2_enabled) {
>>> +
>>> +if (!intel_dp->psr.enabled) {
>>>    mutex_unlock(&intel_dp->psr.lock);
>>>    continue;
>>>    }
>>>
>>> -/* when the PSR1 is enabled */
>>> -if (psr_wait_for_idle(intel_dp, &psr_status))
>>> -drm_err(&dev_priv->drm,
>>> -"PSR idle timed out 0x%x, atomic update may fail\n",
>>> -psr_status);
>>> +if (intel_dp->psr.psr2_enabled)
>>> +ret = _psr2_ready_for_pipe_update_locked(intel_dp);
>>> +else
>>> +ret = _psr1_ready_for_pipe_update_locked(intel_dp);
>>> +
>>> +if (ret)
>>> +drm_err(&dev_priv->drm, "PSR wait timed out, atomic update may fail\n");
>>> +
>>>    mutex_unlock(&intel_dp->psr.lock);
>>>    }
>>>    }
>>> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
>>> index a897f4abea0c3..e101579d3a4d8 100644
>>> --- a/drivers/gpu/drm/i915/i915_reg.h
>>> +++ b/drivers/gpu/drm/i915/i915_reg.h
>>> @@ -4700,11 +4700,11 @@ enum {
>>>    #define  PSR_EVENT_LPSP_MODE_EXIT(1 << 1)
>>>    #define  PSR_EVENT_PSR_DISABLE(1 << 0)
>>>
>>> -#define _PSR2_STATUS_A0x60940
>>> -#define _PSR2_STATUS_EDP0x6f940
>>> -#define EDP_PSR2_STATUS(tran)_MMIO_TRANS2(tran, _PSR2_STATUS_A)
>>> -#define EDP_PSR2_STATUS_STATE_MASK     (0xf << 28)
>>> -#define EDP_PSR2_STATUS_STATE_SHIFT    28
>>> +#define _PSR2_STATUS_A0x60940
>>> +#define _PSR2_STATUS_EDP0x6f940
>>> +#define EDP_PSR2_STATUS(tran)_MMIO_TRANS2(tran, _PSR2_STATUS_A)
>>> +#define EDP_PSR2_STATUS_STATE_MASKREG_GENMASK(31, 28)
>>> +#define EDP_PSR2_STATUS_STATE_DEEP_SLEEPREG_FIELD_PREP(EDP_PSR2_STATUS_STATE_MASK, 0x8)
>>>
>>>    #define _PSR2_SU_STATUS_A0x60914
>>>    #define _PSR2_SU_STATUS_EDP0x6f914
>>>
> 

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

* Re: [Intel-gfx] [PATCH v3] drm/i915/display: Wait PSR2 get out of deep sleep to update pipe
  2021-10-07  9:31       ` Gwan-gyeong Mun
@ 2021-10-11 20:53         ` Souza, Jose
  2021-10-13 20:39           ` Gwan-gyeong Mun
  0 siblings, 1 reply; 16+ messages in thread
From: Souza, Jose @ 2021-10-11 20:53 UTC (permalink / raw)
  To: Mun, Gwan-gyeong, intel-gfx; +Cc: ville.syrjala

On Thu, 2021-10-07 at 12:31 +0300, Gwan-gyeong Mun wrote:
> 
> On 10/6/21 11:04 PM, Souza, Jose wrote:
> > On Wed, 2021-10-06 at 11:50 +0300, Gwan-gyeong Mun wrote:
> > > 
> > > On 10/6/21 2:18 AM, José Roberto de Souza wrote:
> > > > Alderlake-P was getting 'max time under evasion' messages when PSR2
> > > > is enabled, this is due PIPE_SCANLINE/PIPEDSL returning 0 over a
> > > > period of time longer than VBLANK_EVASION_TIME_US.
> > > > 
> > > > For PSR1 we had the same issue so intel_psr_wait_for_idle() was
> > > > implemented to wait for PSR1 to get into idle state but nothing was
> > > > done for PSR2.
> > > > 
> > > > For PSR2 we can't only wait for idle state as PSR2 tends to keep
> > > > into sleep state(ready to send selective updates).
> > > > Waiting for any state below deep sleep proved to be effective in
> > > > avoiding the evasion messages and also not wasted a lot of time.
> > > > 
> > > > v2:
> > > > - dropping the additional wait_for loops, only the _wait_for_atomic()
> > > > is necessary
> > > > - waiting for states below EDP_PSR2_STATUS_STATE_DEEP_SLEEP
> > > > 
> > > > v3:
> > > > - dropping intel_wait_for_condition_atomic() function
> > > > 
> > > > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > > > Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
> > > > Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> > > > ---
> > > >    .../drm/i915/display/intel_display_debugfs.c  |  3 +-
> > > >    drivers/gpu/drm/i915/display/intel_psr.c      | 52 +++++++++++--------
> > > >    drivers/gpu/drm/i915/i915_reg.h               | 10 ++--
> > > >    3 files changed, 36 insertions(+), 29 deletions(-)
> > > > 
> > > > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > index 309d74fd86ce1..d7dd3a57c6170 100644
> > > > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > @@ -303,8 +303,7 @@ psr_source_status(struct intel_dp *intel_dp, struct seq_file *m)
> > > >    };
> > > >    val = intel_de_read(dev_priv,
> > > >        EDP_PSR2_STATUS(intel_dp->psr.transcoder));
> > > > -status_val = (val & EDP_PSR2_STATUS_STATE_MASK) >>
> > > > -      EDP_PSR2_STATUS_STATE_SHIFT;
> > > > +status_val = REG_FIELD_GET(EDP_PSR2_STATUS_STATE_MASK, val);
> > > >    if (status_val < ARRAY_SIZE(live_status))
> > > >    status = live_status[status_val];
> > > >    } else {
> > > > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
> > > > index 7a205fd5023bb..ade514fc0a24d 100644
> > > > --- a/drivers/gpu/drm/i915/display/intel_psr.c
> > > > +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> > > > @@ -1809,15 +1809,21 @@ void intel_psr_post_plane_update(const struct intel_atomic_state *state)
> > > >    _intel_psr_post_plane_update(state, crtc_state);
> > > >    }
> > > > 
> > > > -/**
> > > > - * psr_wait_for_idle - wait for PSR1 to idle
> > > > - * @intel_dp: Intel DP
> > > > - * @out_value: PSR status in case of failure
> > > > - *
> > > > - * Returns: 0 on success or -ETIMEOUT if PSR status does not idle.
> > > > - *
> > > > - */
> > > > -static int psr_wait_for_idle(struct intel_dp *intel_dp, u32 *out_value)
> > > > +static int _psr2_ready_for_pipe_update_locked(struct intel_dp *intel_dp)
> > > > +{
> > > > +struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
> > > > +
> > > > +/*
> > > > + * Any state lower than EDP_PSR2_STATUS_STATE_DEEP_SLEEP is enough.
> > > > + * As all higher states has bit 4 of PSR2 state set we can just wait for
> > > > + * EDP_PSR2_STATUS_STATE_DEEP_SLEEP to be cleared.
> > > > + */
> > > > +return intel_de_wait_for_clear(dev_priv,
> > > > +       EDP_PSR2_STATUS(intel_dp->psr.transcoder),
> > > > +       EDP_PSR2_STATUS_STATE_DEEP_SLEEP, 50);
> > > Under the DEEP_SLEEP state, there are IDLE, CAPTURE, CPTURE_FS, SLEEP,
> > > BUFON_FW, ML_UP, SU_STANDBY, etc. In this case, whether the evasion
> > > messages are completely tested in the state that changes quickly I think
> > > the test period is a little insufficient.
> > 
> > What is your suggestion of test for this?
> > 
> > I left my Alderlake-P running overnight(more than 12 hours) with a News website open.
> > This website reloads the page at every 5 minutes, so it entered and exited DC5/6 states several times without any evasion messages.
> > 
> > > I think it may be necessary to test a little more or to have
> > > confirmation from the HW person in charge.
> > 
> > I can file an issue for this but it will probably several weeks to get an answer.
> > 
> Yes, I am not disparaging what you tested.
> However, since the current code confirms that only the 31st bit of the 
> PSR2_STATUS register is changed to 0 operationally,
> it does not guarantee that the tested use cases have been tested for 
> IDLE, CAPTURE, CPTURE_FS, SLEEP, BUFON_FW, ML_UP, SU_STANDBY, and 
> FAST_SLEEP states.
> 
> I can't think of a way to test each of the above states right now, but 
> what I can suggest is that "intel_de_wait_for_clear(dev_priv, 
> EDP_PSR2_STATUS(intel_dp->psr.transcoder), 
> EDP_PSR2_STATUS_STATE_DEEP_SLEEP, 50)" works normally. After that, can 
> you put a code that prints the current PSR2 status?
> 
> If so, I think it will be easy to analyze the problem in case evasion 
> messages occur again after this code is applied later.
> If additional confirmation from the responsible HW developer is received 
> at a later time, it is thought that future work such as deleting the 
> code that outputs the newly added current PSR Status at that time will 
> be possible.

Print the PSR status at every flip is too verbose.

Other option would be print the PSR status in case a evasion happened but that would not give us much information as the status would have changed
between intel_pipe_update_start() and intel_pipe_update_end().

The current solution is better than no wait and if evasion messages comes back we can be more restrictive and make it wait for idle or sleep PSR2
states.

> 
> Br,
> G.G.
> > > 
> > > [PSR2_STATUS]
> > > +-------+------------+-------------------------------------------------+
> > > > Value |    Name    | Description                                     |
> > > +-------+------------+-------------------------------------------------+
> > > > 0000b|    IDLE    | Reset state                                     |
> > > +-------+------------+-------------------------------------------------+
> > > > 0001b|   CAPTURE  | Send capture frame                              |
> > > +-------+------------+-------------------------------------------------+
> > > > 0010b|  CPTURE_FS | Fast sleep after capture frame is sent          |
> > > +-------+------------+-------------------------------------------------+
> > > > 0011b|    SLEEP   | Selective Update                                |
> > > +-------+------------+-------------------------------------------------+
> > > > 0100b|   BUFON_FW | Turn Buffer on and Send Fast wake               |
> > > +-------+------------+-------------------------------------------------+
> > > > 0101b|    ML_UP   | Turn Main link up and send SR                   |
> > > +-------+------------+-------------------------------------------------+
> > > > 0110b| SU_STANDBY | Selective update or Standby state               |
> > > +-------+------------+-------------------------------------------------+
> > > > 0111b| FAST_SLEEP | Send Fast sleep                                 |
> > > 
> > > +-------+------------+-------------------------------------------------+
> > > > 1000b| DEEP_SLEEP | Enter Deep sleep                                |
> > > +-------+------------+-------------------------------------------------+
> > > > 1001b|   BUF_ON   | Turn ON IO Buffer                               |
> > > +-------+------------+-------------------------------------------------+
> > > > 1010b|   TG_ON    | Turn ON Timing Generator                        |
> > > +-------+------------+-------------------------------------------------+
> > > > 1011b| BUFON_FW_2 |Turn Buffer on and Send Fast wake for 3 BlockCase|
> > > +-------+------------+-------------------------------------------------+
> > > > +}
> > > > +
> > > > +static int _psr1_ready_for_pipe_update_locked(struct intel_dp *intel_dp)
> > > >    {
> > > >    struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
> > > > 
> > > > @@ -1827,15 +1833,13 @@ static int psr_wait_for_idle(struct intel_dp *intel_dp, u32 *out_value)
> > > >     * exit training time + 1.5 ms of aux channel handshake. 50 ms is
> > > >     * defensive enough to cover everything.
> > > >     */
> > > > -return __intel_wait_for_register(&dev_priv->uncore,
> > > > - EDP_PSR_STATUS(intel_dp->psr.transcoder),
> > > > - EDP_PSR_STATUS_STATE_MASK,
> > > > - EDP_PSR_STATUS_STATE_IDLE, 2, 50,
> > > > - out_value);
> > > > +return intel_de_wait_for_clear(dev_priv,
> > > > +       EDP_PSR_STATUS(intel_dp->psr.transcoder),
> > > > +       EDP_PSR_STATUS_STATE_MASK, 50);
> > > >    }
> > > > 
> > > >    /**
> > > > - * intel_psr_wait_for_idle - wait for PSR1 to idle
> > > > + * intel_psr_wait_for_idle - wait for PSR be ready for a pipe update
> > > >     * @new_crtc_state: new CRTC state
> > > >     *
> > > >     * This function is expected to be called from pipe_update_start() where it is
> > > > @@ -1852,19 +1856,23 @@ void intel_psr_wait_for_idle(const struct intel_crtc_state *new_crtc_state)
> > > >    for_each_intel_encoder_mask_with_psr(&dev_priv->drm, encoder,
> > > >         new_crtc_state->uapi.encoder_mask) {
> > > >    struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> > > > -u32 psr_status;
> > > > +int ret;
> > > > 
> > > >    mutex_lock(&intel_dp->psr.lock);
> > > > -if (!intel_dp->psr.enabled || intel_dp->psr.psr2_enabled) {
> > > > +
> > > > +if (!intel_dp->psr.enabled) {
> > > >    mutex_unlock(&intel_dp->psr.lock);
> > > >    continue;
> > > >    }
> > > > 
> > > > -/* when the PSR1 is enabled */
> > > > -if (psr_wait_for_idle(intel_dp, &psr_status))
> > > > -drm_err(&dev_priv->drm,
> > > > -"PSR idle timed out 0x%x, atomic update may fail\n",
> > > > -psr_status);
> > > > +if (intel_dp->psr.psr2_enabled)
> > > > +ret = _psr2_ready_for_pipe_update_locked(intel_dp);
> > > > +else
> > > > +ret = _psr1_ready_for_pipe_update_locked(intel_dp);
> > > > +
> > > > +if (ret)
> > > > +drm_err(&dev_priv->drm, "PSR wait timed out, atomic update may fail\n");
> > > > +
> > > >    mutex_unlock(&intel_dp->psr.lock);
> > > >    }
> > > >    }
> > > > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> > > > index a897f4abea0c3..e101579d3a4d8 100644
> > > > --- a/drivers/gpu/drm/i915/i915_reg.h
> > > > +++ b/drivers/gpu/drm/i915/i915_reg.h
> > > > @@ -4700,11 +4700,11 @@ enum {
> > > >    #define  PSR_EVENT_LPSP_MODE_EXIT(1 << 1)
> > > >    #define  PSR_EVENT_PSR_DISABLE(1 << 0)
> > > > 
> > > > -#define _PSR2_STATUS_A0x60940
> > > > -#define _PSR2_STATUS_EDP0x6f940
> > > > -#define EDP_PSR2_STATUS(tran)_MMIO_TRANS2(tran, _PSR2_STATUS_A)
> > > > -#define EDP_PSR2_STATUS_STATE_MASK     (0xf << 28)
> > > > -#define EDP_PSR2_STATUS_STATE_SHIFT    28
> > > > +#define _PSR2_STATUS_A0x60940
> > > > +#define _PSR2_STATUS_EDP0x6f940
> > > > +#define EDP_PSR2_STATUS(tran)_MMIO_TRANS2(tran, _PSR2_STATUS_A)
> > > > +#define EDP_PSR2_STATUS_STATE_MASKREG_GENMASK(31, 28)
> > > > +#define EDP_PSR2_STATUS_STATE_DEEP_SLEEPREG_FIELD_PREP(EDP_PSR2_STATUS_STATE_MASK, 0x8)
> > > > 
> > > >    #define _PSR2_SU_STATUS_A0x60914
> > > >    #define _PSR2_SU_STATUS_EDP0x6f914
> > > > 
> > 


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

* Re: [Intel-gfx] [PATCH v3] drm/i915/display: Wait PSR2 get out of deep sleep to update pipe
  2021-10-11 20:53         ` Souza, Jose
@ 2021-10-13 20:39           ` Gwan-gyeong Mun
  2021-10-13 21:03             ` Souza, Jose
  0 siblings, 1 reply; 16+ messages in thread
From: Gwan-gyeong Mun @ 2021-10-13 20:39 UTC (permalink / raw)
  To: Souza, Jose, intel-gfx; +Cc: ville.syrjala



On 10/11/21 11:53 PM, Souza, Jose wrote:
> On Thu, 2021-10-07 at 12:31 +0300, Gwan-gyeong Mun wrote:
>>
>> On 10/6/21 11:04 PM, Souza, Jose wrote:
>>> On Wed, 2021-10-06 at 11:50 +0300, Gwan-gyeong Mun wrote:
>>>>
>>>> On 10/6/21 2:18 AM, José Roberto de Souza wrote:
>>>>> Alderlake-P was getting 'max time under evasion' messages when PSR2
>>>>> is enabled, this is due PIPE_SCANLINE/PIPEDSL returning 0 over a
>>>>> period of time longer than VBLANK_EVASION_TIME_US.
>>>>>
>>>>> For PSR1 we had the same issue so intel_psr_wait_for_idle() was
>>>>> implemented to wait for PSR1 to get into idle state but nothing was
>>>>> done for PSR2.
>>>>>
>>>>> For PSR2 we can't only wait for idle state as PSR2 tends to keep
>>>>> into sleep state(ready to send selective updates).
>>>>> Waiting for any state below deep sleep proved to be effective in
>>>>> avoiding the evasion messages and also not wasted a lot of time.
>>>>>
>>>>> v2:
>>>>> - dropping the additional wait_for loops, only the _wait_for_atomic()
>>>>> is necessary
>>>>> - waiting for states below EDP_PSR2_STATUS_STATE_DEEP_SLEEP
>>>>>
>>>>> v3:
>>>>> - dropping intel_wait_for_condition_atomic() function
>>>>>
>>>>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>>>> Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
>>>>> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
>>>>> ---
>>>>>     .../drm/i915/display/intel_display_debugfs.c  |  3 +-
>>>>>     drivers/gpu/drm/i915/display/intel_psr.c      | 52 +++++++++++--------
>>>>>     drivers/gpu/drm/i915/i915_reg.h               | 10 ++--
>>>>>     3 files changed, 36 insertions(+), 29 deletions(-)
>>>>>
>>>>> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
>>>>> index 309d74fd86ce1..d7dd3a57c6170 100644
>>>>> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
>>>>> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
>>>>> @@ -303,8 +303,7 @@ psr_source_status(struct intel_dp *intel_dp, struct seq_file *m)
>>>>>     };
>>>>>     val = intel_de_read(dev_priv,
>>>>>         EDP_PSR2_STATUS(intel_dp->psr.transcoder));
>>>>> -status_val = (val & EDP_PSR2_STATUS_STATE_MASK) >>
>>>>> -      EDP_PSR2_STATUS_STATE_SHIFT;
>>>>> +status_val = REG_FIELD_GET(EDP_PSR2_STATUS_STATE_MASK, val);
>>>>>     if (status_val < ARRAY_SIZE(live_status))
>>>>>     status = live_status[status_val];
>>>>>     } else {
>>>>> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
>>>>> index 7a205fd5023bb..ade514fc0a24d 100644
>>>>> --- a/drivers/gpu/drm/i915/display/intel_psr.c
>>>>> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
>>>>> @@ -1809,15 +1809,21 @@ void intel_psr_post_plane_update(const struct intel_atomic_state *state)
>>>>>     _intel_psr_post_plane_update(state, crtc_state);
>>>>>     }
>>>>>
>>>>> -/**
>>>>> - * psr_wait_for_idle - wait for PSR1 to idle
>>>>> - * @intel_dp: Intel DP
>>>>> - * @out_value: PSR status in case of failure
>>>>> - *
>>>>> - * Returns: 0 on success or -ETIMEOUT if PSR status does not idle.
>>>>> - *
>>>>> - */
>>>>> -static int psr_wait_for_idle(struct intel_dp *intel_dp, u32 *out_value)
>>>>> +static int _psr2_ready_for_pipe_update_locked(struct intel_dp *intel_dp)
>>>>> +{
>>>>> +struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
>>>>> +
>>>>> +/*
>>>>> + * Any state lower than EDP_PSR2_STATUS_STATE_DEEP_SLEEP is enough.
>>>>> + * As all higher states has bit 4 of PSR2 state set we can just wait for
>>>>> + * EDP_PSR2_STATUS_STATE_DEEP_SLEEP to be cleared.
>>>>> + */
>>>>> +return intel_de_wait_for_clear(dev_priv,
>>>>> +       EDP_PSR2_STATUS(intel_dp->psr.transcoder),
>>>>> +       EDP_PSR2_STATUS_STATE_DEEP_SLEEP, 50);
>>>> Under the DEEP_SLEEP state, there are IDLE, CAPTURE, CPTURE_FS, SLEEP,
>>>> BUFON_FW, ML_UP, SU_STANDBY, etc. In this case, whether the evasion
>>>> messages are completely tested in the state that changes quickly I think
>>>> the test period is a little insufficient.
>>>
>>> What is your suggestion of test for this?
>>>
>>> I left my Alderlake-P running overnight(more than 12 hours) with a News website open.
>>> This website reloads the page at every 5 minutes, so it entered and exited DC5/6 states several times without any evasion messages.
>>>
>>>> I think it may be necessary to test a little more or to have
>>>> confirmation from the HW person in charge.
>>>
>>> I can file an issue for this but it will probably several weeks to get an answer.
>>>
>> Yes, I am not disparaging what you tested.
>> However, since the current code confirms that only the 31st bit of the
>> PSR2_STATUS register is changed to 0 operationally,
>> it does not guarantee that the tested use cases have been tested for
>> IDLE, CAPTURE, CPTURE_FS, SLEEP, BUFON_FW, ML_UP, SU_STANDBY, and
>> FAST_SLEEP states.
>>
>> I can't think of a way to test each of the above states right now, but
>> what I can suggest is that "intel_de_wait_for_clear(dev_priv,
>> EDP_PSR2_STATUS(intel_dp->psr.transcoder),
>> EDP_PSR2_STATUS_STATE_DEEP_SLEEP, 50)" works normally. After that, can
>> you put a code that prints the current PSR2 status?
>>
>> If so, I think it will be easy to analyze the problem in case evasion
>> messages occur again after this code is applied later.
>> If additional confirmation from the responsible HW developer is received
>> at a later time, it is thought that future work such as deleting the
>> code that outputs the newly added current PSR Status at that time will
>> be possible.
> 
> Print the PSR status at every flip is too verbose.
> 
> Other option would be print the PSR status in case a evasion happened but that would not give us much information as the status would have changed
> between intel_pipe_update_start() and intel_pipe_update_end().
> 
> The current solution is better than no wait and if evasion messages comes back we can be more restrictive and make it wait for idle or sleep PSR2
> states.
> Rather than not waiting here, I agree to wait.
But unless you're just waiting for an IDLE state here,
when an evasion message occurs in CAPTURE, CPTURE_FS, SLEEP, BUFON_FW, 
ML_UP, SU_STANDBY, and FAST_SLEEP states, isn't it hard to know what 
caused the problem?
(If there is a problem, we need to reproduce the problem again, but if 
there is a problem at a certain time, you know that it is difficult to 
reproduce.)

If you can't add additional debugging information here, IMHO how about 
applying this patch after getting confirmation from the HW person as 
mentioned in the previous email?

Br,
G.G.
>>
>> Br,
>> G.G.
>>>>
>>>> [PSR2_STATUS]
>>>> +-------+------------+-------------------------------------------------+
>>>>> Value |    Name    | Description                                     |
>>>> +-------+------------+-------------------------------------------------+
>>>>> 0000b|    IDLE    | Reset state                                     |
>>>> +-------+------------+-------------------------------------------------+
>>>>> 0001b|   CAPTURE  | Send capture frame                              |
>>>> +-------+------------+-------------------------------------------------+
>>>>> 0010b|  CPTURE_FS | Fast sleep after capture frame is sent          |
>>>> +-------+------------+-------------------------------------------------+
>>>>> 0011b|    SLEEP   | Selective Update                                |
>>>> +-------+------------+-------------------------------------------------+
>>>>> 0100b|   BUFON_FW | Turn Buffer on and Send Fast wake               |
>>>> +-------+------------+-------------------------------------------------+
>>>>> 0101b|    ML_UP   | Turn Main link up and send SR                   |
>>>> +-------+------------+-------------------------------------------------+
>>>>> 0110b| SU_STANDBY | Selective update or Standby state               |
>>>> +-------+------------+-------------------------------------------------+
>>>>> 0111b| FAST_SLEEP | Send Fast sleep                                 |
>>>>
>>>> +-------+------------+-------------------------------------------------+
>>>>> 1000b| DEEP_SLEEP | Enter Deep sleep                                |
>>>> +-------+------------+-------------------------------------------------+
>>>>> 1001b|   BUF_ON   | Turn ON IO Buffer                               |
>>>> +-------+------------+-------------------------------------------------+
>>>>> 1010b|   TG_ON    | Turn ON Timing Generator                        |
>>>> +-------+------------+-------------------------------------------------+
>>>>> 1011b| BUFON_FW_2 |Turn Buffer on and Send Fast wake for 3 BlockCase|
>>>> +-------+------------+-------------------------------------------------+
>>>>> +}
>>>>> +
>>>>> +static int _psr1_ready_for_pipe_update_locked(struct intel_dp *intel_dp)
>>>>>     {
>>>>>     struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
>>>>>
>>>>> @@ -1827,15 +1833,13 @@ static int psr_wait_for_idle(struct intel_dp *intel_dp, u32 *out_value)
>>>>>      * exit training time + 1.5 ms of aux channel handshake. 50 ms is
>>>>>      * defensive enough to cover everything.
>>>>>      */
>>>>> -return __intel_wait_for_register(&dev_priv->uncore,
>>>>> - EDP_PSR_STATUS(intel_dp->psr.transcoder),
>>>>> - EDP_PSR_STATUS_STATE_MASK,
>>>>> - EDP_PSR_STATUS_STATE_IDLE, 2, 50,
>>>>> - out_value);
>>>>> +return intel_de_wait_for_clear(dev_priv,
>>>>> +       EDP_PSR_STATUS(intel_dp->psr.transcoder),
>>>>> +       EDP_PSR_STATUS_STATE_MASK, 50);
>>>>>     }
>>>>>
>>>>>     /**
>>>>> - * intel_psr_wait_for_idle - wait for PSR1 to idle
>>>>> + * intel_psr_wait_for_idle - wait for PSR be ready for a pipe update
>>>>>      * @new_crtc_state: new CRTC state
>>>>>      *
>>>>>      * This function is expected to be called from pipe_update_start() where it is
>>>>> @@ -1852,19 +1856,23 @@ void intel_psr_wait_for_idle(const struct intel_crtc_state *new_crtc_state)
>>>>>     for_each_intel_encoder_mask_with_psr(&dev_priv->drm, encoder,
>>>>>          new_crtc_state->uapi.encoder_mask) {
>>>>>     struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>>>>> -u32 psr_status;
>>>>> +int ret;
>>>>>
>>>>>     mutex_lock(&intel_dp->psr.lock);
>>>>> -if (!intel_dp->psr.enabled || intel_dp->psr.psr2_enabled) {
>>>>> +
>>>>> +if (!intel_dp->psr.enabled) {
>>>>>     mutex_unlock(&intel_dp->psr.lock);
>>>>>     continue;
>>>>>     }
>>>>>
>>>>> -/* when the PSR1 is enabled */
>>>>> -if (psr_wait_for_idle(intel_dp, &psr_status))
>>>>> -drm_err(&dev_priv->drm,
>>>>> -"PSR idle timed out 0x%x, atomic update may fail\n",
>>>>> -psr_status);
>>>>> +if (intel_dp->psr.psr2_enabled)
>>>>> +ret = _psr2_ready_for_pipe_update_locked(intel_dp);
>>>>> +else
>>>>> +ret = _psr1_ready_for_pipe_update_locked(intel_dp);
>>>>> +
>>>>> +if (ret)
>>>>> +drm_err(&dev_priv->drm, "PSR wait timed out, atomic update may fail\n");
>>>>> +
>>>>>     mutex_unlock(&intel_dp->psr.lock);
>>>>>     }
>>>>>     }
>>>>> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
>>>>> index a897f4abea0c3..e101579d3a4d8 100644
>>>>> --- a/drivers/gpu/drm/i915/i915_reg.h
>>>>> +++ b/drivers/gpu/drm/i915/i915_reg.h
>>>>> @@ -4700,11 +4700,11 @@ enum {
>>>>>     #define  PSR_EVENT_LPSP_MODE_EXIT(1 << 1)
>>>>>     #define  PSR_EVENT_PSR_DISABLE(1 << 0)
>>>>>
>>>>> -#define _PSR2_STATUS_A0x60940
>>>>> -#define _PSR2_STATUS_EDP0x6f940
>>>>> -#define EDP_PSR2_STATUS(tran)_MMIO_TRANS2(tran, _PSR2_STATUS_A)
>>>>> -#define EDP_PSR2_STATUS_STATE_MASK     (0xf << 28)
>>>>> -#define EDP_PSR2_STATUS_STATE_SHIFT    28
>>>>> +#define _PSR2_STATUS_A0x60940
>>>>> +#define _PSR2_STATUS_EDP0x6f940
>>>>> +#define EDP_PSR2_STATUS(tran)_MMIO_TRANS2(tran, _PSR2_STATUS_A)
>>>>> +#define EDP_PSR2_STATUS_STATE_MASKREG_GENMASK(31, 28)
>>>>> +#define EDP_PSR2_STATUS_STATE_DEEP_SLEEPREG_FIELD_PREP(EDP_PSR2_STATUS_STATE_MASK, 0x8)
>>>>>
>>>>>     #define _PSR2_SU_STATUS_A0x60914
>>>>>     #define _PSR2_SU_STATUS_EDP0x6f914
>>>>>
>>>
> 

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

* Re: [Intel-gfx] [PATCH v3] drm/i915/display: Wait PSR2 get out of deep sleep to update pipe
  2021-10-13 20:39           ` Gwan-gyeong Mun
@ 2021-10-13 21:03             ` Souza, Jose
  2021-10-21 13:06               ` Gwan-gyeong Mun
  0 siblings, 1 reply; 16+ messages in thread
From: Souza, Jose @ 2021-10-13 21:03 UTC (permalink / raw)
  To: Mun, Gwan-gyeong, intel-gfx; +Cc: ville.syrjala

On Wed, 2021-10-13 at 23:39 +0300, Gwan-gyeong Mun wrote:
> 
> On 10/11/21 11:53 PM, Souza, Jose wrote:
> > On Thu, 2021-10-07 at 12:31 +0300, Gwan-gyeong Mun wrote:
> > > 
> > > On 10/6/21 11:04 PM, Souza, Jose wrote:
> > > > On Wed, 2021-10-06 at 11:50 +0300, Gwan-gyeong Mun wrote:
> > > > > 
> > > > > On 10/6/21 2:18 AM, José Roberto de Souza wrote:
> > > > > > Alderlake-P was getting 'max time under evasion' messages when PSR2
> > > > > > is enabled, this is due PIPE_SCANLINE/PIPEDSL returning 0 over a
> > > > > > period of time longer than VBLANK_EVASION_TIME_US.
> > > > > > 
> > > > > > For PSR1 we had the same issue so intel_psr_wait_for_idle() was
> > > > > > implemented to wait for PSR1 to get into idle state but nothing was
> > > > > > done for PSR2.
> > > > > > 
> > > > > > For PSR2 we can't only wait for idle state as PSR2 tends to keep
> > > > > > into sleep state(ready to send selective updates).
> > > > > > Waiting for any state below deep sleep proved to be effective in
> > > > > > avoiding the evasion messages and also not wasted a lot of time.
> > > > > > 
> > > > > > v2:
> > > > > > - dropping the additional wait_for loops, only the _wait_for_atomic()
> > > > > > is necessary
> > > > > > - waiting for states below EDP_PSR2_STATUS_STATE_DEEP_SLEEP
> > > > > > 
> > > > > > v3:
> > > > > > - dropping intel_wait_for_condition_atomic() function
> > > > > > 
> > > > > > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > > > > > Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
> > > > > > Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> > > > > > ---
> > > > > >     .../drm/i915/display/intel_display_debugfs.c  |  3 +-
> > > > > >     drivers/gpu/drm/i915/display/intel_psr.c      | 52 +++++++++++--------
> > > > > >     drivers/gpu/drm/i915/i915_reg.h               | 10 ++--
> > > > > >     3 files changed, 36 insertions(+), 29 deletions(-)
> > > > > > 
> > > > > > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > > > index 309d74fd86ce1..d7dd3a57c6170 100644
> > > > > > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > > > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > > > > > @@ -303,8 +303,7 @@ psr_source_status(struct intel_dp *intel_dp, struct seq_file *m)
> > > > > >     };
> > > > > >     val = intel_de_read(dev_priv,
> > > > > >         EDP_PSR2_STATUS(intel_dp->psr.transcoder));
> > > > > > -status_val = (val & EDP_PSR2_STATUS_STATE_MASK) >>
> > > > > > -      EDP_PSR2_STATUS_STATE_SHIFT;
> > > > > > +status_val = REG_FIELD_GET(EDP_PSR2_STATUS_STATE_MASK, val);
> > > > > >     if (status_val < ARRAY_SIZE(live_status))
> > > > > >     status = live_status[status_val];
> > > > > >     } else {
> > > > > > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
> > > > > > index 7a205fd5023bb..ade514fc0a24d 100644
> > > > > > --- a/drivers/gpu/drm/i915/display/intel_psr.c
> > > > > > +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> > > > > > @@ -1809,15 +1809,21 @@ void intel_psr_post_plane_update(const struct intel_atomic_state *state)
> > > > > >     _intel_psr_post_plane_update(state, crtc_state);
> > > > > >     }
> > > > > > 
> > > > > > -/**
> > > > > > - * psr_wait_for_idle - wait for PSR1 to idle
> > > > > > - * @intel_dp: Intel DP
> > > > > > - * @out_value: PSR status in case of failure
> > > > > > - *
> > > > > > - * Returns: 0 on success or -ETIMEOUT if PSR status does not idle.
> > > > > > - *
> > > > > > - */
> > > > > > -static int psr_wait_for_idle(struct intel_dp *intel_dp, u32 *out_value)
> > > > > > +static int _psr2_ready_for_pipe_update_locked(struct intel_dp *intel_dp)
> > > > > > +{
> > > > > > +struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
> > > > > > +
> > > > > > +/*
> > > > > > + * Any state lower than EDP_PSR2_STATUS_STATE_DEEP_SLEEP is enough.
> > > > > > + * As all higher states has bit 4 of PSR2 state set we can just wait for
> > > > > > + * EDP_PSR2_STATUS_STATE_DEEP_SLEEP to be cleared.
> > > > > > + */
> > > > > > +return intel_de_wait_for_clear(dev_priv,
> > > > > > +       EDP_PSR2_STATUS(intel_dp->psr.transcoder),
> > > > > > +       EDP_PSR2_STATUS_STATE_DEEP_SLEEP, 50);
> > > > > Under the DEEP_SLEEP state, there are IDLE, CAPTURE, CPTURE_FS, SLEEP,
> > > > > BUFON_FW, ML_UP, SU_STANDBY, etc. In this case, whether the evasion
> > > > > messages are completely tested in the state that changes quickly I think
> > > > > the test period is a little insufficient.
> > > > 
> > > > What is your suggestion of test for this?
> > > > 
> > > > I left my Alderlake-P running overnight(more than 12 hours) with a News website open.
> > > > This website reloads the page at every 5 minutes, so it entered and exited DC5/6 states several times without any evasion messages.
> > > > 
> > > > > I think it may be necessary to test a little more or to have
> > > > > confirmation from the HW person in charge.
> > > > 
> > > > I can file an issue for this but it will probably several weeks to get an answer.
> > > > 
> > > Yes, I am not disparaging what you tested.
> > > However, since the current code confirms that only the 31st bit of the
> > > PSR2_STATUS register is changed to 0 operationally,
> > > it does not guarantee that the tested use cases have been tested for
> > > IDLE, CAPTURE, CPTURE_FS, SLEEP, BUFON_FW, ML_UP, SU_STANDBY, and
> > > FAST_SLEEP states.
> > > 
> > > I can't think of a way to test each of the above states right now, but
> > > what I can suggest is that "intel_de_wait_for_clear(dev_priv,
> > > EDP_PSR2_STATUS(intel_dp->psr.transcoder),
> > > EDP_PSR2_STATUS_STATE_DEEP_SLEEP, 50)" works normally. After that, can
> > > you put a code that prints the current PSR2 status?
> > > 
> > > If so, I think it will be easy to analyze the problem in case evasion
> > > messages occur again after this code is applied later.
> > > If additional confirmation from the responsible HW developer is received
> > > at a later time, it is thought that future work such as deleting the
> > > code that outputs the newly added current PSR Status at that time will
> > > be possible.
> > 
> > Print the PSR status at every flip is too verbose.
> > 
> > Other option would be print the PSR status in case a evasion happened but that would not give us much information as the status would have changed
> > between intel_pipe_update_start() and intel_pipe_update_end().
> > 
> > The current solution is better than no wait and if evasion messages comes back we can be more restrictive and make it wait for idle or sleep PSR2
> > states.
> > Rather than not waiting here, I agree to wait.
> But unless you're just waiting for an IDLE state here,
> when an evasion message occurs in CAPTURE, CPTURE_FS, SLEEP, BUFON_FW, 
> ML_UP, SU_STANDBY, and FAST_SLEEP states, isn't it hard to know what 
> caused the problem?
> (If there is a problem, we need to reproduce the problem again, but if 
> there is a problem at a certain time, you know that it is difficult to 
> reproduce.)

We can't only wait for idle, when PSR2 is active it stays at sleep state.
If a evasion happens and state is in CAPTURE do you know for sure what are the previous states of CAPTURE?
I can have some assumptions but not sure and specification don't have this information too.

ChromeOS reported evasion errors in their end today, their branch did not had this patch so we can't wait several weeks to get an answer from HW team.
Windows driver uses DMC queue to do flips, so we can't even check what Windows driver does.

> 
> If you can't add additional debugging information here, IMHO how about 
> applying this patch after getting confirmation from the HW person as 
> mentioned in the previous email?
> 
> Br,
> G.G.
> > > 
> > > Br,
> > > G.G.
> > > > > 
> > > > > [PSR2_STATUS]
> > > > > +-------+------------+-------------------------------------------------+
> > > > > > Value |    Name    | Description                                     |
> > > > > +-------+------------+-------------------------------------------------+
> > > > > > 0000b|    IDLE    | Reset state                                     |
> > > > > +-------+------------+-------------------------------------------------+
> > > > > > 0001b|   CAPTURE  | Send capture frame                              |
> > > > > +-------+------------+-------------------------------------------------+
> > > > > > 0010b|  CPTURE_FS | Fast sleep after capture frame is sent          |
> > > > > +-------+------------+-------------------------------------------------+
> > > > > > 0011b|    SLEEP   | Selective Update                                |
> > > > > +-------+------------+-------------------------------------------------+
> > > > > > 0100b|   BUFON_FW | Turn Buffer on and Send Fast wake               |
> > > > > +-------+------------+-------------------------------------------------+
> > > > > > 0101b|    ML_UP   | Turn Main link up and send SR                   |
> > > > > +-------+------------+-------------------------------------------------+
> > > > > > 0110b| SU_STANDBY | Selective update or Standby state               |
> > > > > +-------+------------+-------------------------------------------------+
> > > > > > 0111b| FAST_SLEEP | Send Fast sleep                                 |
> > > > > 
> > > > > +-------+------------+-------------------------------------------------+
> > > > > > 1000b| DEEP_SLEEP | Enter Deep sleep                                |
> > > > > +-------+------------+-------------------------------------------------+
> > > > > > 1001b|   BUF_ON   | Turn ON IO Buffer                               |
> > > > > +-------+------------+-------------------------------------------------+
> > > > > > 1010b|   TG_ON    | Turn ON Timing Generator                        |
> > > > > +-------+------------+-------------------------------------------------+
> > > > > > 1011b| BUFON_FW_2 |Turn Buffer on and Send Fast wake for 3 BlockCase|
> > > > > +-------+------------+-------------------------------------------------+
> > > > > > +}
> > > > > > +
> > > > > > +static int _psr1_ready_for_pipe_update_locked(struct intel_dp *intel_dp)
> > > > > >     {
> > > > > >     struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
> > > > > > 
> > > > > > @@ -1827,15 +1833,13 @@ static int psr_wait_for_idle(struct intel_dp *intel_dp, u32 *out_value)
> > > > > >      * exit training time + 1.5 ms of aux channel handshake. 50 ms is
> > > > > >      * defensive enough to cover everything.
> > > > > >      */
> > > > > > -return __intel_wait_for_register(&dev_priv->uncore,
> > > > > > - EDP_PSR_STATUS(intel_dp->psr.transcoder),
> > > > > > - EDP_PSR_STATUS_STATE_MASK,
> > > > > > - EDP_PSR_STATUS_STATE_IDLE, 2, 50,
> > > > > > - out_value);
> > > > > > +return intel_de_wait_for_clear(dev_priv,
> > > > > > +       EDP_PSR_STATUS(intel_dp->psr.transcoder),
> > > > > > +       EDP_PSR_STATUS_STATE_MASK, 50);
> > > > > >     }
> > > > > > 
> > > > > >     /**
> > > > > > - * intel_psr_wait_for_idle - wait for PSR1 to idle
> > > > > > + * intel_psr_wait_for_idle - wait for PSR be ready for a pipe update
> > > > > >      * @new_crtc_state: new CRTC state
> > > > > >      *
> > > > > >      * This function is expected to be called from pipe_update_start() where it is
> > > > > > @@ -1852,19 +1856,23 @@ void intel_psr_wait_for_idle(const struct intel_crtc_state *new_crtc_state)
> > > > > >     for_each_intel_encoder_mask_with_psr(&dev_priv->drm, encoder,
> > > > > >          new_crtc_state->uapi.encoder_mask) {
> > > > > >     struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> > > > > > -u32 psr_status;
> > > > > > +int ret;
> > > > > > 
> > > > > >     mutex_lock(&intel_dp->psr.lock);
> > > > > > -if (!intel_dp->psr.enabled || intel_dp->psr.psr2_enabled) {
> > > > > > +
> > > > > > +if (!intel_dp->psr.enabled) {
> > > > > >     mutex_unlock(&intel_dp->psr.lock);
> > > > > >     continue;
> > > > > >     }
> > > > > > 
> > > > > > -/* when the PSR1 is enabled */
> > > > > > -if (psr_wait_for_idle(intel_dp, &psr_status))
> > > > > > -drm_err(&dev_priv->drm,
> > > > > > -"PSR idle timed out 0x%x, atomic update may fail\n",
> > > > > > -psr_status);
> > > > > > +if (intel_dp->psr.psr2_enabled)
> > > > > > +ret = _psr2_ready_for_pipe_update_locked(intel_dp);
> > > > > > +else
> > > > > > +ret = _psr1_ready_for_pipe_update_locked(intel_dp);
> > > > > > +
> > > > > > +if (ret)
> > > > > > +drm_err(&dev_priv->drm, "PSR wait timed out, atomic update may fail\n");
> > > > > > +
> > > > > >     mutex_unlock(&intel_dp->psr.lock);
> > > > > >     }
> > > > > >     }
> > > > > > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> > > > > > index a897f4abea0c3..e101579d3a4d8 100644
> > > > > > --- a/drivers/gpu/drm/i915/i915_reg.h
> > > > > > +++ b/drivers/gpu/drm/i915/i915_reg.h
> > > > > > @@ -4700,11 +4700,11 @@ enum {
> > > > > >     #define  PSR_EVENT_LPSP_MODE_EXIT(1 << 1)
> > > > > >     #define  PSR_EVENT_PSR_DISABLE(1 << 0)
> > > > > > 
> > > > > > -#define _PSR2_STATUS_A0x60940
> > > > > > -#define _PSR2_STATUS_EDP0x6f940
> > > > > > -#define EDP_PSR2_STATUS(tran)_MMIO_TRANS2(tran, _PSR2_STATUS_A)
> > > > > > -#define EDP_PSR2_STATUS_STATE_MASK     (0xf << 28)
> > > > > > -#define EDP_PSR2_STATUS_STATE_SHIFT    28
> > > > > > +#define _PSR2_STATUS_A0x60940
> > > > > > +#define _PSR2_STATUS_EDP0x6f940
> > > > > > +#define EDP_PSR2_STATUS(tran)_MMIO_TRANS2(tran, _PSR2_STATUS_A)
> > > > > > +#define EDP_PSR2_STATUS_STATE_MASKREG_GENMASK(31, 28)
> > > > > > +#define EDP_PSR2_STATUS_STATE_DEEP_SLEEPREG_FIELD_PREP(EDP_PSR2_STATUS_STATE_MASK, 0x8)
> > > > > > 
> > > > > >     #define _PSR2_SU_STATUS_A0x60914
> > > > > >     #define _PSR2_SU_STATUS_EDP0x6f914
> > > > > > 
> > > > 
> > 


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

* Re: [Intel-gfx] [PATCH v3] drm/i915/display: Wait PSR2 get out of deep sleep to update pipe
  2021-10-13 21:03             ` Souza, Jose
@ 2021-10-21 13:06               ` Gwan-gyeong Mun
  0 siblings, 0 replies; 16+ messages in thread
From: Gwan-gyeong Mun @ 2021-10-21 13:06 UTC (permalink / raw)
  To: Souza, Jose, intel-gfx; +Cc: ville.syrjala



On 10/14/21 12:03 AM, Souza, Jose wrote:
> On Wed, 2021-10-13 at 23:39 +0300, Gwan-gyeong Mun wrote:
>>
>> On 10/11/21 11:53 PM, Souza, Jose wrote:
>>> On Thu, 2021-10-07 at 12:31 +0300, Gwan-gyeong Mun wrote:
>>>>
>>>> On 10/6/21 11:04 PM, Souza, Jose wrote:
>>>>> On Wed, 2021-10-06 at 11:50 +0300, Gwan-gyeong Mun wrote:
>>>>>>
>>>>>> On 10/6/21 2:18 AM, José Roberto de Souza wrote:
>>>>>>> Alderlake-P was getting 'max time under evasion' messages when PSR2
>>>>>>> is enabled, this is due PIPE_SCANLINE/PIPEDSL returning 0 over a
>>>>>>> period of time longer than VBLANK_EVASION_TIME_US.
>>>>>>>
>>>>>>> For PSR1 we had the same issue so intel_psr_wait_for_idle() was
>>>>>>> implemented to wait for PSR1 to get into idle state but nothing was
>>>>>>> done for PSR2.
>>>>>>>
>>>>>>> For PSR2 we can't only wait for idle state as PSR2 tends to keep
>>>>>>> into sleep state(ready to send selective updates).
>>>>>>> Waiting for any state below deep sleep proved to be effective in
>>>>>>> avoiding the evasion messages and also not wasted a lot of time.
>>>>>>>
>>>>>>> v2:
>>>>>>> - dropping the additional wait_for loops, only the _wait_for_atomic()
>>>>>>> is necessary
>>>>>>> - waiting for states below EDP_PSR2_STATUS_STATE_DEEP_SLEEP
>>>>>>>
>>>>>>> v3:
>>>>>>> - dropping intel_wait_for_condition_atomic() function
>>>>>>>
>>>>>>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>>>>>> Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
>>>>>>> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
>>>>>>> ---
>>>>>>>      .../drm/i915/display/intel_display_debugfs.c  |  3 +-
>>>>>>>      drivers/gpu/drm/i915/display/intel_psr.c      | 52 +++++++++++--------
>>>>>>>      drivers/gpu/drm/i915/i915_reg.h               | 10 ++--
>>>>>>>      3 files changed, 36 insertions(+), 29 deletions(-)
>>>>>>>
>>>>>>> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
>>>>>>> index 309d74fd86ce1..d7dd3a57c6170 100644
>>>>>>> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
>>>>>>> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
>>>>>>> @@ -303,8 +303,7 @@ psr_source_status(struct intel_dp *intel_dp, struct seq_file *m)
>>>>>>>      };
>>>>>>>      val = intel_de_read(dev_priv,
>>>>>>>          EDP_PSR2_STATUS(intel_dp->psr.transcoder));
>>>>>>> -status_val = (val & EDP_PSR2_STATUS_STATE_MASK) >>
>>>>>>> -      EDP_PSR2_STATUS_STATE_SHIFT;
>>>>>>> +status_val = REG_FIELD_GET(EDP_PSR2_STATUS_STATE_MASK, val);
>>>>>>>      if (status_val < ARRAY_SIZE(live_status))
>>>>>>>      status = live_status[status_val];
>>>>>>>      } else {
>>>>>>> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
>>>>>>> index 7a205fd5023bb..ade514fc0a24d 100644
>>>>>>> --- a/drivers/gpu/drm/i915/display/intel_psr.c
>>>>>>> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
>>>>>>> @@ -1809,15 +1809,21 @@ void intel_psr_post_plane_update(const struct intel_atomic_state *state)
>>>>>>>      _intel_psr_post_plane_update(state, crtc_state);
>>>>>>>      }
>>>>>>>
>>>>>>> -/**
>>>>>>> - * psr_wait_for_idle - wait for PSR1 to idle
>>>>>>> - * @intel_dp: Intel DP
>>>>>>> - * @out_value: PSR status in case of failure
>>>>>>> - *
>>>>>>> - * Returns: 0 on success or -ETIMEOUT if PSR status does not idle.
>>>>>>> - *
>>>>>>> - */
>>>>>>> -static int psr_wait_for_idle(struct intel_dp *intel_dp, u32 *out_value)
>>>>>>> +static int _psr2_ready_for_pipe_update_locked(struct intel_dp *intel_dp)
>>>>>>> +{
>>>>>>> +struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
>>>>>>> +
>>>>>>> +/*
>>>>>>> + * Any state lower than EDP_PSR2_STATUS_STATE_DEEP_SLEEP is enough.
>>>>>>> + * As all higher states has bit 4 of PSR2 state set we can just wait for
>>>>>>> + * EDP_PSR2_STATUS_STATE_DEEP_SLEEP to be cleared.
>>>>>>> + */
>>>>>>> +return intel_de_wait_for_clear(dev_priv,
>>>>>>> +       EDP_PSR2_STATUS(intel_dp->psr.transcoder),
>>>>>>> +       EDP_PSR2_STATUS_STATE_DEEP_SLEEP, 50);
>>>>>> Under the DEEP_SLEEP state, there are IDLE, CAPTURE, CPTURE_FS, SLEEP,
>>>>>> BUFON_FW, ML_UP, SU_STANDBY, etc. In this case, whether the evasion
>>>>>> messages are completely tested in the state that changes quickly I think
>>>>>> the test period is a little insufficient.
>>>>>
>>>>> What is your suggestion of test for this?
>>>>>
>>>>> I left my Alderlake-P running overnight(more than 12 hours) with a News website open.
>>>>> This website reloads the page at every 5 minutes, so it entered and exited DC5/6 states several times without any evasion messages.
>>>>>
>>>>>> I think it may be necessary to test a little more or to have
>>>>>> confirmation from the HW person in charge.
>>>>>
>>>>> I can file an issue for this but it will probably several weeks to get an answer.
>>>>>
>>>> Yes, I am not disparaging what you tested.
>>>> However, since the current code confirms that only the 31st bit of the
>>>> PSR2_STATUS register is changed to 0 operationally,
>>>> it does not guarantee that the tested use cases have been tested for
>>>> IDLE, CAPTURE, CPTURE_FS, SLEEP, BUFON_FW, ML_UP, SU_STANDBY, and
>>>> FAST_SLEEP states.
>>>>
>>>> I can't think of a way to test each of the above states right now, but
>>>> what I can suggest is that "intel_de_wait_for_clear(dev_priv,
>>>> EDP_PSR2_STATUS(intel_dp->psr.transcoder),
>>>> EDP_PSR2_STATUS_STATE_DEEP_SLEEP, 50)" works normally. After that, can
>>>> you put a code that prints the current PSR2 status?
>>>>
>>>> If so, I think it will be easy to analyze the problem in case evasion
>>>> messages occur again after this code is applied later.
>>>> If additional confirmation from the responsible HW developer is received
>>>> at a later time, it is thought that future work such as deleting the
>>>> code that outputs the newly added current PSR Status at that time will
>>>> be possible.
>>>
>>> Print the PSR status at every flip is too verbose.
>>>
>>> Other option would be print the PSR status in case a evasion happened but that would not give us much information as the status would have changed
>>> between intel_pipe_update_start() and intel_pipe_update_end().
>>>
>>> The current solution is better than no wait and if evasion messages comes back we can be more restrictive and make it wait for idle or sleep PSR2
>>> states.
>>> Rather than not waiting here, I agree to wait.
>> But unless you're just waiting for an IDLE state here,
>> when an evasion message occurs in CAPTURE, CPTURE_FS, SLEEP, BUFON_FW,
>> ML_UP, SU_STANDBY, and FAST_SLEEP states, isn't it hard to know what
>> caused the problem?
>> (If there is a problem, we need to reproduce the problem again, but if
>> there is a problem at a certain time, you know that it is difficult to
>> reproduce.)
> 
> We can't only wait for idle, when PSR2 is active it stays at sleep state.
> If a evasion happens and state is in CAPTURE do you know for sure what are the previous states of CAPTURE?
> I can have some assumptions but not sure and specification don't have this information too.
> 
> ChromeOS reported evasion errors in their end today, their branch did not had this patch so we can't wait several weeks to get an answer from HW team.
> Windows driver uses DMC queue to do flips, so we can't even check what Windows driver does.
> 
Hi, today I got the confirmation from HW's responsible developer.

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

And if you don't mind could you add the below comments to the commit 
messages or comments?

The timing generator affects the return value of PIPE_SCANLINE/PIPEDSL.
When the PSR2 is going to Deep Sleep state, the timing generator turns off.
And after the time to wake the link back up (it depends on PSR2_CTL[TP2 
Time]), the timing generator will be turned back.

the below-listed states are the PSR2 states where the timing generator 
is still running.
therefore it is safe to use the value of PIPE_SCANLINE/PIPEDSL when 
PSR2_STATUS[PSR2 State] indicates these states.
: IDLE, CAPTURE, CPTURE_FS, SLEEP, BUFON_FW, ML_UP, SU_STANDBY.

Thanks,
G.G.
>>
>> If you can't add additional debugging information here, IMHO how about
>> applying this patch after getting confirmation from the HW person as
>> mentioned in the previous email?
>>
>> Br,
>> G.G.
>>>>
>>>> Br,
>>>> G.G.
>>>>>>
>>>>>> [PSR2_STATUS]
>>>>>> +-------+------------+-------------------------------------------------+
>>>>>>> Value |    Name    | Description                                     |
>>>>>> +-------+------------+-------------------------------------------------+
>>>>>>> 0000b|    IDLE    | Reset state                                     |
>>>>>> +-------+------------+-------------------------------------------------+
>>>>>>> 0001b|   CAPTURE  | Send capture frame                              |
>>>>>> +-------+------------+-------------------------------------------------+
>>>>>>> 0010b|  CPTURE_FS | Fast sleep after capture frame is sent          |
>>>>>> +-------+------------+-------------------------------------------------+
>>>>>>> 0011b|    SLEEP   | Selective Update                                |
>>>>>> +-------+------------+-------------------------------------------------+
>>>>>>> 0100b|   BUFON_FW | Turn Buffer on and Send Fast wake               |
>>>>>> +-------+------------+-------------------------------------------------+
>>>>>>> 0101b|    ML_UP   | Turn Main link up and send SR                   |
>>>>>> +-------+------------+-------------------------------------------------+
>>>>>>> 0110b| SU_STANDBY | Selective update or Standby state               |
>>>>>> +-------+------------+-------------------------------------------------+
>>>>>>> 0111b| FAST_SLEEP | Send Fast sleep                                 |
>>>>>>
>>>>>> +-------+------------+-------------------------------------------------+
>>>>>>> 1000b| DEEP_SLEEP | Enter Deep sleep                                |
>>>>>> +-------+------------+-------------------------------------------------+
>>>>>>> 1001b|   BUF_ON   | Turn ON IO Buffer                               |
>>>>>> +-------+------------+-------------------------------------------------+
>>>>>>> 1010b|   TG_ON    | Turn ON Timing Generator                        |
>>>>>> +-------+------------+-------------------------------------------------+
>>>>>>> 1011b| BUFON_FW_2 |Turn Buffer on and Send Fast wake for 3 BlockCase|
>>>>>> +-------+------------+-------------------------------------------------+
>>>>>>> +}
>>>>>>> +
>>>>>>> +static int _psr1_ready_for_pipe_update_locked(struct intel_dp *intel_dp)
>>>>>>>      {
>>>>>>>      struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
>>>>>>>
>>>>>>> @@ -1827,15 +1833,13 @@ static int psr_wait_for_idle(struct intel_dp *intel_dp, u32 *out_value)
>>>>>>>       * exit training time + 1.5 ms of aux channel handshake. 50 ms is
>>>>>>>       * defensive enough to cover everything.
>>>>>>>       */
>>>>>>> -return __intel_wait_for_register(&dev_priv->uncore,
>>>>>>> - EDP_PSR_STATUS(intel_dp->psr.transcoder),
>>>>>>> - EDP_PSR_STATUS_STATE_MASK,
>>>>>>> - EDP_PSR_STATUS_STATE_IDLE, 2, 50,
>>>>>>> - out_value);
>>>>>>> +return intel_de_wait_for_clear(dev_priv,
>>>>>>> +       EDP_PSR_STATUS(intel_dp->psr.transcoder),
>>>>>>> +       EDP_PSR_STATUS_STATE_MASK, 50);
>>>>>>>      }
>>>>>>>
>>>>>>>      /**
>>>>>>> - * intel_psr_wait_for_idle - wait for PSR1 to idle
>>>>>>> + * intel_psr_wait_for_idle - wait for PSR be ready for a pipe update
>>>>>>>       * @new_crtc_state: new CRTC state
>>>>>>>       *
>>>>>>>       * This function is expected to be called from pipe_update_start() where it is
>>>>>>> @@ -1852,19 +1856,23 @@ void intel_psr_wait_for_idle(const struct intel_crtc_state *new_crtc_state)
>>>>>>>      for_each_intel_encoder_mask_with_psr(&dev_priv->drm, encoder,
>>>>>>>           new_crtc_state->uapi.encoder_mask) {
>>>>>>>      struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>>>>>>> -u32 psr_status;
>>>>>>> +int ret;
>>>>>>>
>>>>>>>      mutex_lock(&intel_dp->psr.lock);
>>>>>>> -if (!intel_dp->psr.enabled || intel_dp->psr.psr2_enabled) {
>>>>>>> +
>>>>>>> +if (!intel_dp->psr.enabled) {
>>>>>>>      mutex_unlock(&intel_dp->psr.lock);
>>>>>>>      continue;
>>>>>>>      }
>>>>>>>
>>>>>>> -/* when the PSR1 is enabled */
>>>>>>> -if (psr_wait_for_idle(intel_dp, &psr_status))
>>>>>>> -drm_err(&dev_priv->drm,
>>>>>>> -"PSR idle timed out 0x%x, atomic update may fail\n",
>>>>>>> -psr_status);
>>>>>>> +if (intel_dp->psr.psr2_enabled)
>>>>>>> +ret = _psr2_ready_for_pipe_update_locked(intel_dp);
>>>>>>> +else
>>>>>>> +ret = _psr1_ready_for_pipe_update_locked(intel_dp);
>>>>>>> +
>>>>>>> +if (ret)
>>>>>>> +drm_err(&dev_priv->drm, "PSR wait timed out, atomic update may fail\n");
>>>>>>> +
>>>>>>>      mutex_unlock(&intel_dp->psr.lock);
>>>>>>>      }
>>>>>>>      }
>>>>>>> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
>>>>>>> index a897f4abea0c3..e101579d3a4d8 100644
>>>>>>> --- a/drivers/gpu/drm/i915/i915_reg.h
>>>>>>> +++ b/drivers/gpu/drm/i915/i915_reg.h
>>>>>>> @@ -4700,11 +4700,11 @@ enum {
>>>>>>>      #define  PSR_EVENT_LPSP_MODE_EXIT(1 << 1)
>>>>>>>      #define  PSR_EVENT_PSR_DISABLE(1 << 0)
>>>>>>>
>>>>>>> -#define _PSR2_STATUS_A0x60940
>>>>>>> -#define _PSR2_STATUS_EDP0x6f940
>>>>>>> -#define EDP_PSR2_STATUS(tran)_MMIO_TRANS2(tran, _PSR2_STATUS_A)
>>>>>>> -#define EDP_PSR2_STATUS_STATE_MASK     (0xf << 28)
>>>>>>> -#define EDP_PSR2_STATUS_STATE_SHIFT    28
>>>>>>> +#define _PSR2_STATUS_A0x60940
>>>>>>> +#define _PSR2_STATUS_EDP0x6f940
>>>>>>> +#define EDP_PSR2_STATUS(tran)_MMIO_TRANS2(tran, _PSR2_STATUS_A)
>>>>>>> +#define EDP_PSR2_STATUS_STATE_MASKREG_GENMASK(31, 28)
>>>>>>> +#define EDP_PSR2_STATUS_STATE_DEEP_SLEEPREG_FIELD_PREP(EDP_PSR2_STATUS_STATE_MASK, 0x8)
>>>>>>>
>>>>>>>      #define _PSR2_SU_STATUS_A0x60914
>>>>>>>      #define _PSR2_SU_STATUS_EDP0x6f914
>>>>>>>
>>>>>
>>>
> 

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

* Re: [Intel-gfx]  ✗ Fi.CI.IGT: failure for drm/i915/display: Wait PSR2 get out of deep sleep to update pipe (rev3)
  2021-10-06  6:49 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
@ 2021-10-26 17:35   ` Souza, Jose
  0 siblings, 0 replies; 16+ messages in thread
From: Souza, Jose @ 2021-10-26 17:35 UTC (permalink / raw)
  To: intel-gfx

On Wed, 2021-10-06 at 06:49 +0000, Patchwork wrote:

> Patch Details
> Series:	drm/i915/display: Wait PSR2 get out of deep sleep to update pipe (rev3)
> URL:	https://patchwork.freedesktop.org/series/95309/
> State:	failure
> Details:	https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21259/index.html
> CI Bug Log - changes from CI_DRM_10685_full -> Patchwork_21259_full
> 
> Summary
> 
> FAILURE
> 
> Serious unknown changes coming with Patchwork_21259_full absolutely need to be
> verified manually.
> 
> If you think the reported changes have nothing to do with the changes
> introduced in Patchwork_21259_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_21259_full:
> 
> IGT changes
> 
> Possible regressions
> 
> igt@i915_pm_dc@dc9-dpms:
> shard-iclb: PASS -> FAIL

Not related.

Patch pushed, thanks for the review GG.

> Known issues
> 
> Here are the changes found in Patchwork_21259_full that come from known issues:
> 
> IGT changes
> 
> Issues hit
> 
> igt@feature_discovery@display-2x:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#1839])
> igt@gem_ctx_persistence@legacy-engines-mixed-process:
> 
> shard-snb: NOTRUN -> SKIP ([fdo#109271] / [i915#1099]) +1 similar issue
> igt@gem_eio@unwedge-stress:
> 
> shard-iclb: PASS -> TIMEOUT ([i915#2369] / [i915#2481] / [i915#3070])
> igt@gem_exec_fair@basic-deadline:
> 
> shard-apl: NOTRUN -> FAIL ([i915#2846])
> igt@gem_exec_fair@basic-flow@rcs0:
> 
> shard-tglb: PASS -> FAIL ([i915#2842])
> igt@gem_exec_fair@basic-none-share@rcs0:
> 
> shard-iclb: PASS -> FAIL ([i915#2842])
> igt@gem_exec_fair@basic-none@vcs0:
> 
> shard-apl: PASS -> FAIL ([i915#2842])
> igt@gem_exec_fair@basic-none@vcs1:
> 
> shard-kbl: PASS -> FAIL ([i915#2842])
> igt@gem_exec_fair@basic-pace-share@rcs0:
> 
> shard-tglb: NOTRUN -> FAIL ([i915#2842])
> igt@gem_exec_fair@basic-pace@vcs1:
> 
> shard-iclb: NOTRUN -> FAIL ([i915#2842])
> igt@gem_workarounds@suspend-resume-context:
> 
> shard-apl: PASS -> DMESG-WARN ([i915#180]) +1 similar issue
> igt@gem_workarounds@suspend-resume-fd:
> 
> shard-kbl: NOTRUN -> DMESG-WARN ([i915#180])
> igt@gen3_render_tiledy_blits:
> 
> shard-tglb: NOTRUN -> SKIP ([fdo#109289]) +1 similar issue
> igt@gen9_exec_parse@bb-secure:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#2856]) +1 similar issue
> igt@i915_pm_lpsp@screens-disabled:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#1902])
> igt@i915_pm_rc6_residency@media-rc6-accuracy:
> 
> shard-tglb: NOTRUN -> SKIP ([fdo#109289] / [fdo#111719])
> igt@i915_pm_rpm@pc8-residency:
> 
> shard-tglb: NOTRUN -> SKIP ([fdo#109506] / [i915#2411])
> igt@i915_selftest@mock@requests:
> 
> shard-skl: PASS -> INCOMPLETE ([i915#198])
> igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip:
> 
> shard-apl: NOTRUN -> SKIP ([fdo#109271] / [i915#3777]) +1 similar issue
> igt@kms_big_fb@yf-tiled-addfb:
> 
> shard-tglb: NOTRUN -> SKIP ([fdo#111615]) +2 similar issues
> igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip:
> 
> shard-kbl: NOTRUN -> SKIP ([fdo#109271] / [i915#3777])
> igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0:
> 
> shard-apl: NOTRUN -> SKIP ([fdo#109271]) +208 similar issues
> igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_mc_ccs:
> 
> shard-apl: NOTRUN -> SKIP ([fdo#109271] / [i915#3886]) +10 similar issues
> igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc:
> 
> shard-kbl: NOTRUN -> SKIP ([fdo#109271] / [i915#3886]) +10 similar issues
> igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_gen12_mc_ccs:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#3689] / [i915#3886]) +4 similar issues
> igt@kms_ccs@pipe-d-bad-pixel-format-y_tiled_ccs:
> 
> shard-snb: NOTRUN -> SKIP ([fdo#109271]) +144 similar issues
> igt@kms_ccs@pipe-d-missing-ccs-buffer-yf_tiled_ccs:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#3689]) +3 similar issues
> igt@kms_cdclk@plane-scaling:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#3742])
> igt@kms_chamelium@hdmi-hpd-enable-disable-mode:
> 
> shard-kbl: NOTRUN -> SKIP ([fdo#109271] / [fdo#111827]) +13 similar issues
> igt@kms_color@pipe-c-ctm-0-5:
> 
> shard-skl: PASS -> DMESG-WARN ([i915#1982])
> igt@kms_color_chamelium@pipe-b-ctm-max:
> 
> shard-snb: NOTRUN -> SKIP ([fdo#109271] / [fdo#111827]) +6 similar issues
> igt@kms_color_chamelium@pipe-c-ctm-max:
> 
> shard-apl: NOTRUN -> SKIP ([fdo#109271] / [fdo#111827]) +18 similar issues
> igt@kms_color_chamelium@pipe-d-ctm-red-to-blue:
> 
> shard-tglb: NOTRUN -> SKIP ([fdo#109284] / [fdo#111827]) +6 similar issues
> igt@kms_content_protection@atomic-dpms:
> 
> shard-apl: NOTRUN -> TIMEOUT ([i915#1319])
> igt@kms_content_protection@srm:
> 
> shard-kbl: NOTRUN -> TIMEOUT ([i915#1319])
> igt@kms_cursor_crc@pipe-a-cursor-suspend:
> 
> shard-tglb: PASS -> INCOMPLETE ([i915#2828] / [i915#456])
> igt@kms_cursor_crc@pipe-d-cursor-32x10-offscreen:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#3359]) +3 similar issues
> igt@kms_cursor_crc@pipe-d-cursor-32x32-rapid-movement:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#3319])
> igt@kms_cursor_crc@pipe-d-cursor-512x170-offscreen:
> 
> shard-tglb: NOTRUN -> SKIP ([fdo#109279] / [i915#3359]) +1 similar issue
> igt@kms_cursor_edge_walk@pipe-d-64x64-right-edge:
> 
> shard-skl: NOTRUN -> SKIP ([fdo#109271]) +4 similar issues
> igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#4103])
> igt@kms_cursor_legacy@pipe-d-single-bo:
> 
> shard-apl: NOTRUN -> SKIP ([fdo#109271] / [i915#533])
> igt@kms_flip@flip-vs-suspend@c-dp1:
> 
> shard-kbl: PASS -> DMESG-WARN ([i915#180]) +6 similar issues
> igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs:
> 
> shard-apl: NOTRUN -> SKIP ([fdo#109271] / [i915#2672])
> igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile:
> 
> shard-iclb: PASS -> SKIP ([i915#3701]) +1 similar issue
> igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs:
> 
> shard-kbl: NOTRUN -> SKIP ([fdo#109271] / [i915#2672])
> igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc:
> 
> shard-glk: PASS -> FAIL ([i915#2546])
> igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-move:
> 
> shard-tglb: NOTRUN -> SKIP ([fdo#111825]) +22 similar issues
> igt@kms_frontbuffer_tracking@fbc-suspend:
> 
> shard-tglb: PASS -> INCOMPLETE ([i915#2411] / [i915#456])
> igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-wc:
> 
> shard-kbl: NOTRUN -> SKIP ([fdo#109271]) +147 similar issues
> igt@kms_hdr@bpc-switch-dpms:
> 
> shard-skl: PASS -> FAIL ([i915#1188]) +1 similar issue
> igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
> 
> shard-apl: NOTRUN -> DMESG-WARN ([i915#180])
> igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
> 
> shard-apl: NOTRUN -> FAIL ([fdo#108145] / [i915#265]) +2 similar issues
> igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb:
> 
> shard-apl: NOTRUN -> FAIL ([i915#265])
> igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
> 
> shard-skl: PASS -> FAIL ([fdo#108145] / [i915#265])
> igt@kms_plane_lowres@pipe-a-tiling-none:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#3536]) +1 similar issue
> igt@kms_psr2_sf@cursor-plane-update-sf:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#2920]) +1 similar issue
> igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4:
> 
> shard-apl: NOTRUN -> SKIP ([fdo#109271] / [i915#658]) +4 similar issues
> igt@kms_psr2_sf@plane-move-sf-dmg-area-3:
> 
> shard-kbl: NOTRUN -> SKIP ([fdo#109271] / [i915#658]) +4 similar issues
> igt@kms_psr2_su@frontbuffer:
> 
> shard-iclb: PASS -> SKIP ([fdo#109642] / [fdo#111068] / [i915#658])
> igt@kms_psr@psr2_cursor_mmap_gtt:
> 
> shard-tglb: NOTRUN -> FAIL ([i915#132] / [i915#3467])
> igt@kms_psr@psr2_sprite_blt:
> 
> shard-iclb: PASS -> SKIP ([fdo#109441]) +1 similar issue
> igt@kms_vblank@pipe-a-ts-continuation-suspend:
> 
> shard-kbl: PASS -> DMESG-WARN ([i915#180] / [i915#295])
> igt@kms_writeback@writeback-fb-id:
> 
> shard-apl: NOTRUN -> SKIP ([fdo#109271] / [i915#2437])
> igt@nouveau_crc@pipe-b-ctx-flip-detection:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#2530]) +2 similar issues
> igt@prime_nv_pcopy@test1_macro:
> 
> shard-tglb: NOTRUN -> SKIP ([fdo#109291])
> igt@prime_vgem@coherency-gtt:
> 
> shard-tglb: NOTRUN -> SKIP ([fdo#111656])
> igt@prime_vgem@fence-flip-hang:
> 
> shard-tglb: NOTRUN -> SKIP ([fdo#109295])
> igt@sysfs_clients@create:
> 
> shard-apl: NOTRUN -> SKIP ([fdo#109271] / [i915#2994]) +1 similar issue
> igt@sysfs_clients@fair-0:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#2994]) +1 similar issue
> igt@sysfs_clients@split-50:
> 
> shard-kbl: NOTRUN -> SKIP ([fdo#109271] / [i915#2994]) +2 similar issues
> Possible fixes
> 
> igt@gem_eio@unwedge-stress:
> 
> shard-tglb: TIMEOUT ([i915#2369] / [i915#3063] / [i915#3648]) -> PASS
> igt@gem_exec_fair@basic-deadline:
> 
> shard-kbl: FAIL ([i915#2846]) -> PASS
> igt@gem_exec_fair@basic-none-vip@rcs0:
> 
> shard-iclb: FAIL ([i915#2842]) -> PASS
> igt@gem_exec_fair@basic-throttle@rcs0:
> 
> shard-iclb: FAIL ([i915#2849]) -> PASS
> igt@gem_exec_whisper@basic-fds-priority:
> 
> shard-glk: DMESG-WARN ([i915#118] / [i915#95]) -> PASS
> igt@i915_pm_rpm@system-suspend-execbuf:
> 
> shard-tglb: INCOMPLETE ([i915#2411] / [i915#456] / [i915#750]) -> PASS
> igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
> 
> shard-skl: FAIL ([i915#2346] / [i915#533]) -> PASS
> igt@kms_fbcon_fbt@fbc-suspend:
> 
> shard-kbl: INCOMPLETE ([i915#155] / [i915#180] / [i915#636]) -> PASS
> igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp1:
> 
> shard-kbl: FAIL ([i915#79]) -> PASS
> igt@kms_flip@flip-vs-expired-vblank@c-edp1:
> 
> shard-skl: FAIL ([i915#79]) -> PASS
> igt@kms_flip@flip-vs-suspend-interruptible@a-dp1:
> 
> shard-kbl: DMESG-WARN ([i915#180]) -> PASS +5 similar issues
> igt@kms_flip@flip-vs-suspend-interruptible@a-edp1:
> 
> shard-tglb: INCOMPLETE ([i915#2411] / [i915#456]) -> PASS
> igt@kms_hdr@bpc-switch-suspend:
> 
> shard-apl: DMESG-WARN ([i915#180]) -> PASS
> igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
> 
> shard-skl: FAIL ([fdo#108145] / [i915#265]) -> PASS
> igt@kms_prop_blob@blob-multiple:
> 
> shard-skl: DMESG-WARN ([i915#1982]) -> PASS
> igt@kms_psr@psr2_primary_mmap_cpu:
> 
> shard-iclb: SKIP ([fdo#109441]) -> PASS +1 similar issue
> igt@perf@short-reads:
> 
> shard-skl: FAIL ([i915#51]) -> PASS
> Warnings
> 
> igt@gem_exec_fair@basic-pace-solo@rcs0:
> 
> shard-iclb: FAIL ([i915#2842]) -> FAIL ([i915#2851])
> igt@i915_pm_rc6_residency@rc6-fence:
> 
> shard-iclb: WARN ([i915#2684]) -> WARN ([i915#1804] / [i915#2684])
> igt@kms_psr2_sf@plane-move-sf-dmg-area-3:
> 
> shard-iclb: SKIP ([i915#2920]) -> SKIP ([i915#658]) +1 similar issue
> igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-5:
> 
> shard-iclb: SKIP ([i915#658]) -> SKIP ([i915#2920]) +1 similar issue
> igt@runner@aborted:
> 
> shard-kbl: (FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, [FAIL][141], [FAIL][142]) ([i915#1436] / [i915#180] / [i915#1814] / [i915#3002] / [i915#3363]
/ [i915#602] / [i915#92]) -> ([FAIL][143], [FAIL][144], [FAIL][145], [FAIL][146], [FAIL][147], [FAIL][148], [FAIL][149], [FAIL][150], [FAIL][151])
([i915#180] / [i915#1814] / [i915#3002] / [i915#3363] / [i915#602])

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

end of thread, other threads:[~2021-10-26 17:35 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-01  1:12 [Intel-gfx] [PATCH v2] drm/i915/display: Wait PSR2 get out of deep sleep to update pipe José Roberto de Souza
2021-10-01  2:21 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork
2021-10-01  8:06 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2021-10-01 23:23 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Wait PSR2 get out of deep sleep to update pipe (rev2) Patchwork
2021-10-02  7:02 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2021-10-05 23:18 ` [Intel-gfx] [PATCH v3] drm/i915/display: Wait PSR2 get out of deep sleep to update pipe José Roberto de Souza
2021-10-06  8:50   ` Gwan-gyeong Mun
2021-10-06 20:04     ` Souza, Jose
2021-10-07  9:31       ` Gwan-gyeong Mun
2021-10-11 20:53         ` Souza, Jose
2021-10-13 20:39           ` Gwan-gyeong Mun
2021-10-13 21:03             ` Souza, Jose
2021-10-21 13:06               ` Gwan-gyeong Mun
2021-10-06  1:40 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Wait PSR2 get out of deep sleep to update pipe (rev3) Patchwork
2021-10-06  6:49 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2021-10-26 17:35   ` 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.