UPSTREAM: drm/virtio: drop virtio_gpu_fence_cleanup()
Just call drm_fence_put directly instead. Also set vgfb->fence to NULL after dropping the reference. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Ezequiel Garcia <ezequiel@collabora.com> Link: http://patchwork.freedesktop.org/patch/msgid/20181219122708.4586-4-kraxel@redhat.com (cherry picked from commit cb66c6daa5e9b2b2aa7ebe956e329c81c1ffe466) Signed-off-by: Greg Hartman <ghartman@google.com> BUG: 139386237 Change-Id: I57ec957d37733db30aeb4b329415a1f81f59936f
This commit is contained in:
parent
5186654ab5
commit
a62c058859
4 changed files with 5 additions and 12 deletions
|
@ -340,7 +340,6 @@ int virtio_gpu_mmap(struct file *filp, struct vm_area_struct *vma);
|
||||||
/* virtio_gpu_fence.c */
|
/* virtio_gpu_fence.c */
|
||||||
struct virtio_gpu_fence *virtio_gpu_fence_alloc(
|
struct virtio_gpu_fence *virtio_gpu_fence_alloc(
|
||||||
struct virtio_gpu_device *vgdev);
|
struct virtio_gpu_device *vgdev);
|
||||||
void virtio_gpu_fence_cleanup(struct virtio_gpu_fence *fence);
|
|
||||||
int virtio_gpu_fence_emit(struct virtio_gpu_device *vgdev,
|
int virtio_gpu_fence_emit(struct virtio_gpu_device *vgdev,
|
||||||
struct virtio_gpu_ctrl_hdr *cmd_hdr,
|
struct virtio_gpu_ctrl_hdr *cmd_hdr,
|
||||||
struct virtio_gpu_fence *fence);
|
struct virtio_gpu_fence *fence);
|
||||||
|
|
|
@ -81,14 +81,6 @@ struct virtio_gpu_fence *virtio_gpu_fence_alloc(struct virtio_gpu_device *vgdev)
|
||||||
return fence;
|
return fence;
|
||||||
}
|
}
|
||||||
|
|
||||||
void virtio_gpu_fence_cleanup(struct virtio_gpu_fence *fence)
|
|
||||||
{
|
|
||||||
if (!fence)
|
|
||||||
return;
|
|
||||||
|
|
||||||
dma_fence_put(&fence->f);
|
|
||||||
}
|
|
||||||
|
|
||||||
int virtio_gpu_fence_emit(struct virtio_gpu_device *vgdev,
|
int virtio_gpu_fence_emit(struct virtio_gpu_device *vgdev,
|
||||||
struct virtio_gpu_ctrl_hdr *cmd_hdr,
|
struct virtio_gpu_ctrl_hdr *cmd_hdr,
|
||||||
struct virtio_gpu_fence *fence)
|
struct virtio_gpu_fence *fence)
|
||||||
|
|
|
@ -351,7 +351,7 @@ static int virtio_gpu_resource_create_ioctl(struct drm_device *dev, void *data,
|
||||||
virtio_gpu_cmd_resource_create_3d(vgdev, qobj, &rc_3d);
|
virtio_gpu_cmd_resource_create_3d(vgdev, qobj, &rc_3d);
|
||||||
ret = virtio_gpu_object_attach(vgdev, qobj, fence);
|
ret = virtio_gpu_object_attach(vgdev, qobj, fence);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
virtio_gpu_fence_cleanup(fence);
|
dma_fence_put(&fence->f);
|
||||||
goto fail_backoff;
|
goto fail_backoff;
|
||||||
}
|
}
|
||||||
ttm_eu_fence_buffer_objects(&ticket, &validate_list, &fence->f);
|
ttm_eu_fence_buffer_objects(&ticket, &validate_list, &fence->f);
|
||||||
|
|
|
@ -219,8 +219,10 @@ static void virtio_gpu_cursor_cleanup_fb(struct drm_plane *plane,
|
||||||
return;
|
return;
|
||||||
|
|
||||||
vgfb = to_virtio_gpu_framebuffer(plane->state->fb);
|
vgfb = to_virtio_gpu_framebuffer(plane->state->fb);
|
||||||
if (vgfb->fence)
|
if (vgfb->fence) {
|
||||||
virtio_gpu_fence_cleanup(vgfb->fence);
|
dma_fence_put(&vgfb->fence->f);
|
||||||
|
vgfb->fence = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void virtio_gpu_cursor_plane_update(struct drm_plane *plane,
|
static void virtio_gpu_cursor_plane_update(struct drm_plane *plane,
|
||||||
|
|
Loading…
Add table
Reference in a new issue