mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 17:13:52 +02:00
drm/i915: cleanup: drm_modeset_lock_all() --> DRM_MODESET_LOCK_ALL_BEGIN() part 2
As requested in Documentation/gpu/todo.rst, replace driver calls to drm_modeset_lock_all() with DRM_MODESET_LOCK_ALL_BEGIN() and DRM_MODESET_LOCK_ALL_END() While the previous commit was a simple "search and replace", this time I had to do a bit of refactoring as only one call to DRM_MODESET_LOCK_ALL_BEGIN() is allowed inside one same function. Signed-off-by: Fernando Ramos <greenfoo@u92.eu> Signed-off-by: Sean Paul <seanpaul@chromium.org> Link: https://patchwork.freedesktop.org/patch/msgid/20210924064324.229457-14-greenfoo@u92.eu
This commit is contained in:
parent
746826bcf8
commit
984c9949f1
|
|
@ -1105,6 +1105,7 @@ int intel_overlay_put_image_ioctl(struct drm_device *dev, void *data,
|
|||
struct drm_crtc *drmmode_crtc;
|
||||
struct intel_crtc *crtc;
|
||||
struct drm_i915_gem_object *new_bo;
|
||||
struct drm_modeset_acquire_ctx ctx;
|
||||
int ret;
|
||||
|
||||
overlay = dev_priv->overlay;
|
||||
|
|
@ -1113,24 +1114,24 @@ int intel_overlay_put_image_ioctl(struct drm_device *dev, void *data,
|
|||
return -ENODEV;
|
||||
}
|
||||
|
||||
if (!(params->flags & I915_OVERLAY_ENABLE)) {
|
||||
drm_modeset_lock_all(dev);
|
||||
ret = intel_overlay_switch_off(overlay);
|
||||
drm_modeset_unlock_all(dev);
|
||||
if (params->flags & I915_OVERLAY_ENABLE) {
|
||||
|
||||
return ret;
|
||||
drmmode_crtc = drm_crtc_find(dev, file_priv, params->crtc_id);
|
||||
if (!drmmode_crtc)
|
||||
return -ENOENT;
|
||||
crtc = to_intel_crtc(drmmode_crtc);
|
||||
|
||||
new_bo = i915_gem_object_lookup(file_priv, params->bo_handle);
|
||||
if (!new_bo)
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
drmmode_crtc = drm_crtc_find(dev, file_priv, params->crtc_id);
|
||||
if (!drmmode_crtc)
|
||||
return -ENOENT;
|
||||
crtc = to_intel_crtc(drmmode_crtc);
|
||||
DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, 0, ret);
|
||||
|
||||
new_bo = i915_gem_object_lookup(file_priv, params->bo_handle);
|
||||
if (!new_bo)
|
||||
return -ENOENT;
|
||||
|
||||
drm_modeset_lock_all(dev);
|
||||
if (!(params->flags & I915_OVERLAY_ENABLE)) {
|
||||
ret = intel_overlay_switch_off(overlay);
|
||||
goto out_unlock;
|
||||
}
|
||||
|
||||
if (i915_gem_object_is_tiled(new_bo)) {
|
||||
drm_dbg_kms(&dev_priv->drm,
|
||||
|
|
@ -1195,14 +1196,11 @@ int intel_overlay_put_image_ioctl(struct drm_device *dev, void *data,
|
|||
if (ret != 0)
|
||||
goto out_unlock;
|
||||
|
||||
drm_modeset_unlock_all(dev);
|
||||
i915_gem_object_put(new_bo);
|
||||
|
||||
return 0;
|
||||
|
||||
out_unlock:
|
||||
drm_modeset_unlock_all(dev);
|
||||
i915_gem_object_put(new_bo);
|
||||
DRM_MODESET_LOCK_ALL_END(dev, ctx, ret);
|
||||
|
||||
if (params->flags & I915_OVERLAY_ENABLE)
|
||||
i915_gem_object_put(new_bo);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user