diff mbox series

[v3] drm/i915/display: Do not allow DC3CO if PSR SF is enabled

Message ID 20210222213006.1609085-1-gwan-gyeong.mun@intel.com (mailing list archive)
State New, archived
Headers show
Series [v3] drm/i915/display: Do not allow DC3CO if PSR SF is enabled | expand

Commit Message

Gwan-gyeong Mun Feb. 22, 2021, 9:30 p.m. UTC
Even though GEN12+ HW supports PSR + DC3CO, DMC's HW DC3CO exit mechanism
has an issue with using of Selective Fecth and PSR2 manual tracking.
And as some GEN12+ platforms (RKL, ADL-S) don't support PSR2 HW tracking,
Selective Fetch will be enabled by default on that platforms.
Therefore if the system enables PSR Selective Fetch / PSR manual tracking,
it does not allow DC3CO dc state, in that case.

When this DC3CO exit issue is addressed while PSR Selective Fetch is
enabled, this restriction should be removed.

v2: Address Jose's review comment.
  - Fix typo
  - Move check routine of DC3CO ability to
    tgl_dc3co_exitline_compute_config()
v3: Change the check routine of enablement of psr2 sel fetch. (Jose)

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

Comments

Souza, Jose Feb. 22, 2021, 9:29 p.m. UTC | #1
On Mon, 2021-02-22 at 23:30 +0200, Gwan-gyeong Mun wrote:
> Even though GEN12+ HW supports PSR + DC3CO, DMC's HW DC3CO exit mechanism
> has an issue with using of Selective Fecth and PSR2 manual tracking.
> And as some GEN12+ platforms (RKL, ADL-S) don't support PSR2 HW tracking,
> Selective Fetch will be enabled by default on that platforms.
> Therefore if the system enables PSR Selective Fetch / PSR manual tracking,
> it does not allow DC3CO dc state, in that case.
> 
> When this DC3CO exit issue is addressed while PSR Selective Fetch is
> enabled, this restriction should be removed.
> 
> v2: Address Jose's review comment.
>   - Fix typo
>   - Move check routine of DC3CO ability to
>     tgl_dc3co_exitline_compute_config()
> v3: Change the check routine of enablement of psr2 sel fetch. (Jose)

Reviewed-by: José Roberto de Souza <jose.souza@intel.com>

> 
> Cc: José Roberto de Souza <jose.souza@intel.com>
> Cc: Anshuman Gupta <anshuman.gupta@intel.com>
> Signed-off-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_psr.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
> index 7c6e561f86c1..cd434285e3b7 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.c
> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> @@ -654,6 +654,13 @@ tgl_dc3co_exitline_compute_config(struct intel_dp *intel_dp,
>  	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
>  	u32 exit_scanlines;
>  
> 
> 
> 
> +	/*
> +	 * DMC's DC3CO exit mechanism has an issue with Selective Fecth
> +	 * TODO: when the issue is addressed, this restriction should be removed.
> +	 */
> +	if (crtc_state->enable_psr2_sel_fetch)
> +		return;
> +
>  	if (!(dev_priv->csr.allowed_dc_mask & DC_STATE_EN_DC3CO))
>  		return;
>  
> 
> 
>
Gupta, Anshuman Feb. 23, 2021, 10:08 a.m. UTC | #2
> -----Original Message-----
> From: Mun, Gwan-gyeong <gwan-gyeong.mun@intel.com>
> Sent: Tuesday, February 23, 2021 3:00 AM
> To: intel-gfx@lists.freedesktop.org
> Cc: Gupta, Anshuman <anshuman.gupta@intel.com>; Souza, Jose
> <jose.souza@intel.com>
> Subject: [PATCH v3] drm/i915/display: Do not allow DC3CO if PSR SF is enabled
> 
> Even though GEN12+ HW supports PSR + DC3CO, DMC's HW DC3CO exit
> mechanism has an issue with using of Selective Fecth and PSR2 manual tracking.
> And as some GEN12+ platforms (RKL, ADL-S) don't support PSR2 HW tracking,
> Selective Fetch will be enabled by default on that platforms.
> Therefore if the system enables PSR Selective Fetch / PSR manual tracking, it
> does not allow DC3CO dc state, in that case.
> 
> When this DC3CO exit issue is addressed while PSR Selective Fetch is enabled,
> this restriction should be removed.
> 
> v2: Address Jose's review comment.
>   - Fix typo
>   - Move check routine of DC3CO ability to
>     tgl_dc3co_exitline_compute_config()
> v3: Change the check routine of enablement of psr2 sel fetch. (Jose)
> 
> Cc: José Roberto de Souza <jose.souza@intel.com>
> Cc: Anshuman Gupta <anshuman.gupta@intel.com>
> Signed-off-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_psr.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> b/drivers/gpu/drm/i915/display/intel_psr.c
> index 7c6e561f86c1..cd434285e3b7 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.c
> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> @@ -654,6 +654,13 @@ tgl_dc3co_exitline_compute_config(struct intel_dp
> *intel_dp,
>  	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
>  	u32 exit_scanlines;
> 
> +	/*
> +	 * DMC's DC3CO exit mechanism has an issue with Selective Fecth
> +	 * TODO: when the issue is addressed, this restriction should be
> removed.
> +	 */
Earlier when PSR2 H/W tracking was enabled, DC3CO exit and frame updates works on it's own
Supported by DE engine and DMC firmware, but with selective fetch enable  as it disables the PSR2 H/W
Tracking. It requires to get sequence of DC3CO exit while PSR2 H/W tracking disabled.
Br,
Anshuman Gupta.  
> +	if (crtc_state->enable_psr2_sel_fetch)
> +		return;
> +
>  	if (!(dev_priv->csr.allowed_dc_mask & DC_STATE_EN_DC3CO))
>  		return;
> 
> --
> 2.30.0
Souza, Jose Feb. 23, 2021, 4:01 p.m. UTC | #3
Patch pushed, GG will follow up with the proper fix together with Anushuman.

On Tue, 2021-02-23 at 02:57 +0000, Patchwork wrote:
Patch Details
Series: drm/i915/display: Do not allow DC3CO if PSR SF is enabled (rev4)
URL:    https://patchwork.freedesktop.org/series/87283/
State:  success
Details:        https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/index.html
CI Bug Log - changes from CI_DRM_9796_full -> Patchwork_19719_full
Summary

WARNING

Minor unknown changes coming with Patchwork_19719_full need to be verified
manually.

If you think the reported changes have nothing to do with the changes
introduced in Patchwork_19719_full, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.

Possible new issues

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

IGT changes
Warnings

  *   igt@runner@aborted:
     *   shard-apl: (FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-apl3/igt@runner@aborted.html>, FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-apl7/igt@runner@aborted.html>, FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-apl1/igt@runner@aborted.html>) ([i915#180] / [i915#3002]) -> (FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-apl8/igt@runner@aborted.html>, FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-apl1/igt@runner@aborted.html>, FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-apl1/igt@runner@aborted.html>) ([i915#3002])

Known issues

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

IGT changes
Issues hit

  *   igt@feature_discovery@chamelium:

     *   shard-iclb: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-iclb7/igt@feature_discovery@chamelium.html> ([fdo#111827])
  *   igt@gem_create@create-massive:

     *   shard-snb: NOTRUN -> DMESG-WARN<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-snb5/igt@gem_create@create-massive.html> ([i915#3002])
  *   igt@gem_ctx_isolation@preservation-s3@rcs0:

     *   shard-apl: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-apl2/igt@gem_ctx_isolation@preservation-s3@rcs0.html> -> DMESG-WARN<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-apl1/igt@gem_ctx_isolation@preservation-s3@rcs0.html> ([i915#180])
  *   igt@gem_ctx_persistence@close-replace-race:

     *   shard-glk: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-glk2/igt@gem_ctx_persistence@close-replace-race.html> -> TIMEOUT<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-glk8/igt@gem_ctx_persistence@close-replace-race.html> ([i915#2918])
  *   igt@gem_ctx_persistence@legacy-engines-queued:

     *   shard-snb: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-snb5/igt@gem_ctx_persistence@legacy-engines-queued.html> ([fdo#109271] / [i915#1099]) +3 similar issues
  *   igt@gem_eio@in-flight-contexts-immediate:

     *   shard-iclb: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-iclb1/igt@gem_eio@in-flight-contexts-immediate.html> -> TIMEOUT<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-iclb5/igt@gem_eio@in-flight-contexts-immediate.html> ([i915#3070])
  *   igt@gem_exec_fair@basic-deadline:

     *   shard-glk: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-glk4/igt@gem_exec_fair@basic-deadline.html> -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-glk6/igt@gem_exec_fair@basic-deadline.html> ([i915#2846])

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

  *   igt@gem_exec_fair@basic-none-share@rcs0:

     *   shard-iclb: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-iclb3/igt@gem_exec_fair@basic-none-share@rcs0.html> -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-iclb8/igt@gem_exec_fair@basic-none-share@rcs0.html> ([i915#2842])
  *   igt@gem_exec_fair@basic-none@vcs1:

     *   shard-iclb: NOTRUN -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-iclb2/igt@gem_exec_fair@basic-none@vcs1.html> ([i915#2842])
  *   igt@gem_exec_fair@basic-pace-solo@rcs0:

     *   shard-glk: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-glk9/igt@gem_exec_fair@basic-pace-solo@rcs0.html> -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-glk9/igt@gem_exec_fair@basic-pace-solo@rcs0.html> ([i915#2842])

     *   shard-kbl: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-kbl1/igt@gem_exec_fair@basic-pace-solo@rcs0.html> -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-kbl2/igt@gem_exec_fair@basic-pace-solo@rcs0.html> ([i915#2842])

  *   igt@gem_exec_fair@basic-throttle@rcs0:

     *   shard-iclb: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-iclb8/igt@gem_exec_fair@basic-throttle@rcs0.html> -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-iclb1/igt@gem_exec_fair@basic-throttle@rcs0.html> ([i915#2849])
  *   igt@gem_exec_gttfill@engines@rcs0:

     *   shard-skl: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-skl4/igt@gem_exec_gttfill@engines@rcs0.html> ([fdo#109271]) +4 similar issues
  *   igt@gem_exec_reloc@basic-wide-active@vcs1:

     *   shard-iclb: NOTRUN -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-iclb1/igt@gem_exec_reloc@basic-wide-active@vcs1.html> ([i915#2389]) +1 similar issue
  *   igt@gem_render_copy@y-tiled-to-vebox-y-tiled:

     *   shard-iclb: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-iclb7/igt@gem_render_copy@y-tiled-to-vebox-y-tiled.html> ([i915#768])
  *   igt@gem_userptr_blits@input-checking:

     *   shard-apl: NOTRUN -> DMESG-WARN<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-apl1/igt@gem_userptr_blits@input-checking.html> ([i915#3002])
  *   igt@gem_userptr_blits@mmap-offset-invalidate-active@gtt:

     *   shard-iclb: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-iclb7/igt@gem_userptr_blits@mmap-offset-invalidate-active@gtt.html> ([i915#1317]) +3 similar issues
  *   igt@gem_userptr_blits@process-exit-mmap-busy@uc:

     *   shard-kbl: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-kbl1/igt@gem_userptr_blits@process-exit-mmap-busy@uc.html> ([fdo#109271] / [i915#1699]) +3 similar issues
  *   igt@gem_userptr_blits@process-exit-mmap-busy@wc:

     *   shard-apl: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-apl1/igt@gem_userptr_blits@process-exit-mmap-busy@wc.html> ([fdo#109271] / [i915#1699]) +3 similar issues
  *   igt@kms_ccs@pipe-b-crc-primary-basic:

     *   shard-hsw: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-hsw8/igt@kms_ccs@pipe-b-crc-primary-basic.html> ([fdo#109271]) +32 similar issues
  *   igt@kms_chamelium@dp-frame-dump:

     *   shard-iclb: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-iclb7/igt@kms_chamelium@dp-frame-dump.html> ([fdo#109284] / [fdo#111827])
  *   igt@kms_chamelium@dp-hpd-fast:

     *   shard-skl: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-skl4/igt@kms_chamelium@dp-hpd-fast.html> ([fdo#109271] / [fdo#111827])
  *   igt@kms_chamelium@hdmi-edid-change-during-suspend:

     *   shard-apl: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-apl3/igt@kms_chamelium@hdmi-edid-change-during-suspend.html> ([fdo#109271] / [fdo#111827]) +25 similar issues
  *   igt@kms_chamelium@hdmi-mode-timings:

     *   shard-kbl: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-kbl1/igt@kms_chamelium@hdmi-mode-timings.html> ([fdo#109271] / [fdo#111827]) +3 similar issues
  *   igt@kms_chamelium@vga-hpd-without-ddc:

     *   shard-snb: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-snb2/igt@kms_chamelium@vga-hpd-without-ddc.html> ([fdo#109271] / [fdo#111827]) +13 similar issues
  *   igt@kms_color@pipe-d-ctm-green-to-red:

     *   shard-iclb: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-iclb7/igt@kms_color@pipe-d-ctm-green-to-red.html> ([fdo#109278] / [i915#1149])
  *   igt@kms_color_chamelium@pipe-c-ctm-negative:

     *   shard-glk: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-glk3/igt@kms_color_chamelium@pipe-c-ctm-negative.html> ([fdo#109271] / [fdo#111827])
  *   igt@kms_color_chamelium@pipe-d-ctm-limited-range:

     *   shard-hsw: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-hsw8/igt@kms_color_chamelium@pipe-d-ctm-limited-range.html> ([fdo#109271] / [fdo#111827]) +2 similar issues
  *   igt@kms_content_protection@srm:

     *   shard-apl: NOTRUN -> TIMEOUT<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-apl3/igt@kms_content_protection@srm.html> ([i915#1319])
  *   igt@kms_cursor_crc@pipe-a-cursor-size-change:

     *   shard-kbl: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-size-change.html> -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-kbl2/igt@kms_cursor_crc@pipe-a-cursor-size-change.html> ([i915#54])
  *   igt@kms_cursor_crc@pipe-c-cursor-64x21-random:

     *   shard-skl: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-skl4/igt@kms_cursor_crc@pipe-c-cursor-64x21-random.html> -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-skl4/igt@kms_cursor_crc@pipe-c-cursor-64x21-random.html> ([i915#54]) +7 similar issues
  *   igt@kms_cursor_crc@pipe-d-cursor-128x42-sliding:

     *   shard-hsw: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-hsw7/igt@kms_cursor_crc@pipe-d-cursor-128x42-sliding.html> ([fdo#109271] / [i915#533]) +4 similar issues
  *   igt@kms_cursor_crc@pipe-d-cursor-alpha-opaque:

     *   shard-iclb: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-iclb7/igt@kms_cursor_crc@pipe-d-cursor-alpha-opaque.html> ([fdo#109278]) +3 similar issues
  *   igt@kms_cursor_edge_walk@pipe-d-64x64-left-edge:

     *   shard-kbl: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-kbl7/igt@kms_cursor_edge_walk@pipe-d-64x64-left-edge.html> ([fdo#109271]) +63 similar issues
  *   igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size:

     *   shard-hsw: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-hsw7/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size.html> -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-hsw8/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size.html> ([i915#2370])
  *   igt@kms_cursor_legacy@cursora-vs-flipb-atomic:

     *   shard-iclb: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-iclb7/igt@kms_cursor_legacy@cursora-vs-flipb-atomic.html> ([fdo#109274] / [fdo#109278]) +1 similar issue
  *   igt@kms_cursor_legacy@flip-vs-cursor-busy-crc-atomic:

     *   shard-skl: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-skl10/igt@kms_cursor_legacy@flip-vs-cursor-busy-crc-atomic.html> -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-skl5/igt@kms_cursor_legacy@flip-vs-cursor-busy-crc-atomic.html> ([i915#2346])
  *   igt@kms_draw_crc@draw-method-rgb565-blt-ytiled:

     *   shard-skl: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-skl10/igt@kms_draw_crc@draw-method-rgb565-blt-ytiled.html> -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-skl9/igt@kms_draw_crc@draw-method-rgb565-blt-ytiled.html> ([i915#52] / [i915#54])
  *   igt@kms_draw_crc@draw-method-xrgb8888-mmap-cpu-untiled:

     *   shard-skl: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-skl5/igt@kms_draw_crc@draw-method-xrgb8888-mmap-cpu-untiled.html> -> DMESG-WARN<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-skl5/igt@kms_draw_crc@draw-method-xrgb8888-mmap-cpu-untiled.html> ([i915#1982])
  *   igt@kms_fbcon_fbt@fbc-suspend:

     *   shard-kbl: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-kbl7/igt@kms_fbcon_fbt@fbc-suspend.html> -> INCOMPLETE<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-kbl4/igt@kms_fbcon_fbt@fbc-suspend.html> ([i915#155] / [i915#180] / [i915#636])
  *   igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:

     *   shard-iclb: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-iclb7/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html> ([fdo#109274])
  *   igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1:

     *   shard-skl: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-skl2/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html> -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-skl6/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html> ([i915#79])
  *   igt@kms_flip@flip-vs-suspend-interruptible@b-edp1:

     *   shard-skl: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-skl4/igt@kms_flip@flip-vs-suspend-interruptible@b-edp1.html> -> INCOMPLETE<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-skl6/igt@kms_flip@flip-vs-suspend-interruptible@b-edp1.html> ([i915#198])
  *   igt@kms_flip@plain-flip-ts-check@c-edp1:

     *   shard-skl: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-skl9/igt@kms_flip@plain-flip-ts-check@c-edp1.html> -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-skl10/igt@kms_flip@plain-flip-ts-check@c-edp1.html> ([i915#2122])
  *   igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs:

     *   shard-apl: NOTRUN -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-apl1/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs.html> ([i915#2641])
  *   igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs:

     *   shard-apl: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-apl3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs.html> ([fdo#109271] / [i915#2672])
  *   igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-pwrite:

     *   shard-snb: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-snb7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-pwrite.html> ([fdo#109271]) +226 similar issues
  *   igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-gtt:

     *   shard-iclb: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-iclb7/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-gtt.html> ([fdo#109280]) +6 similar issues
  *   igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-mmap-cpu:

     *   shard-skl: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-skl10/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-mmap-cpu.html> -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-skl9/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-mmap-cpu.html> ([i915#49])
  *   igt@kms_pipe_crc_basic@read-crc-pipe-d-frame-sequence:

     *   shard-kbl: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-kbl7/igt@kms_pipe_crc_basic@read-crc-pipe-d-frame-sequence.html> ([fdo#109271] / [i915#533])
  *   igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:

     *   shard-apl: NOTRUN -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-apl2/igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb.html> ([fdo#108145] / [i915#265]) +1 similar issue
  *   igt@kms_plane_alpha_blend@pipe-a-alpha-transparent-fb:

     *   shard-apl: NOTRUN -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-apl6/igt@kms_plane_alpha_blend@pipe-a-alpha-transparent-fb.html> ([i915#265])
  *   igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:

     *   shard-skl: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-skl10/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html> -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-skl9/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html> ([fdo#108145] / [i915#265])
  *   igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-c-scaler-with-clipping-clamping:

     *   shard-glk: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-glk3/igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-c-scaler-with-clipping-clamping.html> ([fdo#109271] / [i915#2733])
  *   igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-2:

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

     *   shard-kbl: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-kbl1/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-5.html> ([fdo#109271] / [i915#658]) +2 similar issues
  *   igt@kms_psr@psr2_basic:

     *   shard-iclb: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-iclb7/igt@kms_psr@psr2_basic.html> ([fdo#109441])
  *   igt@kms_psr@psr2_sprite_mmap_gtt:

     *   shard-iclb: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html> -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-iclb7/igt@kms_psr@psr2_sprite_mmap_gtt.html> ([fdo#109441]) +1 similar issue
  *   igt@kms_psr@psr2_sprite_plane_move:

     *   shard-hsw: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-hsw8/igt@kms_psr@psr2_sprite_plane_move.html> ([fdo#109271] / [i915#1072]) +2 similar issues
  *   igt@kms_vblank@pipe-d-ts-continuation-idle:

     *   shard-apl: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-apl3/igt@kms_vblank@pipe-d-ts-continuation-idle.html> ([fdo#109271]) +243 similar issues
  *   igt@kms_vblank@pipe-d-ts-continuation-modeset-hang:

     *   shard-glk: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-glk3/igt@kms_vblank@pipe-d-ts-continuation-modeset-hang.html> ([fdo#109271]) +9 similar issues
  *   igt@kms_vblank@pipe-d-wait-idle:

     *   shard-apl: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-apl3/igt@kms_vblank@pipe-d-wait-idle.html> ([fdo#109271] / [i915#533]) +2 similar issues
  *   igt@kms_writeback@writeback-check-output:

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

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

     *   shard-iclb: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-iclb7/igt@prime_nv_api@nv_i915_import_twice_check_flink_name.html> ([fdo#109291])
  *   igt@sysfs_clients@recycle:

     *   shard-hsw: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-hsw2/igt@sysfs_clients@recycle.html> -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-hsw4/igt@sysfs_clients@recycle.html> ([i915#3028]) +1 similar issue

     *   shard-glk: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-glk2/igt@sysfs_clients@recycle.html> -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-glk8/igt@sysfs_clients@recycle.html> ([i915#3028])

  *   igt@sysfs_clients@recycle-many:

     *   shard-snb: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-snb5/igt@sysfs_clients@recycle-many.html> -> FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-snb2/igt@sysfs_clients@recycle-many.html> ([i915#3028])
  *   igt@sysfs_clients@sema-10@vcs0:

     *   shard-apl: NOTRUN -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-apl3/igt@sysfs_clients@sema-10@vcs0.html> ([fdo#109271] / [i915#3026]) +1 similar issue
  *   igt@sysfs_clients@sema-25@vcs0:

     *   shard-skl: PASS<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-skl7/igt@sysfs_clients@sema-25@vcs0.html> -> SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-skl3/igt@sysfs_clients@sema-25@vcs0.html> ([fdo#109271])

Possible fixes

  *   igt@drm_import_export@prime:

     *   shard-glk: INCOMPLETE<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-glk7/igt@drm_import_export@prime.html> ([i915#2055] / [i915#2944]) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-glk3/igt@drm_import_export@prime.html>
  *   igt@gem_exec_fair@basic-none@vcs0:

     *   shard-apl: FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-apl7/igt@gem_exec_fair@basic-none@vcs0.html> ([i915#2842]) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-apl3/igt@gem_exec_fair@basic-none@vcs0.html> +1 similar issue
  *   igt@gem_exec_fair@basic-none@vecs0:

     *   shard-kbl: FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-kbl7/igt@gem_exec_fair@basic-none@vecs0.html> ([i915#2842]) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-kbl4/igt@gem_exec_fair@basic-none@vecs0.html>
  *   igt@gem_exec_fair@basic-pace-share@rcs0:

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

     *   shard-glk: FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-glk7/igt@gem_exec_fair@basic-pace-share@rcs0.html> ([i915#2842]) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-glk5/igt@gem_exec_fair@basic-pace-share@rcs0.html> +1 similar issue

  *   igt@gem_exec_whisper@basic-contexts-forked:

     *   shard-iclb: INCOMPLETE<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-iclb2/igt@gem_exec_whisper@basic-contexts-forked.html> ([i915#1895]) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-iclb7/igt@gem_exec_whisper@basic-contexts-forked.html>
  *   igt@i915_selftest@live@hangcheck:

     *   shard-hsw: INCOMPLETE<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-hsw4/igt@i915_selftest@live@hangcheck.html> ([i915#2782]) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-hsw8/igt@i915_selftest@live@hangcheck.html>
  *   igt@kms_async_flips@test-time-stamp:

     *   shard-tglb: FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-tglb7/igt@kms_async_flips@test-time-stamp.html> ([i915#2597]) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-tglb6/igt@kms_async_flips@test-time-stamp.html>
  *   igt@kms_color@pipe-b-ctm-0-75:

     *   shard-skl: DMESG-WARN<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-skl4/igt@kms_color@pipe-b-ctm-0-75.html> ([i915#1982]) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-skl4/igt@kms_color@pipe-b-ctm-0-75.html>
  *   igt@kms_cursor_crc@pipe-b-cursor-64x21-offscreen:

     *   shard-skl: FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-skl8/igt@kms_cursor_crc@pipe-b-cursor-64x21-offscreen.html> ([i915#54]) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-skl7/igt@kms_cursor_crc@pipe-b-cursor-64x21-offscreen.html> +7 similar issues
  *   igt@kms_cursor_crc@pipe-c-cursor-suspend:

     *   shard-kbl: DMESG-WARN<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-kbl4/igt@kms_cursor_crc@pipe-c-cursor-suspend.html> ([i915#180]) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-kbl1/igt@kms_cursor_crc@pipe-c-cursor-suspend.html> +2 similar issues
  *   igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1:

     *   shard-tglb: FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-tglb6/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1.html> ([i915#2598]) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-tglb2/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1.html>
  *   igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1:

     *   shard-skl: FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-skl2/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html> ([i915#79]) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-skl6/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html> +1 similar issue
  *   igt@kms_flip@flip-vs-suspend-interruptible@b-dp1:

     *   shard-apl: DMESG-WARN<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-apl1/igt@kms_flip@flip-vs-suspend-interruptible@b-dp1.html> ([i915#180]) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-apl6/igt@kms_flip@flip-vs-suspend-interruptible@b-dp1.html>
  *   igt@kms_flip@flip-vs-suspend@c-hdmi-a1:

     *   shard-hsw: INCOMPLETE<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-hsw7/igt@kms_flip@flip-vs-suspend@c-hdmi-a1.html> ([i915#2055]) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-hsw7/igt@kms_flip@flip-vs-suspend@c-hdmi-a1.html>
  *   igt@kms_flip@plain-flip-fb-recreate-interruptible@c-edp1:

     *   shard-skl: FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-skl6/igt@kms_flip@plain-flip-fb-recreate-interruptible@c-edp1.html> ([i915#2122]) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-skl2/igt@kms_flip@plain-flip-fb-recreate-interruptible@c-edp1.html> +2 similar issues
  *   igt@kms_psr2_su@page_flip:

     *   shard-iclb: SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-iclb7/igt@kms_psr2_su@page_flip.html> ([fdo#109642] / [fdo#111068] / [i915#658]) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-iclb2/igt@kms_psr2_su@page_flip.html>
  *   igt@kms_psr@psr2_sprite_mmap_cpu:

     *   shard-iclb: SKIP<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-iclb1/igt@kms_psr@psr2_sprite_mmap_cpu.html> ([fdo#109441]) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_cpu.html>
  *   igt@perf@polling-parameterized:

     *   shard-skl: FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-skl1/igt@perf@polling-parameterized.html> ([i915#1542]) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-skl8/igt@perf@polling-parameterized.html>
  *   igt@perf@short-reads:

     *   shard-skl: FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-skl10/igt@perf@short-reads.html> ([i915#51]) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-skl9/igt@perf@short-reads.html>
  *   igt@sysfs_clients@busy@vcs0:

     *   shard-skl: FAIL<https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9796/shard-skl7/igt@sysfs_clients@busy@vcs0.html> ([i915#3018]) -> PASS<https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19719/shard-skl8/igt@sysfs_clients@busy@vcs0.html>
  *   igt@sysfs_clients@recycle:

     *   shard-tglb: [FAIL]
Gwan-gyeong Mun Feb. 23, 2021, 4:23 p.m. UTC | #4
On Tue, 2021-02-23 at 15:38 +0530, Gupta, Anshuman wrote:
> 
> 
> > -----Original Message-----
> > From: Mun, Gwan-gyeong <gwan-gyeong.mun@intel.com>
> > Sent: Tuesday, February 23, 2021 3:00 AM
> > To: intel-gfx@lists.freedesktop.org
> > Cc: Gupta, Anshuman <anshuman.gupta@intel.com>; Souza, Jose
> > <jose.souza@intel.com>
> > Subject: [PATCH v3] drm/i915/display: Do not allow DC3CO if PSR SF
> > is enabled
> > 
> > Even though GEN12+ HW supports PSR + DC3CO, DMC's HW DC3CO exit
> > mechanism has an issue with using of Selective Fecth and PSR2
> > manual tracking.
> > And as some GEN12+ platforms (RKL, ADL-S) don't support PSR2 HW
> > tracking,
> > Selective Fetch will be enabled by default on that platforms.
> > Therefore if the system enables PSR Selective Fetch / PSR manual
> > tracking, it
> > does not allow DC3CO dc state, in that case.
> > 
> > When this DC3CO exit issue is addressed while PSR Selective Fetch
> > is enabled,
> > this restriction should be removed.
> > 
> > v2: Address Jose's review comment.
> >   - Fix typo
> >   - Move check routine of DC3CO ability to
> >     tgl_dc3co_exitline_compute_config()
> > v3: Change the check routine of enablement of psr2 sel fetch.
> > (Jose)
> > 
> > Cc: José Roberto de Souza <jose.souza@intel.com>
> > Cc: Anshuman Gupta <anshuman.gupta@intel.com>
> > Signed-off-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_psr.c | 7 +++++++
> >  1 file changed, 7 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> > b/drivers/gpu/drm/i915/display/intel_psr.c
> > index 7c6e561f86c1..cd434285e3b7 100644
> > --- a/drivers/gpu/drm/i915/display/intel_psr.c
> > +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> > @@ -654,6 +654,13 @@ tgl_dc3co_exitline_compute_config(struct
> > intel_dp
> > *intel_dp,
> >         struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
> >         u32 exit_scanlines;
> > 
> > +       /*
> > +        * DMC's DC3CO exit mechanism has an issue with Selective
> > Fecth
> > +        * TODO: when the issue is addressed, this restriction
> > should be
> > removed.
> > +        */
> Earlier when PSR2 H/W tracking was enabled, DC3CO exit and frame
> updates works on it's own
> Supported by DE engine and DMC firmware, but with selective fetch
> enable  as it disables the PSR2 H/W
> Tracking. It requires to get sequence of DC3CO exit while PSR2 H/W
> tracking disabled.
> 
Yes, in order to use DC3CO on PSR2 with Selective Fetch / manual
tracking, we need to have a proper sequence for DC3CO entry/exit. but
the current DE / DMC firmware's DC3CO exit sequence does not work
correctly on PSR2 with Selective Fetch / manual tracking. when I got
the proper sequence, I'll update it as soon as possible.

> Br,
> Anshuman Gupta.  
> > +       if (crtc_state->enable_psr2_sel_fetch)
> > +               return;
> > +
> >         if (!(dev_priv->csr.allowed_dc_mask & DC_STATE_EN_DC3CO))
> >                 return;
> > 
> > --
> > 2.30.0
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index 7c6e561f86c1..cd434285e3b7 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -654,6 +654,13 @@  tgl_dc3co_exitline_compute_config(struct intel_dp *intel_dp,
 	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
 	u32 exit_scanlines;
 
+	/*
+	 * DMC's DC3CO exit mechanism has an issue with Selective Fecth
+	 * TODO: when the issue is addressed, this restriction should be removed.
+	 */
+	if (crtc_state->enable_psr2_sel_fetch)
+		return;
+
 	if (!(dev_priv->csr.allowed_dc_mask & DC_STATE_EN_DC3CO))
 		return;