Message ID | 20250204154925.3001781-1-jani.nikula@intel.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | drm/i915/dp: Fix potential infinite loop in 128b/132b SST | expand |
On Tue, Feb 04, 2025 at 05:49:25PM +0200, Jani Nikula wrote: > Passing 0 as the step only works when there are other reasons to break > out of the BPP loop in intel_dp_mtp_tu_compute_config(). Otherwise, an > infinite loop might occur. Fix it by explicitly checking for 0 step. > > Fixes: ef0a0757bbea ("drm/i915/dp: compute config for 128b/132b SST w/o DSC") > Reported-by: Imre Deak <imre.deak@intel.com> > Closes: https://lore.kernel.org/r/Z6I0knh2Kt5T0JrT@ideak-desk.fi.intel.com > Signed-off-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Imre Deak <imre.deak@intel.com> > --- > > Note: This needs a backport with (!step) for -rc1. > --- > drivers/gpu/drm/i915/display/intel_dp_mst.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c > index 95abc6ea85eb..1587be5cd0a7 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c > +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c > @@ -353,6 +353,10 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp, > > break; > } > + > + /* Allow using zero step to indicate one try */ > + if (!bpp_step_x16) > + break; > } > > if (slots < 0) { > -- > 2.39.5 >
On Tue, 04 Feb 2025, Patchwork <patchwork@emeril.freedesktop.org> wrote: > == Series Details == > > Series: drm/i915/dp: Fix potential infinite loop in 128b/132b SST > URL : https://patchwork.freedesktop.org/series/144326/ > State : failure > > == Summary == > > CI Bug Log - changes from CI_DRM_16064 -> Patchwork_144326v1 > ==================================================== > > Summary > ------- > > **FAILURE** > > Serious unknown changes coming with Patchwork_144326v1 absolutely need to be > verified manually. > > If you think the reported changes have nothing to do with the changes > introduced in Patchwork_144326v1, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them > to document this new failure mode, which will reduce false positives in CI. > > External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144326v1/index.html > > Participating hosts (42 -> 40) > ------------------------------ > > Additional (1): bat-twl-2 > Missing (3): bat-apl-1 fi-snb-2520m fi-pnv-d510 > > Possible new issues > ------------------- > > Here are the unknown changes that may have been introduced in Patchwork_144326v1: > > ### IGT changes ### > > #### Possible regressions #### > > * igt@i915_pm_rpm@module-reload: > - bat-dg1-7: [PASS][1] -> [FAIL][2] > [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16064/bat-dg1-7/igt@i915_pm_rpm@module-reload.html > [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144326v1/bat-dg1-7/igt@i915_pm_rpm@module-reload.html > > * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-xr24@pipe-a-dp-1: > - fi-kbl-7567u: [PASS][3] -> [DMESG-WARN][4] > [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16064/fi-kbl-7567u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-xr24@pipe-a-dp-1.html > [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144326v1/fi-kbl-7567u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-xr24@pipe-a-dp-1.html Unrelated, please re-report. BR, Jani. > > > Known issues > ------------ > > Here are the changes found in Patchwork_144326v1 that come from known issues: > > ### IGT changes ### > > #### Issues hit #### > > * igt@debugfs_test@basic-hwmon: > - bat-twl-2: NOTRUN -> [SKIP][5] ([i915#9318]) > [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144326v1/bat-twl-2/igt@debugfs_test@basic-hwmon.html > > * igt@gem_lmem_swapping@basic: > - bat-twl-2: NOTRUN -> [SKIP][6] ([i915#10213] / [i915#11671]) +3 other tests skip > [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144326v1/bat-twl-2/igt@gem_lmem_swapping@basic.html > > * igt@gem_tiled_pread_basic: > - bat-twl-2: NOTRUN -> [SKIP][7] ([i915#11031]) > [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144326v1/bat-twl-2/igt@gem_tiled_pread_basic.html > > * igt@i915_pm_rps@basic-api: > - bat-twl-2: NOTRUN -> [SKIP][8] ([i915#10209] / [i915#11681]) > [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144326v1/bat-twl-2/igt@i915_pm_rps@basic-api.html > > * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic: > - bat-twl-2: NOTRUN -> [SKIP][9] ([i915#11030] / [i915#11731]) +1 other test skip > [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144326v1/bat-twl-2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html > > * igt@kms_dsc@dsc-basic: > - bat-twl-2: NOTRUN -> [SKIP][10] ([i915#9886]) > [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144326v1/bat-twl-2/igt@kms_dsc@dsc-basic.html > > * igt@kms_force_connector_basic@force-load-detect: > - bat-twl-2: NOTRUN -> [SKIP][11] ([i915#11032]) > [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144326v1/bat-twl-2/igt@kms_force_connector_basic@force-load-detect.html > > * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-xr24: > - fi-kbl-7567u: [PASS][12] -> [DMESG-WARN][13] ([i915#13436]) +1 other test dmesg-warn > [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16064/fi-kbl-7567u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-xr24.html > [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144326v1/fi-kbl-7567u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-xr24.html > > * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence: > - bat-dg2-11: [PASS][14] -> [SKIP][15] ([i915#9197]) +3 other tests skip > [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16064/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html > [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144326v1/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html > > * igt@kms_setmode@basic-clone-single-crtc: > - bat-twl-2: NOTRUN -> [SKIP][16] ([i915#8809]) > [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144326v1/bat-twl-2/igt@kms_setmode@basic-clone-single-crtc.html > > * igt@prime_vgem@basic-fence-read: > - bat-twl-2: NOTRUN -> [SKIP][17] ([i915#10212] / [i915#3708]) > [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144326v1/bat-twl-2/igt@prime_vgem@basic-fence-read.html > > * igt@prime_vgem@basic-read: > - bat-twl-2: NOTRUN -> [SKIP][18] ([i915#10214] / [i915#3708]) > [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144326v1/bat-twl-2/igt@prime_vgem@basic-read.html > > * igt@prime_vgem@basic-write: > - bat-twl-2: NOTRUN -> [SKIP][19] ([i915#10216] / [i915#3708]) > [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144326v1/bat-twl-2/igt@prime_vgem@basic-write.html > > > #### Possible fixes #### > > * igt@i915_selftest@live@workarounds: > - {bat-mtlp-9}: [DMESG-FAIL][20] ([i915#12061]) -> [PASS][21] +1 other test pass > [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16064/bat-mtlp-9/igt@i915_selftest@live@workarounds.html > [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144326v1/bat-mtlp-9/igt@i915_selftest@live@workarounds.html > > > {name}: This element is suppressed. This means it is ignored when computing > the status of the difference (SUCCESS, WARNING, or FAILURE). > > [i915#10209]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10209 > [i915#10212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10212 > [i915#10213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10213 > [i915#10214]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10214 > [i915#10216]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10216 > [i915#11030]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11030 > [i915#11031]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11031 > [i915#11032]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11032 > [i915#11671]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11671 > [i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681 > [i915#11731]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11731 > [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061 > [i915#13436]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13436 > [i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708 > [i915#8809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8809 > [i915#9197]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9197 > [i915#9318]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9318 > [i915#9886]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9886 > > > Build changes > ------------- > > * Linux: CI_DRM_16064 -> Patchwork_144326v1 > > CI-20190529: 20190529 > CI_DRM_16064: ac87843456aa558a665df43aa62c03eaf7701bcb @ git://anongit.freedesktop.org/gfx-ci/linux > IGT_8223: ccfe042787b082c06402ff9af257f8338b8edd5e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git > Patchwork_144326v1: ac87843456aa558a665df43aa62c03eaf7701bcb @ git://anongit.freedesktop.org/gfx-ci/linux > > == Logs == > > For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_144326v1/index.html
diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c index 95abc6ea85eb..1587be5cd0a7 100644 --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c @@ -353,6 +353,10 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp, break; } + + /* Allow using zero step to indicate one try */ + if (!bpp_step_x16) + break; } if (slots < 0) {
Passing 0 as the step only works when there are other reasons to break out of the BPP loop in intel_dp_mtp_tu_compute_config(). Otherwise, an infinite loop might occur. Fix it by explicitly checking for 0 step. Fixes: ef0a0757bbea ("drm/i915/dp: compute config for 128b/132b SST w/o DSC") Reported-by: Imre Deak <imre.deak@intel.com> Closes: https://lore.kernel.org/r/Z6I0knh2Kt5T0JrT@ideak-desk.fi.intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- Note: This needs a backport with (!step) for -rc1. --- drivers/gpu/drm/i915/display/intel_dp_mst.c | 4 ++++ 1 file changed, 4 insertions(+)