summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/qxl/qxl_object.h
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2013-07-23 08:06:07 +0400
committerDave Airlie <airlied@redhat.com>2013-07-24 05:58:10 +0400
commit4f49ec92be64ad1d96cf5d26fc8276f9849202a3 (patch)
treee295739f2bfaf65a1b88447383d7316c9f3d7af2 /drivers/gpu/drm/qxl/qxl_object.h
parent0665f9f852b4ac05f2f62046a169f0f5b9212317 (diff)
downloadlinux-4f49ec92be64ad1d96cf5d26fc8276f9849202a3.tar.xz
qxl: allow creation of pre-pinned objects and use for releases.
In order to fix an issue with reservations we need to create the releases as pre-pinned objects, this changes the placement interface and bo creation interface to allow creating pinned objects to save nested reservations later. This is just a stepping stone to main fix which follows to actually fix how qxl deals with reservations. Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/qxl/qxl_object.h')
-rw-r--r--drivers/gpu/drm/qxl/qxl_object.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/qxl/qxl_object.h b/drivers/gpu/drm/qxl/qxl_object.h
index ee7ad79ce781..116637f09347 100644
--- a/drivers/gpu/drm/qxl/qxl_object.h
+++ b/drivers/gpu/drm/qxl/qxl_object.h
@@ -88,7 +88,7 @@ static inline int qxl_bo_wait(struct qxl_bo *bo, u32 *mem_type,
extern int qxl_bo_create(struct qxl_device *qdev,
unsigned long size,
- bool kernel, u32 domain,
+ bool kernel, bool pinned, u32 domain,
struct qxl_surface *surf,
struct qxl_bo **bo_ptr);
extern int qxl_bo_kmap(struct qxl_bo *bo, void **ptr);
@@ -99,7 +99,7 @@ extern struct qxl_bo *qxl_bo_ref(struct qxl_bo *bo);
extern void qxl_bo_unref(struct qxl_bo **bo);
extern int qxl_bo_pin(struct qxl_bo *bo, u32 domain, u64 *gpu_addr);
extern int qxl_bo_unpin(struct qxl_bo *bo);
-extern void qxl_ttm_placement_from_domain(struct qxl_bo *qbo, u32 domain);
+extern void qxl_ttm_placement_from_domain(struct qxl_bo *qbo, u32 domain, bool pinned);
extern bool qxl_ttm_bo_is_qxl_bo(struct ttm_buffer_object *bo);
extern int qxl_bo_list_add(struct qxl_reloc_list *reloc_list, struct qxl_bo *bo);