OSDN Git Service

drm/virtio: blob prep: make CPU responses more generic
authorGurchetan Singh <gurchetansingh@chromium.org>
Thu, 24 Sep 2020 00:31:57 +0000 (17:31 -0700)
committerGerd Hoffmann <kraxel@redhat.com>
Tue, 29 Sep 2020 09:22:46 +0000 (11:22 +0200)
RESOURCE_MAP_BLOB / RESOURCE_UNMAP_BLOB can use this.

Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org>
Acked-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20200924003214.662-2-gurchetansingh@chromium.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
drivers/gpu/drm/virtio/virtgpu_drv.h
drivers/gpu/drm/virtio/virtgpu_prime.c
drivers/gpu/drm/virtio/virtgpu_vq.c

index 55c34b4..272abe1 100644 (file)
@@ -49,9 +49,9 @@
 #define DRIVER_MINOR 1
 #define DRIVER_PATCHLEVEL 0
 
-#define UUID_INITIALIZING 0
-#define UUID_INITIALIZED 1
-#define UUID_INITIALIZATION_FAILED 2
+#define STATE_INITIALIZING 0
+#define STATE_OK 1
+#define STATE_ERR 2
 
 struct virtio_gpu_object_params {
        uint32_t format;
index acd14ef..3552db1 100644 (file)
@@ -34,8 +34,8 @@ static int virtgpu_virtio_get_uuid(struct dma_buf *buf,
        struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj);
        struct virtio_gpu_device *vgdev = obj->dev->dev_private;
 
-       wait_event(vgdev->resp_wq, bo->uuid_state != UUID_INITIALIZING);
-       if (bo->uuid_state != UUID_INITIALIZED)
+       wait_event(vgdev->resp_wq, bo->uuid_state != STATE_INITIALIZING);
+       if (bo->uuid_state != STATE_OK)
                return -ENODEV;
 
        uuid_copy(uuid, &bo->uuid);
@@ -81,7 +81,7 @@ struct dma_buf *virtgpu_gem_prime_export(struct drm_gem_object *obj,
                        return ERR_PTR(ret);
                virtio_gpu_notify(vgdev);
        } else {
-               bo->uuid_state = UUID_INITIALIZATION_FAILED;
+               bo->uuid_state = STATE_ERR;
        }
 
        exp_info.ops = &virtgpu_dmabuf_ops.ops;
index a755004..55529ed 100644 (file)
@@ -1127,14 +1127,14 @@ static void virtio_gpu_cmd_resource_uuid_cb(struct virtio_gpu_device *vgdev,
        uint32_t resp_type = le32_to_cpu(resp->hdr.type);
 
        spin_lock(&vgdev->resource_export_lock);
-       WARN_ON(obj->uuid_state != UUID_INITIALIZING);
+       WARN_ON(obj->uuid_state != STATE_INITIALIZING);
 
        if (resp_type == VIRTIO_GPU_RESP_OK_RESOURCE_UUID &&
-           obj->uuid_state == UUID_INITIALIZING) {
+           obj->uuid_state == STATE_INITIALIZING) {
                memcpy(&obj->uuid.b, resp->uuid, sizeof(obj->uuid.b));
-               obj->uuid_state = UUID_INITIALIZED;
+               obj->uuid_state = STATE_OK;
        } else {
-               obj->uuid_state = UUID_INITIALIZATION_FAILED;
+               obj->uuid_state = STATE_ERR;
        }
        spin_unlock(&vgdev->resource_export_lock);
 
@@ -1153,7 +1153,7 @@ virtio_gpu_cmd_resource_assign_uuid(struct virtio_gpu_device *vgdev,
        resp_buf = kzalloc(sizeof(*resp_buf), GFP_KERNEL);
        if (!resp_buf) {
                spin_lock(&vgdev->resource_export_lock);
-               bo->uuid_state = UUID_INITIALIZATION_FAILED;
+               bo->uuid_state = STATE_ERR;
                spin_unlock(&vgdev->resource_export_lock);
                virtio_gpu_array_put_free(objs);
                return -ENOMEM;