Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a62c0588 authored by Gerd Hoffmann's avatar Gerd Hoffmann Committed by Alistair Delva
Browse files

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: default avatarGerd Hoffmann <kraxel@redhat.com>
Reviewed-by: default avatarEzequiel 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: default avatarGreg Hartman <ghartman@google.com>
BUG: 139386237
Change-Id: I57ec957d37733db30aeb4b329415a1f81f59936f
parent 5186654a
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -340,7 +340,6 @@ int virtio_gpu_mmap(struct file *filp, struct vm_area_struct *vma);
/* virtio_gpu_fence.c */
struct virtio_gpu_fence *virtio_gpu_fence_alloc(
	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,
			  struct virtio_gpu_ctrl_hdr *cmd_hdr,
			  struct virtio_gpu_fence *fence);
+0 −8
Original line number Diff line number Diff line
@@ -81,14 +81,6 @@ struct virtio_gpu_fence *virtio_gpu_fence_alloc(struct virtio_gpu_device *vgdev)
	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,
			  struct virtio_gpu_ctrl_hdr *cmd_hdr,
			  struct virtio_gpu_fence *fence)
+1 −1
Original line number Diff line number Diff line
@@ -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);
		ret = virtio_gpu_object_attach(vgdev, qobj, fence);
		if (ret) {
			virtio_gpu_fence_cleanup(fence);
			dma_fence_put(&fence->f);
			goto fail_backoff;
		}
		ttm_eu_fence_buffer_objects(&ticket, &validate_list, &fence->f);
+4 −2
Original line number Diff line number Diff line
@@ -219,8 +219,10 @@ static void virtio_gpu_cursor_cleanup_fb(struct drm_plane *plane,
		return;

	vgfb = to_virtio_gpu_framebuffer(plane->state->fb);
	if (vgfb->fence)
		virtio_gpu_fence_cleanup(vgfb->fence);
	if (vgfb->fence) {
		dma_fence_put(&vgfb->fence->f);
		vgfb->fence = NULL;
	}
}

static void virtio_gpu_cursor_plane_update(struct drm_plane *plane,