* [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.