mirror of
https://github.com/torvalds/linux.git
synced 2026-06-10 07:32:29 +02:00
UPSTREAM: drm/virtio: Use IDAs more efficiently
0-based IDAs are more efficient than any other base. Convert the
1-based IDAs to be 0-based.
Signed-off-by: Matthew Wilcox <willy@infradead.org>
Link: http://patchwork.freedesktop.org/patch/msgid/20181030165352.13065-2-willy@infradead.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
(cherry picked from commit 2ae7f165c0)
Signed-off-by: Greg Hartman <ghartman@google.com>
BUG: 139386237
Change-Id: I163fea3a31358bbaa478c1ce49b42de413ddc9d5
This commit is contained in:
parent
d620c93af6
commit
39a21dedcf
|
|
@ -55,10 +55,11 @@ static void virtio_gpu_config_changed_work_func(struct work_struct *work)
|
|||
static int virtio_gpu_context_create(struct virtio_gpu_device *vgdev,
|
||||
uint32_t nlen, const char *name)
|
||||
{
|
||||
int handle = ida_alloc_min(&vgdev->ctx_id_ida, 1, GFP_KERNEL);
|
||||
int handle = ida_alloc(&vgdev->ctx_id_ida, GFP_KERNEL);
|
||||
|
||||
if (handle < 0)
|
||||
return handle;
|
||||
handle += 1;
|
||||
virtio_gpu_cmd_context_create(vgdev, handle, nlen, name);
|
||||
return handle;
|
||||
}
|
||||
|
|
@ -67,7 +68,7 @@ static void virtio_gpu_context_destroy(struct virtio_gpu_device *vgdev,
|
|||
uint32_t ctx_id)
|
||||
{
|
||||
virtio_gpu_cmd_context_destroy(vgdev, ctx_id);
|
||||
ida_free(&vgdev->ctx_id_ida, ctx_id);
|
||||
ida_free(&vgdev->ctx_id_ida, ctx_id - 1);
|
||||
}
|
||||
|
||||
static void virtio_gpu_init_vq(struct virtio_gpu_queue *vgvq,
|
||||
|
|
|
|||
|
|
@ -28,18 +28,18 @@
|
|||
static int virtio_gpu_resource_id_get(struct virtio_gpu_device *vgdev,
|
||||
uint32_t *resid)
|
||||
{
|
||||
int handle = ida_alloc_min(&vgdev->resource_ida, 1, GFP_KERNEL);
|
||||
int handle = ida_alloc(&vgdev->resource_ida, GFP_KERNEL);
|
||||
|
||||
if (handle < 0)
|
||||
return handle;
|
||||
|
||||
*resid = handle;
|
||||
*resid = handle + 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void virtio_gpu_resource_id_put(struct virtio_gpu_device *vgdev, uint32_t id)
|
||||
{
|
||||
ida_free(&vgdev->resource_ida, id);
|
||||
ida_free(&vgdev->resource_ida, id - 1);
|
||||
}
|
||||
|
||||
static void virtio_gpu_ttm_bo_destroy(struct ttm_buffer_object *tbo)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user