diff options
author | Dave Airlie <airlied@redhat.com> | 2013-07-22 14:38:00 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2013-07-22 14:38:00 +1000 |
commit | afb64ff23f72c1e4232d1ef22b21dc45d38baf05 (patch) | |
tree | 060162b5cd29a63cda9ea83a26d408b96d277d2a /drivers/gpu/drm/qxl/qxl_cmd.c | |
parent | 576e1d9a7ae0bc75dc0b8a04ad8b5adabcdafaa5 (diff) |
qxl: WIP port to reservations code OMGqxl-wtuf-reservations-port
Diffstat (limited to 'drivers/gpu/drm/qxl/qxl_cmd.c')
-rw-r--r-- | drivers/gpu/drm/qxl/qxl_cmd.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/drivers/gpu/drm/qxl/qxl_cmd.c b/drivers/gpu/drm/qxl/qxl_cmd.c index 6efcf140bda1..1ada5d72e7c4 100644 --- a/drivers/gpu/drm/qxl/qxl_cmd.c +++ b/drivers/gpu/drm/qxl/qxl_cmd.c @@ -254,7 +254,25 @@ int qxl_garbage_collect(struct qxl_device *qdev) return i; } -int qxl_alloc_bo_reserved(struct qxl_device *qdev, unsigned long size, +int qxl_alloc_bo(struct qxl_device *qdev, + unsigned long size, + struct qxl_bo **_bo) +{ + int ret; + struct qxl_bo *bo; + ret = qxl_bo_create(qdev, size, false /* not kernel - device */, + QXL_GEM_DOMAIN_VRAM, NULL, &bo); + if (ret) { + DRM_ERROR("failed to allocate VRAM BO\n"); + return ret; + } + *_bo = bo; + return 0; +} + +int qxl_alloc_bo_reserved(struct qxl_device *qdev, + struct qxl_release *release, + unsigned long size, struct qxl_bo **_bo) { struct qxl_bo *bo; @@ -266,7 +284,7 @@ int qxl_alloc_bo_reserved(struct qxl_device *qdev, unsigned long size, DRM_ERROR("failed to allocate VRAM BO\n"); return ret; } - ret = qxl_bo_reserve(bo, false); + ret = qxl_bo_ticket_reserve(release, bo, false); if (unlikely(ret != 0)) goto out_unref; |