y wrong rates in downstream components that use crtc_*. - Minimal and self-contained. - No user-visible API/ABI changes and low regression risk. - Applies to all stable trees that include TIDSS and the atomic helper flow; dependencies (drm_mode_set_crtcinfo and drm_atomic_crtc_needs_modeset) are longstanding. Conclusion: This is a targeted bugfix with low risk and clear benefit for correctness in the DRM atomic pipeline; it should be backported to stable. drivers/gpu/drm/tidss/tidss_crtc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/tidss/tidss_crtc.c b/drivers/gpu/drm/tidss/tidss_crtc.c index 17efd77ce7f23..da89fd01c3376 100644 --- a/drivers/gpu/drm/tidss/tidss_crtc.c +++ b/drivers/gpu/drm/tidss/tidss_crtc.c @@ -91,7 +91,7 @@ static int tidss_crtc_atomic_check(struct drm_crtc *crtc, struct dispc_device *dispc = tidss->dispc; struct tidss_crtc *tcrtc = to_tidss_crtc(crtc); u32 hw_videoport = tcrtc->hw_videoport; - const struct drm_display_mode *mode; + struct drm_display_mode *mode; enum drm_mode_status ok; dev_dbg(ddev->dev, "%s\n", __func__); @@ -108,6 +108,9 @@ static int tidss_crtc_atomic_check(struct drm_crtc *crtc, return -EINVAL; } + if (drm_atomic_crtc_needs_modeset(crtc_state)) + drm_mode_set_crtcinfo(mode, 0); + return dispc_vp_bus_check(dispc, hw_videoport, crtc_state); } -- 2.51.0[PATCH AUTOSEL 6.17-5.15] drm/tidss: Set crtc modesetting parameters with adjusted modeSasha Levin undefinedpatches@lists.linux.dev, stable@vger.kernel.org undefined undefined undefined undefined undefined undefined³