Drivers using drm_writeback_connector_init() / _with_encoder() don't perform cleanup in a manner similar to drmm_writeback_connector_init() (see drm_writeback_connector_cleanup()). Enough of the drivers don't use the encoder embedded into the drm_writeback connector. In preparation to further rework of the WB connectors (as planned to enable WB for i915 / xe drivers, which would move drm_writeback_connector to be a field inside drm_connector instead of subclassing it) remove the drm_encoder wrapped in struct drm_writeback_connector. Rename the drm_writeback_connector_init_with_encoder() to drm_writeback_connector_init() and copy drmm_writeback_connector_init() interface. Then, with the encoder being gone, handle proper cleanup of writeback data in drm_connector_cleanup().
--- Changes in v7: - Significantly reworked series, no longer insisting on using drmm. - Link to v6: https://patch.msgid.link/[email protected] Changes in v6: - Dropped applied patch - Implemented suggestion by Alex to use drmm allocation for the writeback connector. - Link to v5: https://patch.msgid.link/[email protected] Changes in v5: - Rebased on top of drm-misc-next - Expanded commit message for msm patch, describing devm vs drmm issues (Laurent) - Expanded commit messages, describing why the drivers are converted to drmm_writeback_connector_init() (Laurent) - Link to v4: https://lore.kernel.org/r/[email protected] Changes in v4: - Rebase on top of drm-misc-next, dropping applied patch. - Added a note regarding memory leak in the AMDGPU driver. - Fixed a devm vs drmm issue in the msm/dpu driver. - Link to v3: https://lore.kernel.org/r/[email protected] Changes in v3: - Fixed subject prefix for the rcar-du patch (Jessica Zhang) - Link to v2: https://lore.kernel.org/r/[email protected] Changes in v2: - Switched to drm_crtc_mask() where applicable (Louis Chauvet) - Link to v1: https://lore.kernel.org/r/[email protected] To: Maarten Lankhorst <[email protected]> To: Maxime Ripard <[email protected]> To: Thomas Zimmermann <[email protected]> To: David Airlie <[email protected]> To: Simona Vetter <[email protected]> To: John Harrison <[email protected]> To: Harry Wentland <[email protected]> To: Leo Li <[email protected]> To: Rodrigo Siqueira <[email protected]> To: Alex Deucher <[email protected]> To: Christian König <[email protected]> To: Liviu Dudau <[email protected]> To: Laurent Pinchart <[email protected]> To: Tomi Valkeinen <[email protected]> To: Kieran Bingham <[email protected]> To: Geert Uytterhoeven <[email protected]> To: Magnus Damm <[email protected]> To: Dave Stevenson <[email protected]> To: Maíra Canal <[email protected]> To: Raspberry Pi Kernel Maintenance <[email protected]> To: Louis Chauvet <[email protected]> To: Mihail Atanassov <[email protected]> To: Eric Anholt <[email protected]> To: Rob Clark <[email protected]> To: Brian Starkey <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] --- Dmitry Baryshkov (9): drm/amd/display: embed the writeback encoder in amdgpu_dm_wb_connector drm/komeda: embed the writeback encoder in komeda_wb_connector drm/mali: embed the writeback encoder in malidp_drm drm: renesas: rcar-du: embed the writeback encoder in rcar_du_crtc drm: writeback: drop excess connector initialization functions drm: writeback: rename drm_writeback_connector_init_with_encoder() drm: writeback: don't destroy the shared writeback properties drm: writeback: clean up writeback connectors in drm_connector_cleanup() drm: writeback: drop the drmm writeback cleanup action drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 +- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 1 + .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_wb.c | 27 +++- .../amd/display/amdgpu_dm/tests/amdgpu_dm_test.c | 4 +- .../display/amdgpu_dm/tests/amdgpu_dm_wb_test.c | 4 +- drivers/gpu/drm/arm/display/komeda/komeda_kms.h | 3 + .../drm/arm/display/komeda/komeda_wb_connector.c | 24 +++- drivers/gpu/drm/arm/malidp_drv.h | 1 + drivers/gpu/drm/arm/malidp_mw.c | 25 +++- drivers/gpu/drm/drm_connector.c | 3 + drivers/gpu/drm/drm_crtc_internal.h | 3 + drivers/gpu/drm/drm_writeback.c | 147 +++++---------------- drivers/gpu/drm/renesas/rcar-du/rcar_du_crtc.h | 2 + .../gpu/drm/renesas/rcar-du/rcar_du_writeback.c | 29 +++- drivers/gpu/drm/vc4/vc4_txp.c | 8 +- include/drm/drm_writeback.h | 22 +-- 16 files changed, 140 insertions(+), 165 deletions(-) --- base-commit: 725953d4da85cfb97a4c309fad6346b72f8529e7 change-id: 20250801-wb-drop-encoder-97a0c75bd5d7 Best regards, -- With best wishes Dmitry
