Hi, This series started from my work on the hardware state readout[1], and was suggested by Dmitry[2].
This series deal with the fact that drm_private_obj (and thus bridges) are not initialized using the same pattern than any other object. This series solves that inconsistency by aligning it to what we're doing for all the other objects. This was tested on a TI SK-AM62, with three bridges. Let me know what you think, Maxime 1: https://lore.kernel.org/dri-devel/[email protected]/ 2: https://lore.kernel.org/dri-devel/zvqtehg66dbrrdmik6ylo2kdk74umfzo5hbfkizwsb352nlyqv@jgouvmbfwa4x/ Signed-off-by: Maxime Ripard <[email protected]> --- Maxime Ripard (16): drm/atomic: Add dev pointer to drm_private_obj drm/atomic: Add reset to drm_private_obj drm/atomic-helper: Add private_obj reset helper drm/bridge: Switch private_obj initialization to reset drm/dp_mst: Switch private_obj initialization to reset drm/dp_tunnel: Switch private_obj initialization to reset drm/amdgpu: Switch private_obj initialization to reset drm/arm: komeda: Switch private_obj initialization to reset drm/ingenic: Switch private_obj initialization to reset drm/msm: mdp5: Switch private_obj initialization to reset drm/msm: dpu1: Switch private_obj initialization to reset drm/omapdrm: Switch private_obj initialization to reset drm/tegra: Switch private_obj initialization to reset drm/vc4: Switch private_obj initialization to reset drm/atomic: Remove state argument to drm_atomic_private_obj_init drm/mode_config: Call private obj reset with the other objects drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 53 ++--- .../gpu/drm/arm/display/komeda/komeda_pipeline.h | 2 + .../drm/arm/display/komeda/komeda_private_obj.c | 232 +++++++++++++++------ drivers/gpu/drm/display/drm_dp_mst_topology.c | 38 ++-- drivers/gpu/drm/display/drm_dp_tunnel.c | 28 ++- drivers/gpu/drm/drm_atomic.c | 6 +- drivers/gpu/drm/drm_atomic_state_helper.c | 24 +++ drivers/gpu/drm/drm_bridge.c | 30 +-- drivers/gpu/drm/drm_mode_config.c | 6 + drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 30 ++- drivers/gpu/drm/ingenic/ingenic-ipu.c | 30 +-- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 30 ++- drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c | 30 ++- drivers/gpu/drm/omapdrm/omap_drv.c | 24 ++- drivers/gpu/drm/tegra/hub.c | 24 ++- drivers/gpu/drm/vc4/vc4_kms.c | 73 +++++-- include/drm/drm_atomic.h | 15 +- include/drm/drm_atomic_state_helper.h | 3 + 18 files changed, 473 insertions(+), 205 deletions(-) --- base-commit: aa1c2b073ad23847dd2e7bdc7d30009f34ed7f59 change-id: 20251008-drm-private-obj-reset-ae1e2741027a Best regards, -- Maxime Ripard <[email protected]>
