Skip to content

Commit 9bcaa3f

Browse files
orzelmichaldanvet
authored andcommitted
drm: Replace drm_modeset_lock/unlock_all with DRM_MODESET_LOCK_ALL_* helpers
As suggested by the TODO list for the kernel DRM subsystem, replace the deprecated functions that take/drop modeset locks with new helpers. Signed-off-by: Michal Orzel <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent 8976eee commit 9bcaa3f

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

drivers/gpu/drm/drm_mode_object.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -402,12 +402,13 @@ int drm_mode_obj_get_properties_ioctl(struct drm_device *dev, void *data,
402402
{
403403
struct drm_mode_obj_get_properties *arg = data;
404404
struct drm_mode_object *obj;
405+
struct drm_modeset_acquire_ctx ctx;
405406
int ret = 0;
406407

407408
if (!drm_core_check_feature(dev, DRIVER_MODESET))
408409
return -EOPNOTSUPP;
409410

410-
drm_modeset_lock_all(dev);
411+
DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, 0, ret);
411412

412413
obj = drm_mode_object_find(dev, file_priv, arg->obj_id, arg->obj_type);
413414
if (!obj) {
@@ -427,7 +428,7 @@ int drm_mode_obj_get_properties_ioctl(struct drm_device *dev, void *data,
427428
out_unref:
428429
drm_mode_object_put(obj);
429430
out:
430-
drm_modeset_unlock_all(dev);
431+
DRM_MODESET_LOCK_ALL_END(ctx, ret);
431432
return ret;
432433
}
433434

@@ -449,12 +450,13 @@ static int set_property_legacy(struct drm_mode_object *obj,
449450
{
450451
struct drm_device *dev = prop->dev;
451452
struct drm_mode_object *ref;
453+
struct drm_modeset_acquire_ctx ctx;
452454
int ret = -EINVAL;
453455

454456
if (!drm_property_change_valid_get(prop, prop_value, &ref))
455457
return -EINVAL;
456458

457-
drm_modeset_lock_all(dev);
459+
DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, 0, ret);
458460
switch (obj->type) {
459461
case DRM_MODE_OBJECT_CONNECTOR:
460462
ret = drm_connector_set_obj_prop(obj, prop, prop_value);
@@ -468,7 +470,7 @@ static int set_property_legacy(struct drm_mode_object *obj,
468470
break;
469471
}
470472
drm_property_change_valid_put(prop, ref);
471-
drm_modeset_unlock_all(dev);
473+
DRM_MODESET_LOCK_ALL_END(ctx, ret);
472474

473475
return ret;
474476
}

0 commit comments

Comments
 (0)