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 |
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
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 --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); }
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(-)