On 16/01/25 - 18:47, Louis Chauvet wrote: > To simplify the memory managment, this series replace all manual drm > object managment by drm-managed one. This way the VKMS code don't have to > manage it directly and the DRM core will handle the object destruction. > > No functional changes are intended in this series. > > PATCH 1/8: Migrate connector managment to drmm > PATCH 2/8: Migrate encoder managment to drmm > PATCH 3/8: Add helper to allocate workqueue > PATCH 4/8: Migrate CRTC management to drm > PATCH 5/8: Create a helper to initialize drm_writeback_connector (common > part between drmm and normal variants) > PATCH 6/8: Ensure the proper clean of drm_writeback_connector after a > failure during init > PATCH 7/8: Create the drmm initialization for drm_writeback_connector > PATCH 8/8: Migrate writeback connector management to drm > > For the drmm_writeback helpers, you can find some discussions here [3]. > > [3]:https://lore.kernel.org/all/20240906-writeback-drmm-v1-1-01ede328182c@xxxxxxxxxxx/ > > Signed-off-by: Louis Chauvet <louis.chauvet@xxxxxxxxxxx> Applied on drm-misc-next, thanks. Louis Chauvet > --- > Changes in v9: > - Move function definition in the correct patch (they were not used > anymore in the original patch, I missed this since the v7, thanks > kernel bot) > - Link to v8: https://lore.kernel.org/r/20250114-google-vkms-managed-v8-0-da4254aa3dd5@xxxxxxxxxxx > > Changes in v8: > - Add the helper to allocate workqueue with drmm managment > - Reorder includes > - Link to v7: https://lore.kernel.org/r/20250113-google-vkms-managed-v7-0-4f81d1893e0b@xxxxxxxxxxx > > Changes in v7: > - Add Reviewed-by > - Merge PATCH 4/8 and 5/8 as the function were statics > - PATCH 6/7: Remove optional parameter for encoder > - PATCH 7/7: Create dedicated encoder for vkms writeback connector > - Removed useless cleanup in PATCH 6/8 > - Link to v6: https://lore.kernel.org/r/20241230-google-vkms-managed-v6-0-15c7d65cd63b@xxxxxxxxxxx > > Changes in v6: > - Added R-by > - Splited the drmm_writeback_connector init in multiple commits + rework > how it is done. This time it should not change the behavior of existing > drivers > - Link to v5: https://lore.kernel.org/r/20241122-google-vkms-managed-v5-0-1ab60403e960@xxxxxxxxxxx > > Changes in v5: > - Rebased on drm-misc-next > - Link to v4: https://lore.kernel.org/r/20241010-google-vkms-managed-v4-0-ed04a62ad2e3@xxxxxxxxxxx > > Changes in v4: > - No changes for the managed part > - Add the patch to introduce drmm_writeback helpers > - Link to v3: https://lore.kernel.org/r/20240912-google-vkms-managed-v3-0-7708d6ad262d@xxxxxxxxxxx > > Changes in v3: > - As suggested by Maxime, split the managed and the dynamic allocation > parts in different series > - To reduce the diff in this series, extract the "remove crtc index" part, > see https://lore.kernel.org/all/20240906-vkms-remove-index-v1-1-3cfedd8ccb2f@xxxxxxxxxxx/ > - Link to v2: https://lore.kernel.org/r/20240827-google-vkms-managed-v2-0-f41104553aeb@xxxxxxxxxxx > > Changes in v2: > - Applied comments from José > - Extract the rename vkms_output -> vkms_crtc to avoid useless changes in > the last commit > - Extract the rename to_vkms_crtc_state to > drm_crtc_state_to_vkms_crtc_state to avoid useless changes in last > commit > - Extract the drm_mode_crtc_set_gamma_size result check in its own commit > - Rebased on drm-misc/drm-misc-next > - Link to v1: https://lore.kernel.org/r/20240814-google-vkms-managed-v1-0-7ab8b8921103@xxxxxxxxxxx > > --- > Louis Chauvet (8): > drm/vkms: Switch to managed for connector > drm/vkms: Switch to managed for encoder > drm/managed: Add DRM-managed alloc_ordered_workqueue > drm/vkms: Switch to managed for crtc > drm: writeback: Create an helper for drm_writeback_connector initialization > drm: writeback: Add missing cleanup in case of initialization failure > drm: writeback: Create drmm variants for drm_writeback_connector initialization > drm/vkms: Switch to managed for writeback connector > > drivers/gpu/drm/drm_managed.c | 8 ++ > drivers/gpu/drm/drm_writeback.c | 184 +++++++++++++++++++++++++++++----- > drivers/gpu/drm/vkms/vkms_crtc.c | 5 +- > drivers/gpu/drm/vkms/vkms_drv.c | 9 -- > drivers/gpu/drm/vkms/vkms_drv.h | 3 +- > drivers/gpu/drm/vkms/vkms_output.c | 26 ++--- > drivers/gpu/drm/vkms/vkms_writeback.c | 21 ++-- > include/drm/drm_managed.h | 12 +++ > include/drm/drm_writeback.h | 6 ++ > 9 files changed, 210 insertions(+), 64 deletions(-) > --- > base-commit: 6e11ce84c514f3ad8c8c766e1328bf49d80a0325 > change-id: 20240521-google-vkms-managed-4aec99461a77 > > Best regards, > -- > Louis Chauvet <louis.chauvet@xxxxxxxxxxx> >