[PATCH 0/6] drm: introduce atomic_needs_modeset() callbacks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



There are several drivers which attempt to upgrading the commit to the
full mode set from their per-object atomic_check() callbacks without
calling the drm_atomic_helper_check_modeset() or
drm_atomic_helper_check() again (as requested by those functions).

As discussed on IRC, add separate atomic_needs_modeset() callbacks,
whose only purpose is to allow the plane, connector, encoder or CRTC to
specify that for whatever reasons corresponding CRTC should undergo a
full modeset. The helpers will call these callbacks in a proper place,
adding affected objects and calling required functions as required.

The MSM patches depend on the msm-next tree and the series at [1]. The
plan is to land core changes through drm-misc, then merge drm-misc-next
into msm-next and merge remaining msm-specific patches through the
msm-next tree.

[1] https://lore.kernel.org/dri-devel/20250123-drm-dirty-modeset-v2-0-bbfd3a6cd1a4@xxxxxxxxxx/

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
---
Dmitry Baryshkov (6):
      drm/atomic-helper: add atomic_needs_modeset callbacks
      drm/mgag200: move format check to drm_plane_helper.atomic_needs_modeset
      drm/msm/dpu: stop upgrading commits by enabling allow_modeset
      drm/msm/dpu: move CTM check to drm_crtc_helper.atomic_needs_modeset
      drm/msm/dpu: use atomic_needs_modeset for CDM check
      drm/msm: drop msm_atomic_check wrapper

 drivers/gpu/drm/drm_atomic_helper.c         | 59 ++++++++++++++++++
 drivers/gpu/drm/mgag200/mgag200_drv.h       |  2 +
 drivers/gpu/drm/mgag200/mgag200_mode.c      | 27 ++++++---
 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c    | 15 +++++
 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 44 +++++++++-----
 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            | 29 ---------
 drivers/gpu/drm/msm/msm_drv.h               |  1 -
 drivers/gpu/drm/msm/msm_kms.c               |  2 +-
 drivers/gpu/drm/msm/msm_kms.h               |  7 ---
 include/drm/drm_modeset_helper_vtables.h    | 92 +++++++++++++++++++++++++++++
 12 files changed, 219 insertions(+), 89 deletions(-)
---
base-commit: 0936f0e54426177b0f0263ddf806ed5e13487db6
change-id: 20250123-atomic-needs-modeset-8f6a8243a3f7
prerequisite-change-id: 20241222-drm-dirty-modeset-88079bd27ae6:v2
prerequisite-patch-id: 0c61aabfcd13651203f476985380cbf4d3c299e6
prerequisite-patch-id: c6026f08011c288fd301676e9fa6f46d0cc1dab7
prerequisite-patch-id: b0cb06d5c88791d6e4755d879ced0d5050aa3cbf
prerequisite-patch-id: fd72ddde9dba0df053113bc505c213961a9760da

Best regards,
-- 
Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux