On Tue, Sep 02, 2025 at 11:34:59AM +0200, Maxime Ripard wrote: > Hi, > > Here's a series to get rid of the drm_atomic_helper_get_existing_*_state > accessors. > > The initial intent was to remove the __drm_*_state->state pointer to > only rely on old and new states, but we still need it now to know which > of the two we need to free: if a state has not been committed (either > dropped or checked only), then we need to free the new one, if it has > been committed we need to free the old state. > > Thus, the state pointer is kept (and documented) only to point to the > state we should free eventually. > > All users have been converted to the relevant old or new state > accessors. > > This was tested on tidss. > > Let me know what you think, > Maxime > > Signed-off-by: Maxime Ripard <mrip...@kernel.org>
<replying again to see if my smtp issues are now solved...> Other than the pre-existing ingenic private state issue that Dmitry spotted I didn't see anything obviously wrong. So apart from that the series is Reviewed-by: Ville Syrjälä <ville.syrj...@linux.intel.com> > --- > Changes in v2: > - Dropped the first and second patches > - Reworked the recipient list to be nicer with SMTPs > - Link to v1: > https://lore.kernel.org/r/20250825-drm-no-more-existing-state-v1-0-f08ccd9f8...@kernel.org > > --- > Maxime Ripard (37): > drm/atomic: Convert drm_atomic_get_connector_state() to use new > connector state > drm/atomic: Remove unused drm_atomic_get_existing_connector_state() > drm/atomic: Document __drm_connectors_state state pointer > drm/atomic: Convert __drm_atomic_get_current_plane_state() to modern > accessor > drm/atomic: Convert drm_atomic_get_plane_state() to use new plane state > drm/vkms: Convert vkms_crtc_atomic_check() to use new plane state > drm/tilcdc: crtc: Use drm_atomic_helper_check_crtc_primary_plane() > drm/atomic: Remove unused drm_atomic_get_existing_plane_state() > drm/atomic: Document __drm_planes_state state pointer > drm/atomic: Convert drm_atomic_get_crtc_state() to use new connector > state > drm/ingenic: ipu: Switch to drm_atomic_get_new_crtc_state() > drm/arm/malidp: Switch to drm_atomic_get_new_crtc_state() > drm/armada: Switch to drm_atomic_get_new_crtc_state() > drm/atmel-hlcdc: Switch to drm_atomic_get_new_crtc_state() > drm/exynos: Switch to drm_atomic_get_new_crtc_state() > drm/imx-dc: Switch to drm_atomic_get_new_crtc_state() > drm/imx-dcss: Switch to drm_atomic_get_new_crtc_state() > drm/imx-ipuv3: Switch to drm_atomic_get_new_crtc_state() > drm/ingenic: Switch to drm_atomic_get_new_crtc_state() > drm/kmb: Switch to drm_atomic_get_new_crtc_state() > drm/logicvc: Switch to drm_atomic_get_new_crtc_state() > drm/loongson: Switch to drm_atomic_get_new_crtc_state() > drm/mediatek: Switch to drm_atomic_get_new_crtc_state() > drm/msm/mdp5: Switch to drm_atomic_get_new_crtc_state() > drm/omap: Switch to drm_atomic_get_new_crtc_state() > drm/rockchip: Switch to drm_atomic_get_new_crtc_state() > drm/sun4i: Switch to drm_atomic_get_new_crtc_state() > drm/tegra: Switch to drm_atomic_get_new_crtc_state() > drm/tilcdc: Switch to drm_atomic_get_new_crtc_state() > drm/vboxvideo: Switch to drm_atomic_get_new_crtc_state() > drm/vc4: Switch to drm_atomic_get_new_crtc_state() > drm/atomic: Switch to drm_atomic_get_new_crtc_state() > drm/framebuffer: Switch to drm_atomic_get_new_crtc_state() > drm/atomic: Remove unused drm_atomic_get_existing_crtc_state() > drm/atomic: Document __drm_crtcs_state state pointer > drm/atomic: Convert drm_atomic_get_private_obj_state() to use new plane > state > drm/atomic: Document __drm_private_objs_state state pointer > > drivers/gpu/drm/arm/malidp_planes.c | 2 +- > drivers/gpu/drm/armada/armada_plane.c | 3 +- > drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 2 +- > drivers/gpu/drm/drm_atomic.c | 21 ++-- > drivers/gpu/drm/drm_framebuffer.c | 2 +- > drivers/gpu/drm/exynos/exynos_drm_plane.c | 2 +- > drivers/gpu/drm/imx/dc/dc-plane.c | 2 +- > drivers/gpu/drm/imx/dcss/dcss-plane.c | 4 +- > drivers/gpu/drm/imx/ipuv3/ipuv3-plane.c | 3 +- > drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 3 +- > drivers/gpu/drm/ingenic/ingenic-ipu.c | 4 +- > drivers/gpu/drm/kmb/kmb_plane.c | 3 +- > drivers/gpu/drm/logicvc/logicvc_layer.c | 4 +- > drivers/gpu/drm/loongson/lsdc_plane.c | 2 +- > drivers/gpu/drm/mediatek/mtk_plane.c | 3 +- > drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c | 7 +- > drivers/gpu/drm/omapdrm/omap_plane.c | 2 +- > drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 6 +- > drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 2 +- > drivers/gpu/drm/sun4i/sun8i_ui_layer.c | 3 +- > drivers/gpu/drm/sun4i/sun8i_vi_layer.c | 3 +- > drivers/gpu/drm/tegra/dc.c | 2 +- > drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 9 +- > drivers/gpu/drm/tilcdc/tilcdc_plane.c | 3 +- > drivers/gpu/drm/vboxvideo/vbox_mode.c | 8 +- > drivers/gpu/drm/vc4/vc4_plane.c | 6 +- > drivers/gpu/drm/vkms/vkms_crtc.c | 4 +- > include/drm/drm_atomic.h | 144 > ++++++++++++------------ > 28 files changed, 124 insertions(+), 135 deletions(-) > --- > base-commit: 7fa4d8dc380fbd81a9d702a855c50690c9c6442c > change-id: 20250825-drm-no-more-existing-state-9b3252c1a33b > > Best regards, > -- > Maxime Ripard <mrip...@kernel.org> -- Ville Syrjälä Intel