diff mbox series

drm/i915/display/adlp: Disable underrun recovery

Message ID 20211104010858.43559-1-jose.souza@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915/display/adlp: Disable underrun recovery | expand

Commit Message

Souza, Jose Nov. 4, 2021, 1:08 a.m. UTC
It was also defeatured for ADL-P and other platforms.

BSpec: 55424
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 39 ++++----------------
 1 file changed, 7 insertions(+), 32 deletions(-)

Comments

Ville Syrjälä Nov. 5, 2021, 5:31 p.m. UTC | #1
On Wed, Nov 03, 2021 at 06:08:58PM -0700, José Roberto de Souza wrote:
> It was also defeatured for ADL-P and other platforms.
> 
> BSpec: 55424
> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Can you also nuke the now pointless bubble counter programming
as well?

> ---
>  drivers/gpu/drm/i915/display/intel_display.c | 39 ++++----------------
>  1 file changed, 7 insertions(+), 32 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 29392dfc46c8d..64406408ba590 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -956,26 +956,6 @@ void intel_display_finish_reset(struct drm_i915_private *dev_priv)
>  	clear_bit_unlock(I915_RESET_MODESET, &dev_priv->gt.reset.flags);
>  }
>  
> -static bool underrun_recovery_supported(const struct intel_crtc_state *crtc_state)
> -{
> -	if (crtc_state->pch_pfit.enabled &&
> -	    (crtc_state->pipe_src_w > drm_rect_width(&crtc_state->pch_pfit.dst) ||
> -	     crtc_state->pipe_src_h > drm_rect_height(&crtc_state->pch_pfit.dst) ||
> -	     crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR420))
> -		return false;
> -
> -	if (crtc_state->dsc.compression_enable)
> -		return false;
> -
> -	if (crtc_state->has_psr2)
> -		return false;
> -
> -	if (crtc_state->splitter.enable)
> -		return false;
> -
> -	return true;
> -}
> -
>  static void icl_set_pipe_chicken(const struct intel_crtc_state *crtc_state)
>  {
>  	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> @@ -999,19 +979,14 @@ static void icl_set_pipe_chicken(const struct intel_crtc_state *crtc_state)
>  	 */
>  	tmp |= PIXEL_ROUNDING_TRUNC_FB_PASSTHRU;
>  
> -	if (IS_DG2(dev_priv)) {
> -		/*
> -		 * Underrun recovery must always be disabled on DG2.  However
> -		 * the chicken bit meaning is inverted compared to other
> -		 * platforms.
> -		 */
> +	/*
> +	 * Underrun recovery must always be disabled on display 13+.
> +	 * DG2 chicken bit meaning is inverted compared to other platforms.
> +	 */
> +	if (IS_DG2(dev_priv))
>  		tmp &= ~UNDERRUN_RECOVERY_ENABLE_DG2;
> -	} else if (DISPLAY_VER(dev_priv) >= 13) {
> -		if (underrun_recovery_supported(crtc_state))
> -			tmp &= ~UNDERRUN_RECOVERY_DISABLE_ADLP;
> -		else
> -			tmp |= UNDERRUN_RECOVERY_DISABLE_ADLP;
> -	}
> +	else if (DISPLAY_VER(dev_priv) >= 13)
> +		tmp |= UNDERRUN_RECOVERY_DISABLE_ADLP;
>  
>  	intel_de_write(dev_priv, PIPE_CHICKEN(pipe), tmp);
>  }
> -- 
> 2.33.1
Souza, Jose Nov. 5, 2021, 9:57 p.m. UTC | #2
On Thu, 2021-11-04 at 06:40 +0000, Patchwork wrote:

> Patch Details
> Series:	drm/i915/display/adlp: Disable underrun recovery
> URL:	https://patchwork.freedesktop.org/series/96548/
> State:	success
> Details:	https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21514/index.html
> CI Bug Log - changes from CI_DRM_10836_full -> Patchwork_21514_full
> 
> Summary
> 
> SUCCESS
> 
> No regressions found.

Thanks for the review Ville.
Pushed to drm-intel-next.

> 
> Participating hosts (10 -> 11)
> 
> Additional (1): shard-rkl
> 
> Possible new issues
> 
> Here are the unknown changes that may have been introduced in Patchwork_21514_full:
> 
> IGT changes
> 
> Suppressed
> 
> The following results come from untrusted machines, tests, or statuses.
> They do not affect the overall result.
> 
> igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
> {shard-rkl}: NOTRUN -> SKIP +48 similar issues
> Known issues
> 
> Here are the changes found in Patchwork_21514_full that come from known issues:
> 
> IGT changes
> 
> Issues hit
> 
> igt@gem_ctx_isolation@preservation-s3@bcs0:
> 
> shard-tglb: PASS -> INCOMPLETE ([i915#456]) +1 similar issue
> igt@gem_ctx_persistence@many-contexts:
> 
> shard-tglb: PASS -> FAIL ([i915#2410])
> igt@gem_eio@unwedge-stress:
> 
> shard-tglb: PASS -> TIMEOUT ([i915#2369] / [i915#3063] / [i915#3648])
> igt@gem_exec_fair@basic-none@vecs0:
> 
> shard-apl: PASS -> FAIL ([i915#2842] / [i915#3468])
> igt@gem_exec_fair@basic-pace-share@rcs0:
> 
> shard-tglb: PASS -> FAIL ([i915#2842])
> igt@gem_exec_fair@basic-pace-solo@rcs0:
> 
> shard-kbl: NOTRUN -> FAIL ([i915#2842])
> igt@gem_exec_fair@basic-pace@vcs1:
> 
> shard-iclb: NOTRUN -> FAIL ([i915#2842])
> igt@gem_pxp@reject-modify-context-protection-off-3:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#4270])
> igt@gem_render_copy@x-tiled-to-vebox-yf-tiled:
> 
> shard-kbl: NOTRUN -> SKIP (fdo#109271) +71 similar issues
> igt@gem_userptr_blits@invalid-mmap-offset-unsync:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#3297])
> igt@gem_workarounds@suspend-resume-fd:
> 
> shard-kbl: PASS -> DMESG-WARN ([i915#180]) +2 similar issues
> igt@gen9_exec_parse@bb-secure:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#2856])
> igt@i915_pm_dc@dc6-psr:
> 
> shard-iclb: PASS -> FAIL ([i915#454])
> igt@i915_pm_rc6_residency@rc6-fence:
> 
> shard-tglb: NOTRUN -> WARN ([i915#2681])
> igt@i915_pm_rpm@modeset-pc8-residency-stress:
> 
> shard-tglb: NOTRUN -> SKIP ([fdo#109506] / [i915#2411])
> igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip:
> 
> shard-kbl: NOTRUN -> SKIP (fdo#109271 / [i915#3777])
> igt@kms_big_fb@yf-tiled-8bpp-rotate-90:
> 
> shard-tglb: NOTRUN -> SKIP ([fdo#111615]) +1 similar issue
> igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
> 
> shard-skl: NOTRUN -> FAIL ([i915#3743]) +1 similar issue
> igt@kms_big_joiner@2x-modeset:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#2705])
> igt@kms_ccs@pipe-b-ccs-on-another-bo-y_tiled_ccs:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#3689]) +3 similar issues
> igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc:
> 
> shard-skl: NOTRUN -> SKIP (fdo#109271 / [i915#3886]) +5 similar issues
> igt@kms_ccs@pipe-c-bad-aux-stride-y_tiled_gen12_rc_ccs_cc:
> 
> shard-glk: NOTRUN -> SKIP (fdo#109271 / [i915#3886])
> igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_mc_ccs:
> 
> shard-apl: NOTRUN -> SKIP (fdo#109271 / [i915#3886]) +1 similar issue
> igt@kms_ccs@pipe-c-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc:
> 
> shard-kbl: NOTRUN -> SKIP (fdo#109271 / [i915#3886]) +1 similar issue
> igt@kms_ccs@pipe-d-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc:
> 
> shard-apl: NOTRUN -> SKIP (fdo#109271) +32 similar issues
> igt@kms_chamelium@vga-hpd-for-each-pipe:
> 
> shard-skl: NOTRUN -> SKIP (fdo#109271 / [fdo#111827]) +9 similar issues
> igt@kms_color@pipe-b-ctm-max:
> 
> shard-skl: PASS -> DMESG-WARN ([i915#1982]) +1 similar issue
> igt@kms_color_chamelium@pipe-a-ctm-limited-range:
> 
> shard-apl: NOTRUN -> SKIP (fdo#109271 / [fdo#111827]) +3 similar issues
> igt@kms_color_chamelium@pipe-a-ctm-negative:
> 
> shard-kbl: NOTRUN -> SKIP (fdo#109271 / [fdo#111827]) +7 similar issues
> igt@kms_color_chamelium@pipe-d-ctm-red-to-blue:
> 
> shard-tglb: NOTRUN -> SKIP (fdo#109284 / [fdo#111827]) +4 similar issues
> igt@kms_content_protection@mei_interface:
> 
> shard-tglb: NOTRUN -> SKIP ([fdo#111828])
> igt@kms_cursor_crc@pipe-a-cursor-32x10-random:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#3359]) +1 similar issue
> igt@kms_cursor_crc@pipe-a-cursor-512x512-onscreen:
> 
> shard-tglb: NOTRUN -> SKIP (fdo#109279 / [i915#3359]) +1 similar issue
> igt@kms_cursor_crc@pipe-c-cursor-32x32-rapid-movement:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#3319])
> igt@kms_cursor_legacy@pipe-d-torture-bo:
> 
> shard-kbl: NOTRUN -> SKIP (fdo#109271 / [i915#533])
> igt@kms_dp_tiled_display@basic-test-pattern-with-chamelium:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#3528])
> igt@kms_fbcon_fbt@fbc-suspend:
> 
> shard-apl: PASS -> INCOMPLETE ([i915#180] / [i915#1982])
> 
> shard-kbl: NOTRUN -> INCOMPLETE ([i915#180] / [i915#636])
> 
> igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a2:
> 
> shard-glk: PASS -> FAIL ([i915#79])
> igt@kms_frontbuffer_tracking@fbc-1p-shrfb-fliptrack-mmap-gtt:
> 
> shard-skl: NOTRUN -> SKIP (fdo#109271) +139 similar issues
> igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-pwrite:
> 
> shard-tglb: NOTRUN -> SKIP ([fdo#111825]) +9 similar issues
> igt@kms_frontbuffer_tracking@fbc-suspend:
> 
> shard-apl: PASS -> DMESG-WARN ([i915#180]) +3 similar issues
> igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-blt:
> 
> shard-glk: NOTRUN -> SKIP (fdo#109271) +2 similar issues
> igt@kms_hdr@static-toggle:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#1187])
> igt@kms_pipe_crc_basic@nonblocking-crc-pipe-d-frame-sequence:
> 
> shard-skl: NOTRUN -> SKIP (fdo#109271 / [i915#533])
> igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes:
> 
> shard-kbl: NOTRUN -> DMESG-WARN ([i915#180])
> igt@kms_plane_alpha_blend@pipe-a-alpha-7efc:
> 
> shard-skl: NOTRUN -> FAIL (fdo#108145 / [i915#265]) +2 similar issues
> igt@kms_plane_alpha_blend@pipe-a-alpha-transparent-fb:
> 
> shard-skl: NOTRUN -> FAIL ([i915#265])
> igt@kms_plane_alpha_blend@pipe-c-alpha-basic:
> 
> shard-apl: NOTRUN -> FAIL (fdo#108145 / [i915#265])
> igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max:
> 
> shard-kbl: NOTRUN -> FAIL (fdo#108145 / [i915#265])
> igt@kms_plane_lowres@pipe-d-tiling-none:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#3536])
> igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-4:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#2920])
> igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-3:
> 
> shard-kbl: NOTRUN -> SKIP (fdo#109271 / [i915#658])
> igt@kms_psr2_sf@plane-move-sf-dmg-area-0:
> 
> shard-skl: NOTRUN -> SKIP (fdo#109271 / [i915#658]) +2 similar issues
> igt@kms_psr@psr2_sprite_plane_onoff:
> 
> shard-tglb: NOTRUN -> FAIL ([i915#132] / [i915#3467])
> igt@kms_writeback@writeback-check-output:
> 
> shard-apl: NOTRUN -> SKIP (fdo#109271 / [i915#2437])
> 
> shard-kbl: NOTRUN -> SKIP (fdo#109271 / [i915#2437])
> 
> igt@nouveau_crc@pipe-c-ctx-flip-detection:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#2530])
> igt@perf@polling-parameterized:
> 
> shard-glk: PASS -> FAIL ([i915#1542])
> igt@prime_nv_api@nv_i915_reimport_twice_check_flink_name:
> 
> shard-tglb: NOTRUN -> SKIP ([fdo#109291])
> igt@prime_vgem@fence-read-hang:
> 
> shard-tglb: NOTRUN -> SKIP ([fdo#109295])
> igt@sysfs_clients@busy:
> 
> shard-apl: NOTRUN -> SKIP (fdo#109271 / [i915#2994])
> igt@sysfs_clients@create:
> 
> shard-tglb: NOTRUN -> SKIP ([i915#2994])
> igt@sysfs_clients@fair-7:
> 
> shard-skl: NOTRUN -> SKIP (fdo#109271 / [i915#2994])
> igt@sysfs_clients@recycle:
> 
> shard-kbl: NOTRUN -> SKIP (fdo#109271 / [i915#2994]) +1 similar issue
> Possible fixes
> 
> igt@gem_exec_fair@basic-none-share@rcs0:
> 
> shard-apl: SKIP (fdo#109271) -> PASS
> igt@gem_exec_fair@basic-none@vcs0:
> 
> shard-kbl: FAIL ([i915#2842]) -> PASS
> igt@gem_exec_fair@basic-pace@rcs0:
> 
> shard-tglb: FAIL ([i915#2842]) -> PASS
> igt@gem_exec_fair@basic-throttle@rcs0:
> 
> shard-glk: FAIL ([i915#2842]) -> PASS
> igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1:
> 
> shard-skl: FAIL ([i915#79]) -> PASS
> igt@kms_frontbuffer_tracking@fbc-suspend:
> 
> shard-tglb: INCOMPLETE ([i915#2411] / [i915#2828] / [i915#456]) -> PASS
> igt@kms_hdr@bpc-switch-suspend:
> 
> shard-kbl: DMESG-WARN ([i915#180]) -> PASS +5 similar issues
> 
> shard-apl: DMESG-WARN ([i915#180]) -> PASS +1 similar issue
> 
> igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
> 
> shard-skl: FAIL (fdo#108145 / [i915#265]) -> PASS +2 similar issues
> igt@kms_psr@psr2_primary_mmap_cpu:
> 
> shard-iclb: SKIP ([fdo#109441]) -> PASS +2 similar issues
> igt@perf@polling-small-buf:
> 
> shard-skl: FAIL ([i915#1722]) -> PASS
> Warnings
> 
> igt@gem_exec_fair@basic-pace-solo@rcs0:
> 
> shard-glk: FAIL ([i915#2842]) -> FAIL ([i915#2851])
> igt@gem_exec_fair@basic-pace@rcs0:
> 
> shard-kbl: SKIP (fdo#109271) -> FAIL ([i915#2842])
> igt@gem_exec_fair@basic-throttle@rcs0:
> 
> shard-iclb: FAIL ([i915#2842]) -> FAIL ([i915#2849])
> igt@i915_pm_rc6_residency@rc6-fence:
> 
> shard-iclb: WARN ([i915#2684]) -> WARN ([i915#1804] / [i915#2684])
> igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-1:
> 
> shard-iclb: SKIP ([i915#2920]) -> SKIP ([i915#658]) +1 similar issue
> igt@kms_psr2_sf@plane-move-sf-dmg-area-3:
> 
> shard-iclb: SKIP ([i915#658]) -> SKIP ([i915#2920]) +2 similar issues
> igt@kms_psr2_su@page_flip:
> 
> shard-iclb: FAIL ([i915#4148]) -> SKIP ([fdo#109642] / [fdo#111068] / [i915#658])
> igt@runner@aborted:
> 
> shard-kbl: (FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL) ([i915#1436] / [i915#180] / [i915#1814] / [i915#3002] / [i915#3363] /
[i915#4312] / [i915#602]) -> (FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL, FAIL) ([i915#1436] / [i915#180] / [i915#1814] / [i915#3002]
/ [i915#3363] / [i915#4312] / [i915#602] / [i915#92])
> 
> shard-apl: (FAIL, FAIL, FAIL, FAIL) ([i915#1610] / [i915#1814] / [i915#3002] / [i915#3363] / [i915#4312]) -> (FAIL, FAIL, FAIL, FAIL, FAIL, FAIL,
FAIL) (fdo#109271 / [i915#180] / [i915#3002] / [i915#3363] / [i915#4312])
> 
> {name}: This element is suppressed. This means it is ignored when computing
> the status of the difference (SUCCESS, WARNING, or FAILURE).
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 29392dfc46c8d..64406408ba590 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -956,26 +956,6 @@  void intel_display_finish_reset(struct drm_i915_private *dev_priv)
 	clear_bit_unlock(I915_RESET_MODESET, &dev_priv->gt.reset.flags);
 }
 
-static bool underrun_recovery_supported(const struct intel_crtc_state *crtc_state)
-{
-	if (crtc_state->pch_pfit.enabled &&
-	    (crtc_state->pipe_src_w > drm_rect_width(&crtc_state->pch_pfit.dst) ||
-	     crtc_state->pipe_src_h > drm_rect_height(&crtc_state->pch_pfit.dst) ||
-	     crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR420))
-		return false;
-
-	if (crtc_state->dsc.compression_enable)
-		return false;
-
-	if (crtc_state->has_psr2)
-		return false;
-
-	if (crtc_state->splitter.enable)
-		return false;
-
-	return true;
-}
-
 static void icl_set_pipe_chicken(const struct intel_crtc_state *crtc_state)
 {
 	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
@@ -999,19 +979,14 @@  static void icl_set_pipe_chicken(const struct intel_crtc_state *crtc_state)
 	 */
 	tmp |= PIXEL_ROUNDING_TRUNC_FB_PASSTHRU;
 
-	if (IS_DG2(dev_priv)) {
-		/*
-		 * Underrun recovery must always be disabled on DG2.  However
-		 * the chicken bit meaning is inverted compared to other
-		 * platforms.
-		 */
+	/*
+	 * Underrun recovery must always be disabled on display 13+.
+	 * DG2 chicken bit meaning is inverted compared to other platforms.
+	 */
+	if (IS_DG2(dev_priv))
 		tmp &= ~UNDERRUN_RECOVERY_ENABLE_DG2;
-	} else if (DISPLAY_VER(dev_priv) >= 13) {
-		if (underrun_recovery_supported(crtc_state))
-			tmp &= ~UNDERRUN_RECOVERY_DISABLE_ADLP;
-		else
-			tmp |= UNDERRUN_RECOVERY_DISABLE_ADLP;
-	}
+	else if (DISPLAY_VER(dev_priv) >= 13)
+		tmp |= UNDERRUN_RECOVERY_DISABLE_ADLP;
 
 	intel_de_write(dev_priv, PIPE_CHICKEN(pipe), tmp);
 }