mbox series

[v5,0/5] drm/managed: Add drmm_release_action

Message ID 20240115171351.504264-1-michal.winiarski@intel.com (mailing list archive)
Headers show
Series drm/managed: Add drmm_release_action | expand

Message

Michał Winiarski Jan. 15, 2024, 5:13 p.m. UTC
Upcoming Intel Xe driver will need to have a more fine-grained control
over DRM managed actions - namely, the ability to release a given
action, triggering it manually at a different point in time than the
final drm_dev_put().
This series adds a drmm_release_action function (which is similar to
devres devm_release_action) and a simple test that uses it.

v1 -> v2:
- Split the test changes (Maxime)
- Simplify priv lifetime management (Maxime)

v2 -> v3:
- Order tests alphabetically (Maxime)
- Add comments explaining the intention behind the tests and the reason
  why DRM device can't be embedded inside test priv (Maxime)
- Bring back priv lifetime management from v1 to avoid use-after-free

v3 -> v4:
- Split test changes into smaller patches (Maxime)
- Remove the waitqueue usage in tests
- Rename the test suite to match other DRM tests

v4 -> v5:
- Simplify the release test (Maxime)
- Rename suite to "drm_managed" (Maxime)
- Drop redundant messages from asserts (Maxime)

Michał Winiarski (5):
  drm/managed: Add drmm_release_action
  drm/tests: managed: Rename the suite name to match other DRM tests
  drm/tests: managed: Add comments about test intent
  drm/tests: managed: Extract device initialization into test init
  drm/tests: managed: Add a simple test for drmm_managed_release

 drivers/gpu/drm/drm_managed.c            | 39 ++++++++++++
 drivers/gpu/drm/tests/drm_managed_test.c | 77 +++++++++++++++++++-----
 include/drm/drm_managed.h                |  4 ++
 3 files changed, 104 insertions(+), 16 deletions(-)