Commit 984c9949 authored by Fernando Ramos's avatar Fernando Ramos Committed by Sean Paul
Browse files

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: default avatarFernando Ramos <greenfoo@u92.eu>
Signed-off-by: default avatarSean Paul <seanpaul@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20210924064324.229457-14-greenfoo@u92.eu
parent 746826bc
Loading
Loading
Loading
Loading
+19 −21
Original line number Diff line number Diff line
@@ -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,13 +1114,7 @@ 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);

		return ret;
	}
	if (params->flags & I915_OVERLAY_ENABLE) {

		drmmode_crtc = drm_crtc_find(dev, file_priv, params->crtc_id);
		if (!drmmode_crtc)
@@ -1129,8 +1124,14 @@ int intel_overlay_put_image_ioctl(struct drm_device *dev, void *data,
		new_bo = i915_gem_object_lookup(file_priv, params->bo_handle);
		if (!new_bo)
			return -ENOENT;
	}

	drm_modeset_lock_all(dev);
	DRM_MODESET_LOCK_ALL_BEGIN(dev, ctx, 0, ret);

	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,13 +1196,10 @@ 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);
	DRM_MODESET_LOCK_ALL_END(dev, ctx, ret);

	if (params->flags & I915_OVERLAY_ENABLE)
		i915_gem_object_put(new_bo);

	return ret;