[PATCH v9 0/8] drm/vkms: Switch all vkms object to DRM managed objects

Louis Chauvet louis.chauvet at bootlin.com
Tue Jan 21 09:51:37 UTC 2025


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@bootlin.com/
> 
> Signed-off-by: Louis Chauvet <louis.chauvet at bootlin.com>

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@bootlin.com
> 
> 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@bootlin.com
> 
> 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@bootlin.com
> 
> 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@bootlin.com
> 
> Changes in v5:
> - Rebased on drm-misc-next
> - Link to v4: https://lore.kernel.org/r/20241010-google-vkms-managed-v4-0-ed04a62ad2e3@bootlin.com
> 
> 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@bootlin.com
> 
> 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@bootlin.com/
> - Link to v2: https://lore.kernel.org/r/20240827-google-vkms-managed-v2-0-f41104553aeb@bootlin.com
> 
> 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@bootlin.com
> 
> ---
> 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 at bootlin.com>
> 


More information about the dri-devel mailing list