search for: virtio_gpu_get_vbuf

Displaying 13 results from an estimated 13 matches for "virtio_gpu_get_vbuf".

2016 Nov 07
3
BUG: 'list_empty(&vgdev->free_vbufs)' is true!
...: CPU: 1 PID: 355 Comm: kworker/1:2 Not tainted 4.9.0-rc2-next-20161028+ #32 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.9.3-0-ge2fc41e-prebuilt.qemu-project.org 04/01/2014 Workqueue: events drm_fb_helper_dirty_work task: ffff88007b124980 task.stack: ffff88007b8a0000 RIP: 0010:virtio_gpu_get_vbuf+0x32e/0x630 RSP: 0018:ffff88007b8a78c0 EFLAGS: 00010286 RAX: 000000000000002e RBX: 1ffff1000f714f1d RCX: 0000000000000000 RDX: 000000000000002e RSI: 0000000000000001 RDI: ffffed000f714f0e RBP: ffff88007b8a7970 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000002 R11: 0000000000000001 R...
2016 Nov 07
3
BUG: 'list_empty(&vgdev->free_vbufs)' is true!
...: CPU: 1 PID: 355 Comm: kworker/1:2 Not tainted 4.9.0-rc2-next-20161028+ #32 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.9.3-0-ge2fc41e-prebuilt.qemu-project.org 04/01/2014 Workqueue: events drm_fb_helper_dirty_work task: ffff88007b124980 task.stack: ffff88007b8a0000 RIP: 0010:virtio_gpu_get_vbuf+0x32e/0x630 RSP: 0018:ffff88007b8a78c0 EFLAGS: 00010286 RAX: 000000000000002e RBX: 1ffff1000f714f1d RCX: 0000000000000000 RDX: 000000000000002e RSI: 0000000000000001 RDI: ffffed000f714f0e RBP: ffff88007b8a7970 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000002 R11: 0000000000000001 R...
2016 Nov 08
0
BUG: 'list_empty(&vgdev->free_vbufs)' is true!
...worker/1:2 Not tainted 4.9.0-rc2-next-20161028+ #32 > Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS > rel-1.9.3-0-ge2fc41e-prebuilt.qemu-project.org 04/01/2014 > Workqueue: events drm_fb_helper_dirty_work > task: ffff88007b124980 task.stack: ffff88007b8a0000 > RIP: 0010:virtio_gpu_get_vbuf+0x32e/0x630 > RSP: 0018:ffff88007b8a78c0 EFLAGS: 00010286 > RAX: 000000000000002e RBX: 1ffff1000f714f1d RCX: 0000000000000000 > RDX: 000000000000002e RSI: 0000000000000001 RDI: ffffed000f714f0e > RBP: ffff88007b8a7970 R08: 0000000000000001 R09: 0000000000000000 > R10: 000000000000000...
2020 Feb 05
0
[PATCH 1/4] drm/virtio: simplify virtio_gpu_alloc_cmd
...---------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/virtio/virtgpu_vq.c b/drivers/gpu/drm/virtio/virtgpu_vq.c index 5914e79d3429..6d6d55dc384e 100644 --- a/drivers/gpu/drm/virtio/virtgpu_vq.c +++ b/drivers/gpu/drm/virtio/virtgpu_vq.c @@ -109,23 +109,6 @@ virtio_gpu_get_vbuf(struct virtio_gpu_device *vgdev, return vbuf; } -static void *virtio_gpu_alloc_cmd(struct virtio_gpu_device *vgdev, - struct virtio_gpu_vbuffer **vbuffer_p, - int size) -{ - struct virtio_gpu_vbuffer *vbuf; - - vbuf = virtio_gpu_get_vbuf(vgdev, size, - sizeof(struct virtio_gpu_...
2015 Jun 16
0
[PATCH 3/3] virtio-gpu: add locking for vbuf pool
...y(&vgdev->free_vbufs))) return; @@ -113,6 +115,7 @@ void virtio_gpu_free_vbufs(struct virtio_gpu_device *vgdev) struct virtio_gpu_vbuffer, list); list_del(&vbuf->list); } + spin_unlock(&vgdev->free_vbufs_lock); kfree(vgdev->vbufs); } @@ -123,10 +126,12 @@ virtio_gpu_get_vbuf(struct virtio_gpu_device *vgdev, { struct virtio_gpu_vbuffer *vbuf; + spin_lock(&vgdev->free_vbufs_lock); BUG_ON(list_empty(&vgdev->free_vbufs)); vbuf = list_first_entry(&vgdev->free_vbufs, struct virtio_gpu_vbuffer, list); list_del(&vbuf->list); + spin_u...
2017 Mar 14
1
[PATCH] drm: virtio: fix eno.cocci warnings
...ERR_PTR Generated by: scripts/coccinelle/null/eno.cocci Signed-off-by: Fengguang Wu <fengguang.wu at intel.com> --- virtgpu_vq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/gpu/drm/virtio/virtgpu_vq.c +++ b/drivers/gpu/drm/virtio/virtgpu_vq.c @@ -97,7 +97,7 @@ virtio_gpu_get_vbuf(struct virtio_gpu_de struct virtio_gpu_vbuffer *vbuf; vbuf = kmem_cache_alloc(vgdev->vbufs, GFP_KERNEL); - if (IS_ERR(vbuf)) + if (!vbuf) return ERR_CAST(vbuf); memset(vbuf, 0, VBUFFER_SIZE);
2020 Feb 07
0
[PATCH v2 1/4] drm/virtio: simplify virtio_gpu_alloc_cmd
...@@ virtio_gpu_vbuf_ctrl_hdr(struct virtio_gpu_vbuffer *vbuf) return (struct virtio_gpu_ctrl_hdr *)vbuf->buf; } -static void *virtio_gpu_alloc_cmd(struct virtio_gpu_device *vgdev, - struct virtio_gpu_vbuffer **vbuffer_p, - int size) -{ - struct virtio_gpu_vbuffer *vbuf; - - vbuf = virtio_gpu_get_vbuf(vgdev, size, - sizeof(struct virtio_gpu_ctrl_hdr), - NULL, NULL); - if (IS_ERR(vbuf)) { - *vbuffer_p = NULL; - return ERR_CAST(vbuf); - } - *vbuffer_p = vbuf; - return vbuf->buf; -} - static struct virtio_gpu_update_cursor* virtio_gpu_alloc_cursor(struct virtio_gpu_device *vgdev,...
2015 Jun 16
0
[PATCH 3/3] virtio-gpu: add locking for vbuf pool
...y(&vgdev->free_vbufs))) return; @@ -113,6 +115,7 @@ void virtio_gpu_free_vbufs(struct virtio_gpu_device *vgdev) struct virtio_gpu_vbuffer, list); list_del(&vbuf->list); } + spin_unlock(&vgdev->free_vbufs_lock); kfree(vgdev->vbufs); } @@ -123,10 +126,12 @@ virtio_gpu_get_vbuf(struct virtio_gpu_device *vgdev, { struct virtio_gpu_vbuffer *vbuf; + spin_lock(&vgdev->free_vbufs_lock); BUG_ON(list_empty(&vgdev->free_vbufs)); vbuf = list_first_entry(&vgdev->free_vbufs, struct virtio_gpu_vbuffer, list); list_del(&vbuf->list); + spin_u...
2017 Mar 14
1
[PATCH] drm: virtio: fix eno.cocci warnings
...ERR_PTR Generated by: scripts/coccinelle/null/eno.cocci Signed-off-by: Fengguang Wu <fengguang.wu at intel.com> --- virtgpu_vq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/gpu/drm/virtio/virtgpu_vq.c +++ b/drivers/gpu/drm/virtio/virtgpu_vq.c @@ -97,7 +97,7 @@ virtio_gpu_get_vbuf(struct virtio_gpu_de struct virtio_gpu_vbuffer *vbuf; vbuf = kmem_cache_alloc(vgdev->vbufs, GFP_KERNEL); - if (IS_ERR(vbuf)) + if (!vbuf) return ERR_CAST(vbuf); memset(vbuf, 0, VBUFFER_SIZE);
2015 May 22
1
[PATCH v3 4/4] Add virtio gpu driver.
...+ for (i = 0; i < count; i++) { + if (WARN_ON(list_empty(&vgdev->free_vbufs))) + return; + vbuf = list_first_entry(&vgdev->free_vbufs, + struct virtio_gpu_vbuffer, list); + list_del(&vbuf->list); + } + kfree(vgdev->vbufs); +} + +static struct virtio_gpu_vbuffer* +virtio_gpu_get_vbuf(struct virtio_gpu_device *vgdev, + int size, int resp_size, void *resp_buf, + virtio_gpu_resp_cb resp_cb) +{ + struct virtio_gpu_vbuffer *vbuf; + + BUG_ON(list_empty(&vgdev->free_vbufs)); + vbuf = list_first_entry(&vgdev->free_vbufs, + struct virtio_gpu_vbuffer, list); +...
2015 May 22
1
[PATCH v3 4/4] Add virtio gpu driver.
...+ for (i = 0; i < count; i++) { + if (WARN_ON(list_empty(&vgdev->free_vbufs))) + return; + vbuf = list_first_entry(&vgdev->free_vbufs, + struct virtio_gpu_vbuffer, list); + list_del(&vbuf->list); + } + kfree(vgdev->vbufs); +} + +static struct virtio_gpu_vbuffer* +virtio_gpu_get_vbuf(struct virtio_gpu_device *vgdev, + int size, int resp_size, void *resp_buf, + virtio_gpu_resp_cb resp_cb) +{ + struct virtio_gpu_vbuffer *vbuf; + + BUG_ON(list_empty(&vgdev->free_vbufs)); + vbuf = list_first_entry(&vgdev->free_vbufs, + struct virtio_gpu_vbuffer, list); +...
2015 Apr 01
3
[PATCH v2 3/4] Add virtio gpu driver.
...+ for (i = 0; i < count; i++) { + if (WARN_ON(list_empty(&vgdev->free_vbufs))) + return; + vbuf = list_first_entry(&vgdev->free_vbufs, + struct virtio_gpu_vbuffer, list); + list_del(&vbuf->list); + } + kfree(vgdev->vbufs); +} + +static struct virtio_gpu_vbuffer* +virtio_gpu_get_vbuf(struct virtio_gpu_device *vgdev, + int size, int resp_size, void *resp_buf, + virtio_gpu_resp_cb resp_cb) +{ + struct virtio_gpu_vbuffer *vbuf; + + BUG_ON(list_empty(&vgdev->free_vbufs)); + vbuf = list_first_entry(&vgdev->free_vbufs, + struct virtio_gpu_vbuffer, list); +...
2015 Apr 01
3
[PATCH v2 3/4] Add virtio gpu driver.
...+ for (i = 0; i < count; i++) { + if (WARN_ON(list_empty(&vgdev->free_vbufs))) + return; + vbuf = list_first_entry(&vgdev->free_vbufs, + struct virtio_gpu_vbuffer, list); + list_del(&vbuf->list); + } + kfree(vgdev->vbufs); +} + +static struct virtio_gpu_vbuffer* +virtio_gpu_get_vbuf(struct virtio_gpu_device *vgdev, + int size, int resp_size, void *resp_buf, + virtio_gpu_resp_cb resp_cb) +{ + struct virtio_gpu_vbuffer *vbuf; + + BUG_ON(list_empty(&vgdev->free_vbufs)); + vbuf = list_first_entry(&vgdev->free_vbufs, + struct virtio_gpu_vbuffer, list); +...