All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH] drm/i915/psr: Configure and Program IO buffer Wake and Fast Wake
@ 2021-03-12 12:07 Gwan-gyeong Mun
  2021-03-12 12:43 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/psr: Configure and Program IO buffer Wake and Fast Wake (rev2) Patchwork
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Gwan-gyeong Mun @ 2021-03-12 12:07 UTC (permalink / raw)
  To: intel-gfx

As per b.spec 49274, the IO buffer Wake lines and Fast Wake lines can be
calculated based on the following formula.

 IO buffer wake lines = ROUNDUP(PSR2 IO wake time / total line time in microseconds)
 Fast wake lines = ROUNDUP(PSR2 aux transaction time / total line time in microseconds)
 For both fields limit the minimum to 7 lines and maximum to 12 lines
 PSR2 IO wake time = 50us, PSR2 aux transaction time = 32us.

It calculates IO buffer Wake and Fast Wake based on b.spec 49274 and
programs it.

v2: Address Jose's review comment.
 - Do not overwrite the values.
 - Move calulating and validating of io_buffer_wake/fast_wake to
    intel_psr2_config_valid() from intel_psr_compute_config()
 - Add macros for hardcoded values.
 - Simplify and reuse the validating the io_buffer_wake/fast_wake.

Cc: José Roberto de Souza <jose.souza@intel.com>
Cc: Lee Shawn C <shawn.c.lee@intel.com>
Signed-off-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
---
 .../drm/i915/display/intel_display_types.h    |  2 +
 drivers/gpu/drm/i915/display/intel_psr.c      | 65 +++++++++++++++----
 drivers/gpu/drm/i915/i915_reg.h               |  8 +++
 3 files changed, 63 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index f159dce0f744..0241f7eb0a1d 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1469,6 +1469,8 @@ struct intel_psr {
 	u16 su_x_granularity;
 	bool dc3co_enabled;
 	u32 dc3co_exit_delay;
+	u32 io_buffer_wake;
+	u32 fast_wake;
 	struct delayed_work dc3co_work;
 	struct drm_dp_vsc_sdp vsc;
 };
diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index cd434285e3b7..faac023d05b2 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -531,19 +531,15 @@ static void hsw_activate_psr2(struct intel_dp *intel_dp)
 	val |= intel_psr2_get_tp_time(intel_dp);
 
 	if (INTEL_GEN(dev_priv) >= 12) {
-		/*
-		 * TODO: 7 lines of IO_BUFFER_WAKE and FAST_WAKE are default
-		 * values from BSpec. In order to setting an optimal power
-		 * consumption, lower than 4k resoluition mode needs to decrese
-		 * IO_BUFFER_WAKE and FAST_WAKE. And higher than 4K resolution
-		 * mode needs to increase IO_BUFFER_WAKE and FAST_WAKE.
-		 */
-		val |= TGL_EDP_PSR2_BLOCK_COUNT_NUM_2;
-		val |= TGL_EDP_PSR2_IO_BUFFER_WAKE(7);
-		val |= TGL_EDP_PSR2_FAST_WAKE(7);
+		if (intel_dp->psr.io_buffer_wake < 9 || intel_dp->psr.fast_wake < 9)
+			val |= TGL_EDP_PSR2_BLOCK_COUNT_NUM_2;
+		else
+			val |= TGL_EDP_PSR2_BLOCK_COUNT_NUM_3;
+		val |= TGL_EDP_PSR2_IO_BUFFER_WAKE(intel_dp->psr.io_buffer_wake);
+		val |= TGL_EDP_PSR2_FAST_WAKE(intel_dp->psr.fast_wake);
 	} else if (INTEL_GEN(dev_priv) >= 9) {
-		val |= EDP_PSR2_IO_BUFFER_WAKE(7);
-		val |= EDP_PSR2_FAST_WAKE(7);
+		val |= EDP_PSR2_IO_BUFFER_WAKE(intel_dp->psr.io_buffer_wake);
+		val |= EDP_PSR2_FAST_WAKE(intel_dp->psr.fast_wake);
 	}
 
 	if (intel_dp->psr.psr2_sel_fetch_enabled) {
@@ -722,6 +718,8 @@ static bool intel_psr2_config_valid(struct intel_dp *intel_dp,
 	int crtc_hdisplay = crtc_state->hw.adjusted_mode.crtc_hdisplay;
 	int crtc_vdisplay = crtc_state->hw.adjusted_mode.crtc_vdisplay;
 	int psr_max_h = 0, psr_max_v = 0, max_bpp = 0;
+	u32 io_buffer_wake, io_buffer_wake_max, io_buffer_wake_min;
+	u32 fast_wake, fast_wake_max, fast_wake_min;
 
 	if (!intel_dp->psr.sink_psr2_support)
 		return false;
@@ -765,14 +763,26 @@ static bool intel_psr2_config_valid(struct intel_dp *intel_dp,
 		psr_max_h = 5120;
 		psr_max_v = 3200;
 		max_bpp = 30;
+		io_buffer_wake_max = TGL_EDP_PSR2_IO_BUFFER_WAKE_MAX_LINES;
+		io_buffer_wake_min = TGL_EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES;
+		fast_wake_max = TGL_EDP_PSR2_FAST_WAKE_MAX_LINES;
+		fast_wake_min = TGL_EDP_PSR2_FAST_WAKE_MIN_LINES;
 	} else if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv)) {
 		psr_max_h = 4096;
 		psr_max_v = 2304;
 		max_bpp = 24;
+		io_buffer_wake_max = EDP_PSR2_IO_BUFFER_WAKE_MAX_LINES;
+		io_buffer_wake_min = EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES;
+		fast_wake_max = EDP_PSR2_FAST_WAKE_MAX_LINES;
+		fast_wake_min = EDP_PSR2_FAST_WAKE_MIN_LINES;
 	} else if (IS_GEN(dev_priv, 9)) {
 		psr_max_h = 3640;
 		psr_max_v = 2304;
 		max_bpp = 24;
+		io_buffer_wake_max = EDP_PSR2_IO_BUFFER_WAKE_MAX_LINES;
+		io_buffer_wake_min = EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES;
+		fast_wake_max = EDP_PSR2_FAST_WAKE_MAX_LINES;
+		fast_wake_min = EDP_PSR2_FAST_WAKE_MIN_LINES;
 	}
 
 	if (crtc_state->pipe_bpp > max_bpp) {
@@ -782,6 +792,37 @@ static bool intel_psr2_config_valid(struct intel_dp *intel_dp,
 		return false;
 	}
 
+	/*
+	 * B.Spec 49274
+	 * IO buffer wake lines = ROUNDUP(PSR2 IO wake time / total line time in microseconds)
+	 * Fast wake lines = ROUNDUP(PSR2 aux transaction time / total line time in microseconds)
+	 * For both fields limit the minimum to 7 lines and maximum to 12 lines
+	 * PSR2 IO wake time = 50us, PSR2 aux transaction time = 32us.
+	 */
+	io_buffer_wake = intel_usecs_to_scanlines(&crtc_state->uapi.adjusted_mode,
+						  EDP_PSR2_IO_WAKE_TIME);
+	fast_wake = intel_usecs_to_scanlines(&crtc_state->uapi.adjusted_mode,
+					     EDP_PSR2_AUX_TRANSACTION_TIME);
+
+	if (io_buffer_wake < io_buffer_wake_min || io_buffer_wake > io_buffer_wake_max) {
+		drm_dbg_kms(&dev_priv->drm,
+			    "PSR condition failed: Invalid PSR2 IO Buffer Wake lines (%d)\n",
+			    io_buffer_wake);
+		return false;
+	}
+
+	if (fast_wake < fast_wake_min || fast_wake > fast_wake_max) {
+		drm_dbg_kms(&dev_priv->drm,
+			    "PSR condition failed: Invalid PSR2 FAST Wake lines (%d)\n",
+			    fast_wake);
+		return false;
+	}
+
+	intel_dp->psr.io_buffer_wake =
+		io_buffer_wake < EDP_PSR2_IO_BUFFER_WAKE_DEFAULT ? EDP_PSR2_IO_BUFFER_WAKE_DEFAULT : io_buffer_wake;
+	intel_dp->psr.fast_wake =
+		fast_wake < EDP_PSR2_FAST_WAKE_DEFAULT ? EDP_PSR2_FAST_WAKE_DEFAULT : fast_wake;
+
 	/*
 	 * HW sends SU blocks of size four scan lines, which means the starting
 	 * X coordinate and Y granularity requirements will always be met. We
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index e5dd0203991b..4ae4cdbb9754 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -4557,14 +4557,22 @@ enum {
 #define   EDP_MAX_SU_DISABLE_TIME(t)		((t) << 20)
 #define   EDP_MAX_SU_DISABLE_TIME_MASK		(0x1f << 20)
 #define   EDP_PSR2_IO_BUFFER_WAKE_MAX_LINES	8
+#define   EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES	5
+#define   EDP_PSR2_IO_BUFFER_WAKE_DEFAULT	7
 #define   EDP_PSR2_IO_BUFFER_WAKE(lines)	((EDP_PSR2_IO_BUFFER_WAKE_MAX_LINES - (lines)) << 13)
 #define   EDP_PSR2_IO_BUFFER_WAKE_MASK		(3 << 13)
+#define   EDP_PSR2_IO_WAKE_TIME			50
+#define   TGL_EDP_PSR2_IO_BUFFER_WAKE_MAX_LINES	12
 #define   TGL_EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES	5
 #define   TGL_EDP_PSR2_IO_BUFFER_WAKE(lines)	(((lines) - TGL_EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES) << 13)
 #define   TGL_EDP_PSR2_IO_BUFFER_WAKE_MASK	(7 << 13)
 #define   EDP_PSR2_FAST_WAKE_MAX_LINES		8
+#define   EDP_PSR2_FAST_WAKE_MIN_LINES		5
+#define   EDP_PSR2_FAST_WAKE_DEFAULT		7
 #define   EDP_PSR2_FAST_WAKE(lines)		((EDP_PSR2_FAST_WAKE_MAX_LINES - (lines)) << 11)
 #define   EDP_PSR2_FAST_WAKE_MASK		(3 << 11)
+#define   EDP_PSR2_AUX_TRANSACTION_TIME		32
+#define   TGL_EDP_PSR2_FAST_WAKE_MAX_LINES	12
 #define   TGL_EDP_PSR2_FAST_WAKE_MIN_LINES	5
 #define   TGL_EDP_PSR2_FAST_WAKE(lines)		(((lines) - TGL_EDP_PSR2_FAST_WAKE_MIN_LINES) << 10)
 #define   TGL_EDP_PSR2_FAST_WAKE_MASK		(7 << 10)
-- 
2.30.1

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

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

* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/psr: Configure and Program IO buffer Wake and Fast Wake (rev2)
  2021-03-12 12:07 [Intel-gfx] [PATCH] drm/i915/psr: Configure and Program IO buffer Wake and Fast Wake Gwan-gyeong Mun
@ 2021-03-12 12:43 ` Patchwork
  2021-03-12 13:10 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
  2021-03-12 14:24 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
  2 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2021-03-12 12:43 UTC (permalink / raw)
  To: Gwan-gyeong Mun; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/psr: Configure and Program IO buffer Wake and Fast Wake (rev2)
URL   : https://patchwork.freedesktop.org/series/82581/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
ac84453e233c drm/i915/psr: Configure and Program IO buffer Wake and Fast Wake
-:13: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#13: 
 IO buffer wake lines = ROUNDUP(PSR2 IO wake time / total line time in microseconds)

-:144: WARNING:LONG_LINE: line length of 116 exceeds 100 columns
#144: FILE: drivers/gpu/drm/i915/display/intel_psr.c:822:
+		io_buffer_wake < EDP_PSR2_IO_BUFFER_WAKE_DEFAULT ? EDP_PSR2_IO_BUFFER_WAKE_DEFAULT : io_buffer_wake;

total: 0 errors, 2 warnings, 0 checks, 128 lines checked


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

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

* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/psr: Configure and Program IO buffer Wake and Fast Wake (rev2)
  2021-03-12 12:07 [Intel-gfx] [PATCH] drm/i915/psr: Configure and Program IO buffer Wake and Fast Wake Gwan-gyeong Mun
  2021-03-12 12:43 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/psr: Configure and Program IO buffer Wake and Fast Wake (rev2) Patchwork
@ 2021-03-12 13:10 ` Patchwork
  2021-03-12 14:24 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
  2 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2021-03-12 13:10 UTC (permalink / raw)
  To: Gwan-gyeong Mun; +Cc: intel-gfx


[-- Attachment #1.1: Type: text/plain, Size: 4551 bytes --]

== Series Details ==

Series: drm/i915/psr: Configure and Program IO buffer Wake and Fast Wake (rev2)
URL   : https://patchwork.freedesktop.org/series/82581/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_9853 -> Patchwork_19787
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

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

### IGT changes ###

#### Issues hit ####

  * igt@amdgpu/amd_basic@query-info:
    - fi-bsw-kefka:       NOTRUN -> [SKIP][1] ([fdo#109271]) +17 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/fi-bsw-kefka/igt@amdgpu/amd_basic@query-info.html

  * igt@gem_exec_gttfill@basic:
    - fi-kbl-8809g:       [PASS][2] -> [TIMEOUT][3] ([i915#3145])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/fi-kbl-8809g/igt@gem_exec_gttfill@basic.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/fi-kbl-8809g/igt@gem_exec_gttfill@basic.html

  * igt@i915_selftest@live@hangcheck:
    - fi-icl-y:           [PASS][4] -> [INCOMPLETE][5] ([i915#2782] / [i915#926])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/fi-icl-y/igt@i915_selftest@live@hangcheck.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/fi-icl-y/igt@i915_selftest@live@hangcheck.html

  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
    - fi-snb-2600:        NOTRUN -> [SKIP][6] ([fdo#109271]) +34 similar issues
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/fi-snb-2600/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html

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

  * igt@runner@aborted:
    - fi-icl-y:           NOTRUN -> [FAIL][8] ([i915#2782])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/fi-icl-y/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@execlists:
    - fi-bsw-kefka:       [INCOMPLETE][9] ([i915#2940]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/fi-bsw-kefka/igt@i915_selftest@live@execlists.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/fi-bsw-kefka/igt@i915_selftest@live@execlists.html

  
#### Warnings ####

  * igt@i915_pm_rpm@module-reload:
    - fi-glk-dsi:         [DMESG-WARN][11] ([i915#3143]) -> [DMESG-WARN][12] ([i915#1982] / [i915#3143])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/fi-glk-dsi/igt@i915_pm_rpm@module-reload.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/fi-glk-dsi/igt@i915_pm_rpm@module-reload.html

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

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#2782]: https://gitlab.freedesktop.org/drm/intel/issues/2782
  [i915#2940]: https://gitlab.freedesktop.org/drm/intel/issues/2940
  [i915#3143]: https://gitlab.freedesktop.org/drm/intel/issues/3143
  [i915#3145]: https://gitlab.freedesktop.org/drm/intel/issues/3145
  [i915#3180]: https://gitlab.freedesktop.org/drm/intel/issues/3180
  [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
  [i915#926]: https://gitlab.freedesktop.org/drm/intel/issues/926


Participating hosts (46 -> 42)
------------------------------

  Additional (1): fi-snb-2600 
  Missing    (5): fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan fi-ctg-p8600 fi-bdw-samus 


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

  * Linux: CI_DRM_9853 -> Patchwork_19787

  CI-20190529: 20190529
  CI_DRM_9853: 0b75aef3754c41e259b0d93d5822015e50509353 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_6030: e11e4bfb91fec9af71c3909996c66e5666270e07 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_19787: ac84453e233c51bc0b97515f68f9025f183d431a @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

ac84453e233c drm/i915/psr: Configure and Program IO buffer Wake and Fast Wake

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 5478 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

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

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

* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/psr: Configure and Program IO buffer Wake and Fast Wake (rev2)
  2021-03-12 12:07 [Intel-gfx] [PATCH] drm/i915/psr: Configure and Program IO buffer Wake and Fast Wake Gwan-gyeong Mun
  2021-03-12 12:43 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/psr: Configure and Program IO buffer Wake and Fast Wake (rev2) Patchwork
  2021-03-12 13:10 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
@ 2021-03-12 14:24 ` Patchwork
  2 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2021-03-12 14:24 UTC (permalink / raw)
  To: Gwan-gyeong Mun; +Cc: intel-gfx


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

== Series Details ==

Series: drm/i915/psr: Configure and Program IO buffer Wake and Fast Wake (rev2)
URL   : https://patchwork.freedesktop.org/series/82581/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_9853_full -> Patchwork_19787_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_create@create-massive:
    - shard-kbl:          NOTRUN -> [DMESG-WARN][1] ([i915#3002])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-kbl6/igt@gem_create@create-massive.html

  * igt@gem_ctx_persistence@processes:
    - shard-snb:          NOTRUN -> [SKIP][2] ([fdo#109271] / [i915#1099])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-snb2/igt@gem_ctx_persistence@processes.html

  * igt@gem_exec_balancer@hang:
    - shard-iclb:         [PASS][3] -> [INCOMPLETE][4] ([i915#1895])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-iclb6/igt@gem_exec_balancer@hang.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-iclb4/igt@gem_exec_balancer@hang.html

  * igt@gem_exec_endless@dispatch@rcs0:
    - shard-tglb:         [PASS][5] -> [INCOMPLETE][6] ([i915#2502])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-tglb1/igt@gem_exec_endless@dispatch@rcs0.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-tglb7/igt@gem_exec_endless@dispatch@rcs0.html

  * igt@gem_exec_fair@basic-none-share@rcs0:
    - shard-tglb:         [PASS][7] -> [FAIL][8] ([i915#2842]) +1 similar issue
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-tglb8/igt@gem_exec_fair@basic-none-share@rcs0.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-tglb3/igt@gem_exec_fair@basic-none-share@rcs0.html

  * igt@gem_exec_fair@basic-pace@vecs0:
    - shard-kbl:          [PASS][9] -> [FAIL][10] ([i915#2842]) +1 similar issue
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-kbl3/igt@gem_exec_fair@basic-pace@vecs0.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-kbl7/igt@gem_exec_fair@basic-pace@vecs0.html

  * igt@gem_exec_fair@basic-throttle@rcs0:
    - shard-glk:          [PASS][11] -> [FAIL][12] ([i915#2842])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-glk7/igt@gem_exec_fair@basic-throttle@rcs0.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-glk8/igt@gem_exec_fair@basic-throttle@rcs0.html

  * igt@gem_exec_reloc@basic-wide-active@bcs0:
    - shard-apl:          NOTRUN -> [FAIL][13] ([i915#2389]) +3 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-apl2/igt@gem_exec_reloc@basic-wide-active@bcs0.html

  * igt@gem_huc_copy@huc-copy:
    - shard-apl:          NOTRUN -> [SKIP][14] ([fdo#109271] / [i915#2190])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-apl2/igt@gem_huc_copy@huc-copy.html

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

  * igt@gem_userptr_blits@process-exit-mmap@wb:
    - shard-skl:          NOTRUN -> [SKIP][16] ([fdo#109271] / [i915#1699]) +3 similar issues
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-skl6/igt@gem_userptr_blits@process-exit-mmap@wb.html

  * igt@gem_userptr_blits@vma-merge:
    - shard-snb:          NOTRUN -> [FAIL][17] ([i915#2724])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-snb2/igt@gem_userptr_blits@vma-merge.html

  * igt@i915_pm_dc@dc3co-vpb-simulation:
    - shard-tglb:         [PASS][18] -> [SKIP][19] ([i915#1904])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-tglb6/igt@i915_pm_dc@dc3co-vpb-simulation.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-tglb1/igt@i915_pm_dc@dc3co-vpb-simulation.html

  * igt@i915_pm_dc@dc6-psr:
    - shard-iclb:         [PASS][20] -> [FAIL][21] ([i915#454])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-iclb5/igt@i915_pm_dc@dc6-psr.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-iclb6/igt@i915_pm_dc@dc6-psr.html

  * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp:
    - shard-apl:          NOTRUN -> [SKIP][22] ([fdo#109271] / [i915#1937])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-apl7/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp.html

  * igt@i915_pm_rpm@modeset-pc8-residency-stress:
    - shard-apl:          NOTRUN -> [SKIP][23] ([fdo#109271]) +173 similar issues
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-apl7/igt@i915_pm_rpm@modeset-pc8-residency-stress.html

  * igt@i915_selftest@live@client:
    - shard-glk:          [PASS][24] -> [DMESG-FAIL][25] ([i915#3047])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-glk3/igt@i915_selftest@live@client.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-glk7/igt@i915_selftest@live@client.html

  * igt@i915_selftest@live@gt_pm:
    - shard-skl:          NOTRUN -> [DMESG-FAIL][26] ([i915#1886] / [i915#2291])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-skl7/igt@i915_selftest@live@gt_pm.html

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

  * igt@kms_big_joiner@invalid-modeset:
    - shard-apl:          NOTRUN -> [SKIP][29] ([fdo#109271] / [i915#2705])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-apl7/igt@kms_big_joiner@invalid-modeset.html

  * igt@kms_ccs@pipe-c-bad-aux-stride:
    - shard-skl:          NOTRUN -> [SKIP][30] ([fdo#109271] / [fdo#111304]) +1 similar issue
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-skl10/igt@kms_ccs@pipe-c-bad-aux-stride.html

  * igt@kms_chamelium@hdmi-edid-change-during-suspend:
    - shard-apl:          NOTRUN -> [SKIP][31] ([fdo#109271] / [fdo#111827]) +19 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-apl2/igt@kms_chamelium@hdmi-edid-change-during-suspend.html

  * igt@kms_chamelium@vga-hpd-after-suspend:
    - shard-skl:          NOTRUN -> [SKIP][32] ([fdo#109271] / [fdo#111827]) +11 similar issues
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-skl6/igt@kms_chamelium@vga-hpd-after-suspend.html

  * igt@kms_color_chamelium@pipe-a-ctm-blue-to-red:
    - shard-snb:          NOTRUN -> [SKIP][33] ([fdo#109271] / [fdo#111827]) +5 similar issues
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-snb2/igt@kms_color_chamelium@pipe-a-ctm-blue-to-red.html

  * igt@kms_color_chamelium@pipe-c-ctm-0-5:
    - shard-kbl:          NOTRUN -> [SKIP][34] ([fdo#109271] / [fdo#111827]) +1 similar issue
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-kbl6/igt@kms_color_chamelium@pipe-c-ctm-0-5.html

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

  * igt@kms_content_protection@uevent:
    - shard-apl:          NOTRUN -> [FAIL][36] ([i915#2105])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-apl7/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
    - shard-tglb:         [PASS][37] -> [FAIL][38] ([i915#2346])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-tglb3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-tglb6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
    - shard-tglb:         [PASS][39] -> [FAIL][40] ([i915#2346] / [i915#533])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-tglb8/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-tglb3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@flip-vs-cursor-legacy:
    - shard-skl:          [PASS][41] -> [FAIL][42] ([i915#2346])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-skl7/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-skl2/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html

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

  * igt@kms_flip@flip-vs-suspend@c-dp1:
    - shard-apl:          [PASS][44] -> [DMESG-WARN][45] ([i915#180])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-apl1/igt@kms_flip@flip-vs-suspend@c-dp1.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-apl8/igt@kms_flip@flip-vs-suspend@c-dp1.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-gtt:
    - shard-kbl:          NOTRUN -> [SKIP][46] ([fdo#109271]) +10 similar issues
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-kbl6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-gtt.html

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

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-d-frame-sequence:
    - shard-skl:          NOTRUN -> [SKIP][48] ([fdo#109271] / [i915#533])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-skl10/igt@kms_pipe_crc_basic@nonblocking-crc-pipe-d-frame-sequence.html

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

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

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max:
    - shard-skl:          NOTRUN -> [FAIL][51] ([fdo#108145] / [i915#265]) +2 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-skl7/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max.html

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
    - shard-skl:          [PASS][52] -> [FAIL][53] ([fdo#108145] / [i915#265])
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-skl7/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-skl10/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html

  * igt@kms_plane_scaling@plane-scaling:
    - shard-apl:          NOTRUN -> [INCOMPLETE][54] ([i915#3182]) +1 similar issue
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-apl7/igt@kms_plane_scaling@plane-scaling.html
    - shard-skl:          NOTRUN -> [INCOMPLETE][55] ([i915#3182])
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-skl10/igt@kms_plane_scaling@plane-scaling.html

  * igt@kms_psr2_sf@cursor-plane-update-sf:
    - shard-tglb:         [PASS][56] -> [SKIP][57] ([i915#2920]) +18 similar issues
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-tglb8/igt@kms_psr2_sf@cursor-plane-update-sf.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-tglb3/igt@kms_psr2_sf@cursor-plane-update-sf.html

  * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4:
    - shard-skl:          NOTRUN -> [SKIP][58] ([fdo#109271] / [i915#658]) +1 similar issue
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-skl10/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4.html

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

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

  * igt@kms_psr2_su@page_flip:
    - shard-tglb:         [PASS][61] -> [SKIP][62] ([i915#1911])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-tglb7/igt@kms_psr2_su@page_flip.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-tglb6/igt@kms_psr2_su@page_flip.html

  * igt@kms_psr@psr2_cursor_plane_move:
    - shard-iclb:         [PASS][63] -> [SKIP][64] ([fdo#109441]) +2 similar issues
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-iclb2/igt@kms_psr@psr2_cursor_plane_move.html
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-iclb6/igt@kms_psr@psr2_cursor_plane_move.html

  * igt@kms_psr@psr2_cursor_plane_onoff:
    - shard-tglb:         [PASS][65] -> [FAIL][66] ([i915#132]) +18 similar issues
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-tglb8/igt@kms_psr@psr2_cursor_plane_onoff.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-tglb8/igt@kms_psr@psr2_cursor_plane_onoff.html

  * igt@kms_sysfs_edid_timing:
    - shard-apl:          NOTRUN -> [FAIL][67] ([IGT#2])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-apl7/igt@kms_sysfs_edid_timing.html

  * igt@kms_vblank@pipe-d-query-forked-hang:
    - shard-snb:          NOTRUN -> [SKIP][68] ([fdo#109271]) +117 similar issues
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-snb2/igt@kms_vblank@pipe-d-query-forked-hang.html

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

  * igt@prime_nv_api@i915_self_import:
    - shard-skl:          NOTRUN -> [SKIP][70] ([fdo#109271]) +98 similar issues
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-skl10/igt@prime_nv_api@i915_self_import.html

  * igt@sysfs_clients@recycle-many:
    - shard-kbl:          [PASS][71] -> [FAIL][72] ([i915#3028])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-kbl2/igt@sysfs_clients@recycle-many.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-kbl6/igt@sysfs_clients@recycle-many.html
    - shard-tglb:         [PASS][73] -> [FAIL][74] ([i915#3028])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-tglb6/igt@sysfs_clients@recycle-many.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-tglb1/igt@sysfs_clients@recycle-many.html
    - shard-snb:          [PASS][75] -> [FAIL][76] ([i915#3028])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-snb2/igt@sysfs_clients@recycle-many.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-snb6/igt@sysfs_clients@recycle-many.html

  * igt@sysfs_clients@split-10@bcs0:
    - shard-apl:          NOTRUN -> [SKIP][77] ([fdo#109271] / [i915#3026])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-apl7/igt@sysfs_clients@split-10@bcs0.html

  * igt@sysfs_clients@split-10@rcs0:
    - shard-skl:          [PASS][78] -> [SKIP][79] ([fdo#109271] / [i915#3026])
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-skl2/igt@sysfs_clients@split-10@rcs0.html
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-skl6/igt@sysfs_clients@split-10@rcs0.html

  
#### Possible fixes ####

  * igt@gem_eio@unwedge-stress:
    - shard-tglb:         [TIMEOUT][80] ([i915#2369] / [i915#3063]) -> [PASS][81]
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-tglb3/igt@gem_eio@unwedge-stress.html
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-tglb6/igt@gem_eio@unwedge-stress.html
    - shard-iclb:         [TIMEOUT][82] ([i915#2369] / [i915#2481] / [i915#3070]) -> [PASS][83]
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-iclb6/igt@gem_eio@unwedge-stress.html
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-iclb4/igt@gem_eio@unwedge-stress.html

  * igt@gem_exec_fair@basic-none@vcs0:
    - shard-apl:          [FAIL][84] ([i915#2842]) -> [PASS][85] +1 similar issue
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-apl1/igt@gem_exec_fair@basic-none@vcs0.html
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-apl8/igt@gem_exec_fair@basic-none@vcs0.html

  * igt@gem_exec_fair@basic-none@vecs0:
    - shard-kbl:          [FAIL][86] ([i915#2842]) -> [PASS][87]
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-kbl1/igt@gem_exec_fair@basic-none@vecs0.html
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-kbl2/igt@gem_exec_fair@basic-none@vecs0.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-tglb:         [FAIL][88] ([i915#2842]) -> [PASS][89]
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-tglb7/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-tglb7/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_fair@basic-throttle@rcs0:
    - shard-iclb:         [FAIL][90] ([i915#2849]) -> [PASS][91]
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-iclb8/igt@gem_exec_fair@basic-throttle@rcs0.html
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-iclb2/igt@gem_exec_fair@basic-throttle@rcs0.html

  * igt@gem_exec_schedule@u-fairslice@vcs0:
    - shard-kbl:          [DMESG-WARN][92] ([i915#1610] / [i915#2803]) -> [PASS][93]
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-kbl2/igt@gem_exec_schedule@u-fairslice@vcs0.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-kbl6/igt@gem_exec_schedule@u-fairslice@vcs0.html

  * igt@gem_exec_whisper@basic-fds-forked:
    - shard-glk:          [DMESG-WARN][94] ([i915#118] / [i915#95]) -> [PASS][95] +1 similar issue
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-glk9/igt@gem_exec_whisper@basic-fds-forked.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-glk3/igt@gem_exec_whisper@basic-fds-forked.html

  * igt@gem_mmap_gtt@big-copy-odd:
    - shard-glk:          [FAIL][96] ([i915#307]) -> [PASS][97]
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-glk5/igt@gem_mmap_gtt@big-copy-odd.html
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-glk6/igt@gem_mmap_gtt@big-copy-odd.html

  * igt@gem_mmap_gtt@cpuset-medium-copy:
    - shard-iclb:         [FAIL][98] ([i915#2428]) -> [PASS][99]
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-iclb3/igt@gem_mmap_gtt@cpuset-medium-copy.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-iclb3/igt@gem_mmap_gtt@cpuset-medium-copy.html

  * igt@kms_atomic_transition@plane-all-transition-nonblocking@dp-1-pipe-b:
    - shard-kbl:          [FAIL][100] ([i915#3168]) -> [PASS][101]
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-kbl2/igt@kms_atomic_transition@plane-all-transition-nonblocking@dp-1-pipe-b.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-kbl6/igt@kms_atomic_transition@plane-all-transition-nonblocking@dp-1-pipe-b.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic:
    - shard-tglb:         [FAIL][102] ([i915#2346]) -> [PASS][103] +3 similar issues
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-tglb2/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-tglb2/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html

  * igt@kms_flip@flip-vs-blocking-wf-vblank@a-edp1:
    - shard-tglb:         [FAIL][104] ([i915#2122]) -> [PASS][105] +2 similar issues
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-tglb1/igt@kms_flip@flip-vs-blocking-wf-vblank@a-edp1.html
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-tglb7/igt@kms_flip@flip-vs-blocking-wf-vblank@a-edp1.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a2:
    - shard-glk:          [FAIL][106] ([i915#79]) -> [PASS][107]
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-glk6/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a2.html
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-glk9/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a2.html

  * igt@kms_flip@flip-vs-expired-vblank@a-edp1:
    - shard-tglb:         [FAIL][108] ([i915#2598]) -> [PASS][109]
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-tglb6/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-tglb1/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html

  * igt@kms_flip@flip-vs-suspend-interruptible@b-vga1:
    - shard-snb:          [INCOMPLETE][110] ([i915#2055]) -> [PASS][111]
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-snb2/igt@kms_flip@flip-vs-suspend-interruptible@b-vga1.html
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-snb6/igt@kms_flip@flip-vs-suspend-interruptible@b-vga1.html

  * igt@kms_flip@plain-flip-ts-check-interruptible@a-edp1:
    - shard-skl:          [FAIL][112] ([i915#2122]) -> [PASS][113]
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-skl5/igt@kms_flip@plain-flip-ts-check-interruptible@a-edp1.html
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-skl9/igt@kms_flip@plain-flip-ts-check-interruptible@a-edp1.html

  * igt@kms_hdr@bpc-switch-dpms:
    - shard-skl:          [FAIL][114] ([i915#1188]) -> [PASS][115]
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-skl4/igt@kms_hdr@bpc-switch-dpms.html
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-skl1/igt@kms_hdr@bpc-switch-dpms.html

  * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min:
    - shard-skl:          [FAIL][116] ([fdo#108145] / [i915#265]) -> [PASS][117]
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-skl6/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-skl9/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html

  * igt@perf@polling:
    - shard-skl:          [FAIL][118] ([i915#1542]) -> [PASS][119]
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-skl10/igt@perf@polling.html
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-skl5/igt@perf@polling.html

  
#### Warnings ####

  * igt@i915_pm_rc6_residency@rc6-idle:
    - shard-iclb:         [WARN][120] ([i915#1804] / [i915#2684]) -> [WARN][121] ([i915#2684])
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-iclb4/igt@i915_pm_rc6_residency@rc6-idle.html
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-iclb2/igt@i915_pm_rc6_residency@rc6-idle.html

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - shard-iclb:         [FAIL][122] ([i915#3144]) -> [SKIP][123] ([i915#3116])
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-iclb1/igt@kms_content_protection@dp-mst-lic-type-0.html
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-iclb8/igt@kms_content_protection@dp-mst-lic-type-0.html

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-iclb:         [SKIP][124] ([i915#3116]) -> [FAIL][125] ([i915#3144])
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-iclb2/igt@kms_content_protection@dp-mst-lic-type-1.html
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-iclb1/igt@kms_content_protection@dp-mst-lic-type-1.html

  * igt@kms_content_protection@dp-mst-type-0:
    - shard-iclb:         [FAIL][126] ([i915#3137]) -> [SKIP][127] ([i915#3116])
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-iclb1/igt@kms_content_protection@dp-mst-type-0.html
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-iclb8/igt@kms_content_protection@dp-mst-type-0.html

  * igt@kms_content_protection@srm:
    - shard-kbl:          [TIMEOUT][128] ([i915#1319]) -> [DMESG-FAIL][129] ([fdo#110321])
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-kbl3/igt@kms_content_protection@srm.html
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-kbl2/igt@kms_content_protection@srm.html
    - shard-iclb:         [SKIP][130] ([fdo#109300] / [fdo#111066]) -> [FAIL][131] ([i915#3137])
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-iclb7/igt@kms_content_protection@srm.html
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-iclb1/igt@kms_content_protection@srm.html

  * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-1:
    - shard-iclb:         [SKIP][132] ([i915#2920]) -> [SKIP][133] ([i915#658]) +2 similar issues
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-iclb2/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-1.html
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-iclb6/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-1.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-2:
    - shard-iclb:         [SKIP][134] ([i915#658]) -> [SKIP][135] ([i915#2920]) +1 similar issue
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-iclb4/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-2.html
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-iclb2/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-2.html

  * igt@kms_psr2_su@frontbuffer:
    - shard-tglb:         [FAIL][136] ([i915#2596]) -> [SKIP][137] ([i915#1911])
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-tglb7/igt@kms_psr2_su@frontbuffer.html
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-tglb7/igt@kms_psr2_su@frontbuffer.html

  * igt@kms_psr@psr2_primary_mmap_cpu:
    - shard-iclb:         [SKIP][138] ([fdo#109441]) -> [FAIL][139] ([i915#132]) +2 similar issues
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-iclb8/igt@kms_psr@psr2_primary_mmap_cpu.html
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html

  * igt@runner@aborted:
    - shard-kbl:          ([FAIL][140], [FAIL][141], [FAIL][142]) ([i915#2426] / [i915#2724] / [i915#3002]) -> ([FAIL][143], [FAIL][144], [FAIL][145]) ([i915#2505] / [i915#2724] / [i915#3002])
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-kbl7/igt@runner@aborted.html
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-kbl2/igt@runner@aborted.html
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-kbl2/igt@runner@aborted.html
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-kbl6/igt@runner@aborted.html
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-kbl3/igt@runner@aborted.html
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-kbl6/igt@runner@aborted.html
    - shard-apl:          [FAIL][146] ([i915#3002]) -> ([FAIL][147], [FAIL][148], [FAIL][149]) ([i915#180])
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9853/shard-apl8/igt@runner@aborted.html
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-apl7/igt@runner@aborted.html
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-apl7/igt@runner@aborted.html
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19787/shard-apl8/igt@runner@aborted.html

  

### Piglit changes ###

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

  [IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#110321]: https://bugs.freedesktop.org/show_bug.cgi?id=110321
  [fdo#111066]: https://bugs.freedesktop.org/show_bug.cgi?id=111066
  [fdo#111304]: https://bugs.freedesktop.org/show_bug.cgi?id=111304
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1099]: https://gitlab.freedesktop.org/drm/intel/issues/1099
  [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
  [i915#1188]: https://gitlab.freedesktop.org/drm/i

== Logs ==

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

[-- Attachment #1.2: Type: text/html, Size: 34999 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

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

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

* Re: [Intel-gfx] [PATCH] drm/i915/psr: Configure and Program IO buffer Wake and Fast Wake
@ 2021-03-18 23:02 kernel test robot
  0 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2021-03-18 23:02 UTC (permalink / raw)
  To: kbuild

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

CC: kbuild-all(a)lists.01.org
In-Reply-To: <20210312120722.1450481-1-gwan-gyeong.mun@intel.com>
References: <20210312120722.1450481-1-gwan-gyeong.mun@intel.com>
TO: "Gwan-gyeong Mun" <gwan-gyeong.mun@intel.com>
TO: intel-gfx(a)lists.freedesktop.org

Hi Gwan-gyeong,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on drm-tip/drm-tip next-20210318]
[cannot apply to v5.12-rc3]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Gwan-gyeong-Mun/drm-i915-psr-Configure-and-Program-IO-buffer-Wake-and-Fast-Wake/20210312-200910
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
:::::: branch date: 6 days ago
:::::: commit date: 6 days ago
config: i386-randconfig-m021-20210318 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
drivers/gpu/drm/i915/display/intel_psr.c:807 intel_psr2_config_valid() error: uninitialized symbol 'io_buffer_wake_min'.
drivers/gpu/drm/i915/display/intel_psr.c:807 intel_psr2_config_valid() error: uninitialized symbol 'io_buffer_wake_max'.
drivers/gpu/drm/i915/display/intel_psr.c:814 intel_psr2_config_valid() error: uninitialized symbol 'fast_wake_min'.
drivers/gpu/drm/i915/display/intel_psr.c:814 intel_psr2_config_valid() error: uninitialized symbol 'fast_wake_max'.

Old smatch warnings:
drivers/gpu/drm/i915/display/intel_psr.c:1254 intel_psr2_program_plane_sel_fetch() error: we previously assumed 'plane_state' could be null (see line 1246)

vim +/io_buffer_wake_min +807 drivers/gpu/drm/i915/display/intel_psr.c

6e43e276b8c94e drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-08-10  713  
c4932d7956d822 drivers/gpu/drm/i915/intel_psr.c         Rodrigo Vivi          2018-02-27  714  static bool intel_psr2_config_valid(struct intel_dp *intel_dp,
c4932d7956d822 drivers/gpu/drm/i915/intel_psr.c         Rodrigo Vivi          2018-02-27  715  				    struct intel_crtc_state *crtc_state)
c4932d7956d822 drivers/gpu/drm/i915/intel_psr.c         Rodrigo Vivi          2018-02-27  716  {
1895759ee932e4 drivers/gpu/drm/i915/intel_psr.c         Rodrigo Vivi          2018-08-27  717  	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
1326a92c346641 drivers/gpu/drm/i915/display/intel_psr.c Maarten Lankhorst     2019-10-31  718  	int crtc_hdisplay = crtc_state->hw.adjusted_mode.crtc_hdisplay;
1326a92c346641 drivers/gpu/drm/i915/display/intel_psr.c Maarten Lankhorst     2019-10-31  719  	int crtc_vdisplay = crtc_state->hw.adjusted_mode.crtc_vdisplay;
f98837e85fcdcd drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2019-11-27  720  	int psr_max_h = 0, psr_max_v = 0, max_bpp = 0;
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  721  	u32 io_buffer_wake, io_buffer_wake_max, io_buffer_wake_min;
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  722  	u32 fast_wake, fast_wake_max, fast_wake_min;
c4932d7956d822 drivers/gpu/drm/i915/intel_psr.c         Rodrigo Vivi          2018-02-27  723  
b64d6c51380b7d drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-02-04  724  	if (!intel_dp->psr.sink_psr2_support)
c4932d7956d822 drivers/gpu/drm/i915/intel_psr.c         Rodrigo Vivi          2018-02-27  725  		return false;
c4932d7956d822 drivers/gpu/drm/i915/intel_psr.c         Rodrigo Vivi          2018-02-27  726  
c5c874a8352918 drivers/gpu/drm/i915/display/intel_psr.c Edmund Dea            2021-02-04  727  	/* JSL and EHL only supports eDP 1.3 */
c5c874a8352918 drivers/gpu/drm/i915/display/intel_psr.c Edmund Dea            2021-02-04  728  	if (IS_JSL_EHL(dev_priv)) {
c5c874a8352918 drivers/gpu/drm/i915/display/intel_psr.c Edmund Dea            2021-02-04  729  		drm_dbg_kms(&dev_priv->drm, "PSR2 not supported by phy\n");
c5c874a8352918 drivers/gpu/drm/i915/display/intel_psr.c Edmund Dea            2021-02-04  730  		return false;
c5c874a8352918 drivers/gpu/drm/i915/display/intel_psr.c Edmund Dea            2021-02-04  731  	}
c5c874a8352918 drivers/gpu/drm/i915/display/intel_psr.c Edmund Dea            2021-02-04  732  
99fc38b12095cd drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2019-08-20  733  	if (!transcoder_has_psr2(dev_priv, crtc_state->cpu_transcoder)) {
6471bd74713c16 drivers/gpu/drm/i915/display/intel_psr.c Wambui Karuga         2020-01-30  734  		drm_dbg_kms(&dev_priv->drm,
6471bd74713c16 drivers/gpu/drm/i915/display/intel_psr.c Wambui Karuga         2020-01-30  735  			    "PSR2 not supported in transcoder %s\n",
99fc38b12095cd drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2019-08-20  736  			    transcoder_name(crtc_state->cpu_transcoder));
99fc38b12095cd drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2019-08-20  737  		return false;
99fc38b12095cd drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2019-08-20  738  	}
99fc38b12095cd drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2019-08-20  739  
b64d6c51380b7d drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-02-04  740  	if (!psr2_global_enabled(intel_dp)) {
5c90660fcc4528 drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-10-07  741  		drm_dbg_kms(&dev_priv->drm, "PSR2 disabled by flag\n");
5c90660fcc4528 drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-10-07  742  		return false;
5c90660fcc4528 drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-10-07  743  	}
5c90660fcc4528 drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-10-07  744  
8228c42fc0ee54 drivers/gpu/drm/i915/intel_psr.c         Manasi Navare         2018-11-28  745  	/*
8228c42fc0ee54 drivers/gpu/drm/i915/intel_psr.c         Manasi Navare         2018-11-28  746  	 * DSC and PSR2 cannot be enabled simultaneously. If a requested
8228c42fc0ee54 drivers/gpu/drm/i915/intel_psr.c         Manasi Navare         2018-11-28  747  	 * resolution requires DSC to be enabled, priority is given to DSC
8228c42fc0ee54 drivers/gpu/drm/i915/intel_psr.c         Manasi Navare         2018-11-28  748  	 * over PSR2.
8228c42fc0ee54 drivers/gpu/drm/i915/intel_psr.c         Manasi Navare         2018-11-28  749  	 */
010663a61c4037 drivers/gpu/drm/i915/display/intel_psr.c Jani Nikula           2019-10-22  750  	if (crtc_state->dsc.compression_enable) {
6471bd74713c16 drivers/gpu/drm/i915/display/intel_psr.c Wambui Karuga         2020-01-30  751  		drm_dbg_kms(&dev_priv->drm,
6471bd74713c16 drivers/gpu/drm/i915/display/intel_psr.c Wambui Karuga         2020-01-30  752  			    "PSR2 cannot be enabled since DSC is enabled\n");
8228c42fc0ee54 drivers/gpu/drm/i915/intel_psr.c         Manasi Navare         2018-11-28  753  		return false;
8228c42fc0ee54 drivers/gpu/drm/i915/intel_psr.c         Manasi Navare         2018-11-28  754  	}
8228c42fc0ee54 drivers/gpu/drm/i915/intel_psr.c         Manasi Navare         2018-11-28  755  
19167eb064da81 drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-06-25  756  	if (crtc_state->crc_enabled) {
19167eb064da81 drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-06-25  757  		drm_dbg_kms(&dev_priv->drm,
19167eb064da81 drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-06-25  758  			    "PSR2 not enabled because it would inhibit pipe CRC calculation\n");
19167eb064da81 drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-06-25  759  		return false;
19167eb064da81 drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-06-25  760  	}
19167eb064da81 drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-06-25  761  
f7b3c22619a44c drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2019-08-23  762  	if (INTEL_GEN(dev_priv) >= 12) {
f7b3c22619a44c drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2019-08-23  763  		psr_max_h = 5120;
f7b3c22619a44c drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2019-08-23  764  		psr_max_v = 3200;
f98837e85fcdcd drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2019-11-27  765  		max_bpp = 30;
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  766  		io_buffer_wake_max = TGL_EDP_PSR2_IO_BUFFER_WAKE_MAX_LINES;
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  767  		io_buffer_wake_min = TGL_EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES;
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  768  		fast_wake_max = TGL_EDP_PSR2_FAST_WAKE_MAX_LINES;
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  769  		fast_wake_min = TGL_EDP_PSR2_FAST_WAKE_MIN_LINES;
f7b3c22619a44c drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2019-08-23  770  	} else if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv)) {
c90c275c6ff4b7 drivers/gpu/drm/i915/intel_psr.c         Dhinakaran Pandiyan   2018-03-06  771  		psr_max_h = 4096;
c90c275c6ff4b7 drivers/gpu/drm/i915/intel_psr.c         Dhinakaran Pandiyan   2018-03-06  772  		psr_max_v = 2304;
f98837e85fcdcd drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2019-11-27  773  		max_bpp = 24;
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  774  		io_buffer_wake_max = EDP_PSR2_IO_BUFFER_WAKE_MAX_LINES;
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  775  		io_buffer_wake_min = EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES;
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  776  		fast_wake_max = EDP_PSR2_FAST_WAKE_MAX_LINES;
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  777  		fast_wake_min = EDP_PSR2_FAST_WAKE_MIN_LINES;
cf819eff907ab4 drivers/gpu/drm/i915/intel_psr.c         Lucas De Marchi       2018-12-12  778  	} else if (IS_GEN(dev_priv, 9)) {
c90c275c6ff4b7 drivers/gpu/drm/i915/intel_psr.c         Dhinakaran Pandiyan   2018-03-06  779  		psr_max_h = 3640;
c90c275c6ff4b7 drivers/gpu/drm/i915/intel_psr.c         Dhinakaran Pandiyan   2018-03-06  780  		psr_max_v = 2304;
f98837e85fcdcd drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2019-11-27  781  		max_bpp = 24;
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  782  		io_buffer_wake_max = EDP_PSR2_IO_BUFFER_WAKE_MAX_LINES;
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  783  		io_buffer_wake_min = EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES;
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  784  		fast_wake_max = EDP_PSR2_FAST_WAKE_MAX_LINES;
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  785  		fast_wake_min = EDP_PSR2_FAST_WAKE_MIN_LINES;
c90c275c6ff4b7 drivers/gpu/drm/i915/intel_psr.c         Dhinakaran Pandiyan   2018-03-06  786  	}
c90c275c6ff4b7 drivers/gpu/drm/i915/intel_psr.c         Dhinakaran Pandiyan   2018-03-06  787  
f98837e85fcdcd drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2019-11-27  788  	if (crtc_state->pipe_bpp > max_bpp) {
6471bd74713c16 drivers/gpu/drm/i915/display/intel_psr.c Wambui Karuga         2020-01-30  789  		drm_dbg_kms(&dev_priv->drm,
6471bd74713c16 drivers/gpu/drm/i915/display/intel_psr.c Wambui Karuga         2020-01-30  790  			    "PSR2 not enabled, pipe bpp %d > max supported %d\n",
f98837e85fcdcd drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2019-11-27  791  			    crtc_state->pipe_bpp, max_bpp);
f98837e85fcdcd drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2019-11-27  792  		return false;
f98837e85fcdcd drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2019-11-27  793  	}
f98837e85fcdcd drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2019-11-27  794  
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  795  	/*
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  796  	 * B.Spec 49274
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  797  	 * IO buffer wake lines = ROUNDUP(PSR2 IO wake time / total line time in microseconds)
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  798  	 * Fast wake lines = ROUNDUP(PSR2 aux transaction time / total line time in microseconds)
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  799  	 * For both fields limit the minimum to 7 lines and maximum to 12 lines
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  800  	 * PSR2 IO wake time = 50us, PSR2 aux transaction time = 32us.
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  801  	 */
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  802  	io_buffer_wake = intel_usecs_to_scanlines(&crtc_state->uapi.adjusted_mode,
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  803  						  EDP_PSR2_IO_WAKE_TIME);
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  804  	fast_wake = intel_usecs_to_scanlines(&crtc_state->uapi.adjusted_mode,
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  805  					     EDP_PSR2_AUX_TRANSACTION_TIME);
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  806  
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12 @807  	if (io_buffer_wake < io_buffer_wake_min || io_buffer_wake > io_buffer_wake_max) {
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  808  		drm_dbg_kms(&dev_priv->drm,
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  809  			    "PSR condition failed: Invalid PSR2 IO Buffer Wake lines (%d)\n",
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  810  			    io_buffer_wake);
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  811  		return false;
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  812  	}
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  813  
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12 @814  	if (fast_wake < fast_wake_min || fast_wake > fast_wake_max) {
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  815  		drm_dbg_kms(&dev_priv->drm,
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  816  			    "PSR condition failed: Invalid PSR2 FAST Wake lines (%d)\n",
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  817  			    fast_wake);
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  818  		return false;
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  819  	}
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  820  
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  821  	intel_dp->psr.io_buffer_wake =
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  822  		io_buffer_wake < EDP_PSR2_IO_BUFFER_WAKE_DEFAULT ? EDP_PSR2_IO_BUFFER_WAKE_DEFAULT : io_buffer_wake;
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  823  	intel_dp->psr.fast_wake =
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  824  		fast_wake < EDP_PSR2_FAST_WAKE_DEFAULT ? EDP_PSR2_FAST_WAKE_DEFAULT : fast_wake;
c6e14c43060088 drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-03-12  825  
bef5e5b3bee41c drivers/gpu/drm/i915/intel_psr.c         José Roberto de Souza 2018-12-03  826  	/*
bef5e5b3bee41c drivers/gpu/drm/i915/intel_psr.c         José Roberto de Souza 2018-12-03  827  	 * HW sends SU blocks of size four scan lines, which means the starting
bef5e5b3bee41c drivers/gpu/drm/i915/intel_psr.c         José Roberto de Souza 2018-12-03  828  	 * X coordinate and Y granularity requirements will always be met. We
8c0d2c29083d68 drivers/gpu/drm/i915/intel_psr.c         José Roberto de Souza 2018-12-03  829  	 * only need to validate the SU block width is a multiple of
8c0d2c29083d68 drivers/gpu/drm/i915/intel_psr.c         José Roberto de Souza 2018-12-03  830  	 * x granularity.
bef5e5b3bee41c drivers/gpu/drm/i915/intel_psr.c         José Roberto de Souza 2018-12-03  831  	 */
b64d6c51380b7d drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-02-04  832  	if (crtc_hdisplay % intel_dp->psr.su_x_granularity) {
6471bd74713c16 drivers/gpu/drm/i915/display/intel_psr.c Wambui Karuga         2020-01-30  833  		drm_dbg_kms(&dev_priv->drm,
6471bd74713c16 drivers/gpu/drm/i915/display/intel_psr.c Wambui Karuga         2020-01-30  834  			    "PSR2 not enabled, hdisplay(%d) not multiple of %d\n",
b64d6c51380b7d drivers/gpu/drm/i915/display/intel_psr.c Gwan-gyeong Mun       2021-02-04  835  			    crtc_hdisplay, intel_dp->psr.su_x_granularity);
bef5e5b3bee41c drivers/gpu/drm/i915/intel_psr.c         José Roberto de Souza 2018-12-03  836  		return false;
bef5e5b3bee41c drivers/gpu/drm/i915/intel_psr.c         José Roberto de Souza 2018-12-03  837  	}
bef5e5b3bee41c drivers/gpu/drm/i915/intel_psr.c         José Roberto de Souza 2018-12-03  838  
6e43e276b8c94e drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-08-10  839  	if (HAS_PSR2_SEL_FETCH(dev_priv)) {
6e43e276b8c94e drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-08-10  840  		if (!intel_psr2_sel_fetch_config_valid(intel_dp, crtc_state) &&
6e43e276b8c94e drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-08-10  841  		    !HAS_PSR_HW_TRACKING(dev_priv)) {
6471bd74713c16 drivers/gpu/drm/i915/display/intel_psr.c Wambui Karuga         2020-01-30  842  			drm_dbg_kms(&dev_priv->drm,
6e43e276b8c94e drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-08-10  843  				    "PSR2 not enabled, selective fetch not valid and no HW tracking available\n");
19167eb064da81 drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-06-25  844  			return false;
19167eb064da81 drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-06-25  845  		}
6e43e276b8c94e drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-08-10  846  	}
19167eb064da81 drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-06-25  847  
6e43e276b8c94e drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-08-10  848  	if (!crtc_state->enable_psr2_sel_fetch &&
6e43e276b8c94e drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-08-10  849  	    (crtc_hdisplay > psr_max_h || crtc_vdisplay > psr_max_v)) {
19167eb064da81 drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-06-25  850  		drm_dbg_kms(&dev_priv->drm,
19167eb064da81 drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-06-25  851  			    "PSR2 not enabled, resolution %dx%d > max supported %dx%d\n",
19167eb064da81 drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-06-25  852  			    crtc_hdisplay, crtc_vdisplay,
19167eb064da81 drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-06-25  853  			    psr_max_h, psr_max_v);
618cf883becd75 drivers/gpu/drm/i915/intel_psr.c         José Roberto de Souza 2019-03-07  854  		return false;
618cf883becd75 drivers/gpu/drm/i915/intel_psr.c         José Roberto de Souza 2019-03-07  855  	}
618cf883becd75 drivers/gpu/drm/i915/intel_psr.c         José Roberto de Souza 2019-03-07  856  
c5c772cf8d7cb6 drivers/gpu/drm/i915/display/intel_psr.c José Roberto de Souza 2020-01-22  857  	tgl_dc3co_exitline_compute_config(intel_dp, crtc_state);
c4932d7956d822 drivers/gpu/drm/i915/intel_psr.c         Rodrigo Vivi          2018-02-27  858  	return true;
c4932d7956d822 drivers/gpu/drm/i915/intel_psr.c         Rodrigo Vivi          2018-02-27  859  }
c4932d7956d822 drivers/gpu/drm/i915/intel_psr.c         Rodrigo Vivi          2018-02-27  860  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 36973 bytes --]

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

* Re: [Intel-gfx] [PATCH] drm/i915/psr: Configure and Program IO buffer Wake and Fast Wake
  2020-10-12 14:18 Gwan-gyeong Mun
@ 2020-10-13 23:41 ` Souza, Jose
  0 siblings, 0 replies; 7+ messages in thread
From: Souza, Jose @ 2020-10-13 23:41 UTC (permalink / raw)
  To: Mun, Gwan-gyeong, intel-gfx

On Mon, 2020-10-12 at 17:18 +0300, Gwan-gyeong Mun wrote:
> As per b.spec 49274, the IO buffer Wake lines and Fast Wake lines can be
> calculated based on the following formula.
> 
>  IO buffer wake lines = ROUNDUP(50us / total line time in us)
>  Fast wake lines = ROUNDUP(32us / total line time in us)
>  For both fields limit the minimum to 7 lines and maximum to 12 lines
> 
> It calculates IO buffer Wake and Fast Wake based on b.spec 49274 and
> programs it.
> 
> Cc: José Roberto de Souza <jose.souza@intel.com>
> Cc: Lee Shawn C <shawn.c.lee@intel.com>
> Signed-off-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_psr.c | 67 +++++++++++++++++++-----
>  drivers/gpu/drm/i915/i915_drv.h          |  2 +
>  drivers/gpu/drm/i915/i915_reg.h          |  4 ++
>  3 files changed, 61 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
> index 8a9d0bdde1bf..36b397acddb3 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.c
> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> @@ -538,19 +538,15 @@ static void hsw_activate_psr2(struct intel_dp *intel_dp)
>  	val |= intel_psr2_get_tp_time(intel_dp);
>  
> 
> 
> 
> 
> 
> 
> 
>  	if (INTEL_GEN(dev_priv) >= 12) {
> -		/*
> -		 * TODO: 7 lines of IO_BUFFER_WAKE and FAST_WAKE are default
> -		 * values from BSpec. In order to setting an optimal power
> -		 * consumption, lower than 4k resoluition mode needs to decrese
> -		 * IO_BUFFER_WAKE and FAST_WAKE. And higher than 4K resolution
> -		 * mode needs to increase IO_BUFFER_WAKE and FAST_WAKE.
> -		 */
> -		val |= TGL_EDP_PSR2_BLOCK_COUNT_NUM_2;
> -		val |= TGL_EDP_PSR2_IO_BUFFER_WAKE(7);
> -		val |= TGL_EDP_PSR2_FAST_WAKE(7);
> +		if (dev_priv->psr.io_buffer_wake < 9 || dev_priv->psr.fast_wake < 9)
> +			val |= TGL_EDP_PSR2_BLOCK_COUNT_NUM_2;
> +		else
> +			val |= TGL_EDP_PSR2_BLOCK_COUNT_NUM_3;
> +		val |= TGL_EDP_PSR2_IO_BUFFER_WAKE(dev_priv->psr.io_buffer_wake);
> +		val |= TGL_EDP_PSR2_FAST_WAKE(dev_priv->psr.fast_wake);
>  	} else if (INTEL_GEN(dev_priv) >= 9) {
> -		val |= EDP_PSR2_IO_BUFFER_WAKE(7);
> -		val |= EDP_PSR2_FAST_WAKE(7);
> +		val |= EDP_PSR2_IO_BUFFER_WAKE(dev_priv->psr.io_buffer_wake);
> +		val |= EDP_PSR2_FAST_WAKE(dev_priv->psr.fast_wake);
>  	}
>  
> 
> 
> 
> 
> 
> 
> 
>  	if (dev_priv->psr.psr2_sel_fetch_enabled) {
> @@ -810,6 +806,8 @@ void intel_psr_compute_config(struct intel_dp *intel_dp,
>  	const struct drm_display_mode *adjusted_mode =
>  		&crtc_state->hw.adjusted_mode;
>  	int psr_setup_time;
> +	u32 io_buffer_wake = EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES;
> +	u32 fast_wake = EDP_PSR2_FAST_WAKE_MIN_LINES;

Those values set will always be overwritten, so should not be initialized.

>  
> 
> 
> 
> 
> 
> 
> 
>  	if (!CAN_PSR(dev_priv))
>  		return;
> @@ -859,6 +857,51 @@ void intel_psr_compute_config(struct intel_dp *intel_dp,
>  		return;
>  	}
>  
> 
> 
> 
> 
> 

All of the bellow should be in intel_psr2_config_valid() 

> +	/*
> +	 * B.Spec 49274
> +	 * IO buffer wake lines = ROUNDUP(50us / total line time in us)
> +	 * Fast wake lines = ROUNDUP(32us / total line time in us)
> +	 * For both fields limit the minimum to 7 lines and maximum to 12 lines
> +	 */

I always thought that the calculation here would use skl_wm_params->linetime_us.
io_buffer_wake = DIV_ROUND_UP(50, dev_priv->psr.wm_linetime_usec);

+ Ville here

> +	io_buffer_wake = intel_usecs_to_scanlines(&crtc_state->uapi.adjusted_mode, 50);
> +	fast_wake = intel_usecs_to_scanlines(&crtc_state->uapi.adjusted_mode, 32);
> +
> +	if (INTEL_GEN(dev_priv) >= 12) {
> +		if (io_buffer_wake < TGL_EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES ||
> +		    io_buffer_wake > TGL_EDP_PSR2_IO_BUFFER_WAKE_MAX_LINES) {
> +			drm_dbg_kms(&dev_priv->drm,
> +				    "PSR condition failed: Invalid PSR2 IO Buffer Wake lines (%d)\n",
> +				    io_buffer_wake);

Moving to intel_psr2_config_valid() you can still allow PSR1 to be enabled.

> +			return;
> +		}
> +
> +		if (fast_wake < TGL_EDP_PSR2_FAST_WAKE_MIN_LINES ||
> +		    fast_wake > TGL_EDP_PSR2_FAST_WAKE_MAX_LINES) {
> +			drm_dbg_kms(&dev_priv->drm,
> +				    "PSR condition failed: Invalid PSR2 FAST Wake lines (%d)\n",
> +				    fast_wake);
> +			return;
> +		}
> +	} else if (INTEL_GEN(dev_priv) >= 9) {
> +		if (io_buffer_wake < EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES ||
> +		    io_buffer_wake > EDP_PSR2_IO_BUFFER_WAKE_MAX_LINES) {
> +			drm_dbg_kms(&dev_priv->drm,
> +				    "PSR condition failed: Invalid PSR2 IO Buffer Wake lines (%d)\n",
> +				    io_buffer_wake);
> +			return;
> +		}
> +
> +		if (fast_wake < EDP_PSR2_FAST_WAKE_MIN_LINES ||
> +		    fast_wake > EDP_PSR2_FAST_WAKE_MAX_LINES) {
> +			drm_dbg_kms(&dev_priv->drm,
> +				    "PSR condition failed: Invalid PSR2 FAST Wake lines (%d)\n",
> +				    fast_wake);
> +			return;
> +		}
> +	}

Reuse the code above for gen12+ and gen9+ doing something like we do for psr_max_h/psr_max_w.

> +	dev_priv->psr.io_buffer_wake = io_buffer_wake < 7 ? 7 : io_buffer_wake;
> +	dev_priv->psr.fast_wake = fast_wake < 7 ? 7 : fast_wake;

Hardcoded. Please add those to i915_reg.h.

> +
>  	crtc_state->has_psr = true;
>  	crtc_state->has_psr2 = intel_psr2_config_valid(intel_dp, crtc_state);
>  	crtc_state->infoframes.enable |= intel_hdmi_infoframe_enable(DP_SDP_VSC);
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index eef9a821c49c..767066bc387c 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -508,6 +508,8 @@ struct i915_psr {
>  	struct delayed_work dc3co_work;
>  	bool force_mode_changed;
>  	struct drm_dp_vsc_sdp vsc;
> +	u32 io_buffer_wake;
> +	u32 fast_wake;
>  };
>  
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
>  #define QUIRK_LVDS_SSC_DISABLE (1<<1)
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 6ad9ee4243a0..8c98cdb8c438 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -4547,14 +4547,18 @@ enum {
>  #define   EDP_MAX_SU_DISABLE_TIME(t)		((t) << 20)
>  #define   EDP_MAX_SU_DISABLE_TIME_MASK		(0x1f << 20)
>  #define   EDP_PSR2_IO_BUFFER_WAKE_MAX_LINES	8
> +#define   EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES	5
>  #define   EDP_PSR2_IO_BUFFER_WAKE(lines)	((EDP_PSR2_IO_BUFFER_WAKE_MAX_LINES - (lines)) << 13)
>  #define   EDP_PSR2_IO_BUFFER_WAKE_MASK		(3 << 13)
> +#define   TGL_EDP_PSR2_IO_BUFFER_WAKE_MAX_LINES	12
>  #define   TGL_EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES	5
>  #define   TGL_EDP_PSR2_IO_BUFFER_WAKE(lines)	(((lines) - TGL_EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES) << 13)
>  #define   TGL_EDP_PSR2_IO_BUFFER_WAKE_MASK	(7 << 13)
>  #define   EDP_PSR2_FAST_WAKE_MAX_LINES		8
> +#define   EDP_PSR2_FAST_WAKE_MIN_LINES		5
>  #define   EDP_PSR2_FAST_WAKE(lines)		((EDP_PSR2_FAST_WAKE_MAX_LINES - (lines)) << 11)
>  #define   EDP_PSR2_FAST_WAKE_MASK		(3 << 11)
> +#define   TGL_EDP_PSR2_FAST_WAKE_MAX_LINES	12
>  #define   TGL_EDP_PSR2_FAST_WAKE_MIN_LINES	5
>  #define   TGL_EDP_PSR2_FAST_WAKE(lines)		(((lines) - TGL_EDP_PSR2_FAST_WAKE_MIN_LINES) << 10)
>  #define   TGL_EDP_PSR2_FAST_WAKE_MASK		(7 << 10)

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

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

* [Intel-gfx] [PATCH] drm/i915/psr: Configure and Program IO buffer Wake and Fast Wake
@ 2020-10-12 14:18 Gwan-gyeong Mun
  2020-10-13 23:41 ` Souza, Jose
  0 siblings, 1 reply; 7+ messages in thread
From: Gwan-gyeong Mun @ 2020-10-12 14:18 UTC (permalink / raw)
  To: intel-gfx

As per b.spec 49274, the IO buffer Wake lines and Fast Wake lines can be
calculated based on the following formula.

 IO buffer wake lines = ROUNDUP(50us / total line time in us)
 Fast wake lines = ROUNDUP(32us / total line time in us)
 For both fields limit the minimum to 7 lines and maximum to 12 lines

It calculates IO buffer Wake and Fast Wake based on b.spec 49274 and
programs it.

Cc: José Roberto de Souza <jose.souza@intel.com>
Cc: Lee Shawn C <shawn.c.lee@intel.com>
Signed-off-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
---
 drivers/gpu/drm/i915/display/intel_psr.c | 67 +++++++++++++++++++-----
 drivers/gpu/drm/i915/i915_drv.h          |  2 +
 drivers/gpu/drm/i915/i915_reg.h          |  4 ++
 3 files changed, 61 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index 8a9d0bdde1bf..36b397acddb3 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -538,19 +538,15 @@ static void hsw_activate_psr2(struct intel_dp *intel_dp)
 	val |= intel_psr2_get_tp_time(intel_dp);
 
 	if (INTEL_GEN(dev_priv) >= 12) {
-		/*
-		 * TODO: 7 lines of IO_BUFFER_WAKE and FAST_WAKE are default
-		 * values from BSpec. In order to setting an optimal power
-		 * consumption, lower than 4k resoluition mode needs to decrese
-		 * IO_BUFFER_WAKE and FAST_WAKE. And higher than 4K resolution
-		 * mode needs to increase IO_BUFFER_WAKE and FAST_WAKE.
-		 */
-		val |= TGL_EDP_PSR2_BLOCK_COUNT_NUM_2;
-		val |= TGL_EDP_PSR2_IO_BUFFER_WAKE(7);
-		val |= TGL_EDP_PSR2_FAST_WAKE(7);
+		if (dev_priv->psr.io_buffer_wake < 9 || dev_priv->psr.fast_wake < 9)
+			val |= TGL_EDP_PSR2_BLOCK_COUNT_NUM_2;
+		else
+			val |= TGL_EDP_PSR2_BLOCK_COUNT_NUM_3;
+		val |= TGL_EDP_PSR2_IO_BUFFER_WAKE(dev_priv->psr.io_buffer_wake);
+		val |= TGL_EDP_PSR2_FAST_WAKE(dev_priv->psr.fast_wake);
 	} else if (INTEL_GEN(dev_priv) >= 9) {
-		val |= EDP_PSR2_IO_BUFFER_WAKE(7);
-		val |= EDP_PSR2_FAST_WAKE(7);
+		val |= EDP_PSR2_IO_BUFFER_WAKE(dev_priv->psr.io_buffer_wake);
+		val |= EDP_PSR2_FAST_WAKE(dev_priv->psr.fast_wake);
 	}
 
 	if (dev_priv->psr.psr2_sel_fetch_enabled) {
@@ -810,6 +806,8 @@ void intel_psr_compute_config(struct intel_dp *intel_dp,
 	const struct drm_display_mode *adjusted_mode =
 		&crtc_state->hw.adjusted_mode;
 	int psr_setup_time;
+	u32 io_buffer_wake = EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES;
+	u32 fast_wake = EDP_PSR2_FAST_WAKE_MIN_LINES;
 
 	if (!CAN_PSR(dev_priv))
 		return;
@@ -859,6 +857,51 @@ void intel_psr_compute_config(struct intel_dp *intel_dp,
 		return;
 	}
 
+	/*
+	 * B.Spec 49274
+	 * IO buffer wake lines = ROUNDUP(50us / total line time in us)
+	 * Fast wake lines = ROUNDUP(32us / total line time in us)
+	 * For both fields limit the minimum to 7 lines and maximum to 12 lines
+	 */
+	io_buffer_wake = intel_usecs_to_scanlines(&crtc_state->uapi.adjusted_mode, 50);
+	fast_wake = intel_usecs_to_scanlines(&crtc_state->uapi.adjusted_mode, 32);
+
+	if (INTEL_GEN(dev_priv) >= 12) {
+		if (io_buffer_wake < TGL_EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES ||
+		    io_buffer_wake > TGL_EDP_PSR2_IO_BUFFER_WAKE_MAX_LINES) {
+			drm_dbg_kms(&dev_priv->drm,
+				    "PSR condition failed: Invalid PSR2 IO Buffer Wake lines (%d)\n",
+				    io_buffer_wake);
+			return;
+		}
+
+		if (fast_wake < TGL_EDP_PSR2_FAST_WAKE_MIN_LINES ||
+		    fast_wake > TGL_EDP_PSR2_FAST_WAKE_MAX_LINES) {
+			drm_dbg_kms(&dev_priv->drm,
+				    "PSR condition failed: Invalid PSR2 FAST Wake lines (%d)\n",
+				    fast_wake);
+			return;
+		}
+	} else if (INTEL_GEN(dev_priv) >= 9) {
+		if (io_buffer_wake < EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES ||
+		    io_buffer_wake > EDP_PSR2_IO_BUFFER_WAKE_MAX_LINES) {
+			drm_dbg_kms(&dev_priv->drm,
+				    "PSR condition failed: Invalid PSR2 IO Buffer Wake lines (%d)\n",
+				    io_buffer_wake);
+			return;
+		}
+
+		if (fast_wake < EDP_PSR2_FAST_WAKE_MIN_LINES ||
+		    fast_wake > EDP_PSR2_FAST_WAKE_MAX_LINES) {
+			drm_dbg_kms(&dev_priv->drm,
+				    "PSR condition failed: Invalid PSR2 FAST Wake lines (%d)\n",
+				    fast_wake);
+			return;
+		}
+	}
+	dev_priv->psr.io_buffer_wake = io_buffer_wake < 7 ? 7 : io_buffer_wake;
+	dev_priv->psr.fast_wake = fast_wake < 7 ? 7 : fast_wake;
+
 	crtc_state->has_psr = true;
 	crtc_state->has_psr2 = intel_psr2_config_valid(intel_dp, crtc_state);
 	crtc_state->infoframes.enable |= intel_hdmi_infoframe_enable(DP_SDP_VSC);
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index eef9a821c49c..767066bc387c 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -508,6 +508,8 @@ struct i915_psr {
 	struct delayed_work dc3co_work;
 	bool force_mode_changed;
 	struct drm_dp_vsc_sdp vsc;
+	u32 io_buffer_wake;
+	u32 fast_wake;
 };
 
 #define QUIRK_LVDS_SSC_DISABLE (1<<1)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 6ad9ee4243a0..8c98cdb8c438 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -4547,14 +4547,18 @@ enum {
 #define   EDP_MAX_SU_DISABLE_TIME(t)		((t) << 20)
 #define   EDP_MAX_SU_DISABLE_TIME_MASK		(0x1f << 20)
 #define   EDP_PSR2_IO_BUFFER_WAKE_MAX_LINES	8
+#define   EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES	5
 #define   EDP_PSR2_IO_BUFFER_WAKE(lines)	((EDP_PSR2_IO_BUFFER_WAKE_MAX_LINES - (lines)) << 13)
 #define   EDP_PSR2_IO_BUFFER_WAKE_MASK		(3 << 13)
+#define   TGL_EDP_PSR2_IO_BUFFER_WAKE_MAX_LINES	12
 #define   TGL_EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES	5
 #define   TGL_EDP_PSR2_IO_BUFFER_WAKE(lines)	(((lines) - TGL_EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES) << 13)
 #define   TGL_EDP_PSR2_IO_BUFFER_WAKE_MASK	(7 << 13)
 #define   EDP_PSR2_FAST_WAKE_MAX_LINES		8
+#define   EDP_PSR2_FAST_WAKE_MIN_LINES		5
 #define   EDP_PSR2_FAST_WAKE(lines)		((EDP_PSR2_FAST_WAKE_MAX_LINES - (lines)) << 11)
 #define   EDP_PSR2_FAST_WAKE_MASK		(3 << 11)
+#define   TGL_EDP_PSR2_FAST_WAKE_MAX_LINES	12
 #define   TGL_EDP_PSR2_FAST_WAKE_MIN_LINES	5
 #define   TGL_EDP_PSR2_FAST_WAKE(lines)		(((lines) - TGL_EDP_PSR2_FAST_WAKE_MIN_LINES) << 10)
 #define   TGL_EDP_PSR2_FAST_WAKE_MASK		(7 << 10)
-- 
2.22.0

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

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

end of thread, other threads:[~2021-03-18 23:02 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-12 12:07 [Intel-gfx] [PATCH] drm/i915/psr: Configure and Program IO buffer Wake and Fast Wake Gwan-gyeong Mun
2021-03-12 12:43 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/psr: Configure and Program IO buffer Wake and Fast Wake (rev2) Patchwork
2021-03-12 13:10 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-03-12 14:24 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2021-03-18 23:02 [Intel-gfx] [PATCH] drm/i915/psr: Configure and Program IO buffer Wake and Fast Wake kernel test robot
2020-10-12 14:18 Gwan-gyeong Mun
2020-10-13 23:41 ` 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.