[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250114-google-vkms-managed-v8-0-da4254aa3dd5@bootlin.com>
Date: Tue, 14 Jan 2025 15:05:42 +0100
From: Louis Chauvet <louis.chauvet@...tlin.com>
To: Rodrigo Siqueira <rodrigosiqueiramelo@...il.com>,
Melissa Wen <melissa.srw@...il.com>,
Maíra Canal <mairacanal@...eup.net>,
Haneen Mohammed <hamohammed.sa@...il.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Simona Vetter <simona.vetter@...ll.ch>
Cc: dri-devel@...ts.freedesktop.org, arthurgrillo@...eup.net,
linux-kernel@...r.kernel.org, jeremie.dautheribes@...tlin.com,
miquel.raynal@...tlin.com, thomas.petazzoni@...tlin.com,
seanpaul@...gle.com, nicolejadeyee@...gle.com,
Louis Chauvet <louis.chauvet@...tlin.com>,
Maíra Canal <mcanal@...lia.com>
Subject: [PATCH v8 0/8] drm/vkms: Switch all vkms object to DRM managed
objects
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@...tlin.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 | 185 +++++++++++++++++++++++++++++-----
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, 211 insertions(+), 64 deletions(-)
---
base-commit: 6e11ce84c514f3ad8c8c766e1328bf49d80a0325
change-id: 20240521-google-vkms-managed-4aec99461a77
Best regards,
--
Louis Chauvet <louis.chauvet@...tlin.com>
Powered by blists - more mailing lists