mbox series

[v2,0/4] drm/msm/dpu: follow rules for drm_atomic_helper_check_modeset()

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

Message

Dmitry Baryshkov Jan. 23, 2025, 12:43 p.m. UTC
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,