Message ID | 20250123-drm-dirty-modeset-v2-0-bbfd3a6cd1a4@linaro.org (mailing list archive) |
---|---|
Headers | show |
Series | drm/msm/dpu: follow rules for drm_atomic_helper_check_modeset() | expand |
On Thu, 23 Jan 2025 14:43:32 +0200, Dmitry Baryshkov wrote: > As pointed out by Simona, the drm_atomic_helper_check_modeset() and > drm_atomic_helper_check() require the former function is rerun if the > driver's callbacks modify crtc_state->mode_changed. MSM is one of the > drivers which failed to follow this requirement. > > Rework the MSM / DPU driver to follow the requirements of the > drm_atomic_helper_check_modeset() helper function. > > [...] Applied, thanks! [1/4] drm/msm/dpu: don't use active in atomic_check() https://gitlab.freedesktop.org/lumag/msm/-/commit/25b4614843bc [2/4] drm/msm/dpu: move needs_cdm setting to dpu_encoder_get_topology() https://gitlab.freedesktop.org/lumag/msm/-/commit/7d39f5bb82c0 [3/4] drm/msm/dpu: simplify dpu_encoder_get_topology() interface https://gitlab.freedesktop.org/lumag/msm/-/commit/41921f231abf Best regards,
From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> On Thu, 23 Jan 2025 14:43:32 +0200, Dmitry Baryshkov wrote: > As pointed out by Simona, the drm_atomic_helper_check_modeset() and > drm_atomic_helper_check() require the former function is rerun if the > driver's callbacks modify crtc_state->mode_changed. MSM is one of the > drivers which failed to follow this requirement. > > Rework the MSM / DPU driver to follow the requirements of the > drm_atomic_helper_check_modeset() helper function. > > [...] Applied, thanks! [1/4] drm/msm/dpu: don't use active in atomic_check() https://gitlab.freedesktop.org/lumag/msm/-/commit/25b4614843bc [2/4] drm/msm/dpu: move needs_cdm setting to dpu_encoder_get_topology() https://gitlab.freedesktop.org/lumag/msm/-/commit/7d39f5bb82c0 [3/4] drm/msm/dpu: simplify dpu_encoder_get_topology() interface https://gitlab.freedesktop.org/lumag/msm/-/commit/41921f231abf [4/4] drm/msm/dpu: don't set crtc_state->mode_changed from atomic_check() https://gitlab.freedesktop.org/lumag/msm/-/commit/2dde2aadaed1 Best regards,
As pointed out by Simona, the drm_atomic_helper_check_modeset() and drm_atomic_helper_check() require the former function is rerun if the driver's callbacks modify crtc_state->mode_changed. MSM is one of the drivers which failed to follow this requirement. Rework the MSM / DPU driver to follow the requirements of the drm_atomic_helper_check_modeset() helper function. Reported-by: Simona Vetter <simona.vetter@ffwll.ch> Link: https://lore.kernel.org/dri-devel/ZtW_S0j5AEr4g0QW@phenom.ffwll.local/ Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> --- Changes in v2: - Dropped drm-core patches (one was applied and another one is disputed) - Link to v1: https://lore.kernel.org/r/20241222-drm-dirty-modeset-v1-0-0e76a53eceb9@linaro.org --- Dmitry Baryshkov (4): drm/msm/dpu: don't use active in atomic_check() drm/msm/dpu: move needs_cdm setting to dpu_encoder_get_topology() drm/msm/dpu: simplify dpu_encoder_get_topology() interface drm/msm/dpu: don't set crtc_state->mode_changed from atomic_check() drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 4 -- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 82 ++++++++++++++++++----------- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h | 4 ++ drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 26 +++++++++ drivers/gpu/drm/msm/msm_atomic.c | 13 ++++- drivers/gpu/drm/msm/msm_kms.h | 7 +++ 6 files changed, 101 insertions(+), 35 deletions(-) --- base-commit: 2c38461deb29fda236f40950f24d898c49b04e71 change-id: 20241222-drm-dirty-modeset-88079bd27ae6 Best regards,