Commit 6071c4c2 authored by Christian König's avatar Christian König
Browse files

drm/qxl: add drm_gem_plane_helper_prepare_fb



We could need to wait for the pin to complete here.

Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: virtualization@lists.linux-foundation.org
Cc: spice-devel@lists.freedesktop.org
Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20220429134230.24334-4-christian.koenig@amd.com
parent 596c35b1
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@
#include <drm/drm_plane_helper.h>
#include <drm/drm_probe_helper.h>
#include <drm/drm_simple_kms_helper.h>
#include <drm/drm_gem_atomic_helper.h>

#include "qxl_drv.h"
#include "qxl_object.h"
@@ -829,6 +830,7 @@ static int qxl_plane_prepare_fb(struct drm_plane *plane,
	struct qxl_device *qdev = to_qxl(plane->dev);
	struct drm_gem_object *obj;
	struct qxl_bo *user_bo;
	int ret;

	if (!new_state->fb)
		return 0;
@@ -852,7 +854,11 @@ static int qxl_plane_prepare_fb(struct drm_plane *plane,
		qxl_free_cursor(old_cursor_bo);
	}

	return qxl_bo_pin(user_bo);
	ret = qxl_bo_pin(user_bo);
	if (ret)
		return ret;

	return drm_gem_plane_helper_prepare_fb(plane, new_state);
}

static void qxl_plane_cleanup_fb(struct drm_plane *plane,