OSDN Git Service

drm/virtio: drop resource_id argument.
authorGerd Hoffmann <kraxel@redhat.com>
Fri, 19 Oct 2018 06:18:46 +0000 (08:18 +0200)
committerGerd Hoffmann <kraxel@redhat.com>
Mon, 29 Oct 2018 21:50:55 +0000 (22:50 +0100)
We pass the obj anyway, so obj->hw_res_handle can be used instead
in virtio_gpu_object_attach() and virtio_gpu_cmd_create_resource().

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20181019061847.18958-6-kraxel@redhat.com
drivers/gpu/drm/virtio/virtgpu_drv.h
drivers/gpu/drm/virtio/virtgpu_fb.c
drivers/gpu/drm/virtio/virtgpu_gem.c
drivers/gpu/drm/virtio/virtgpu_ioctl.c
drivers/gpu/drm/virtio/virtgpu_ttm.c
drivers/gpu/drm/virtio/virtgpu_vq.c

index 5edc22d..c6b0a93 100644 (file)
@@ -265,7 +265,6 @@ void virtio_gpu_resource_id_get(struct virtio_gpu_device *vgdev,
 void virtio_gpu_resource_id_put(struct virtio_gpu_device *vgdev, uint32_t id);
 void virtio_gpu_cmd_create_resource(struct virtio_gpu_device *vgdev,
                                    struct virtio_gpu_object *bo,
-                                   uint32_t resource_id,
                                    uint32_t format,
                                    uint32_t width,
                                    uint32_t height);
@@ -287,7 +286,6 @@ void virtio_gpu_cmd_set_scanout(struct virtio_gpu_device *vgdev,
                                uint32_t x, uint32_t y);
 int virtio_gpu_object_attach(struct virtio_gpu_device *vgdev,
                             struct virtio_gpu_object *obj,
-                            uint32_t resource_id,
                             struct virtio_gpu_fence **fence);
 void virtio_gpu_object_detach(struct virtio_gpu_device *vgdev,
                              struct virtio_gpu_object *obj);
index 800960b..c22a824 100644 (file)
@@ -232,7 +232,7 @@ static int virtio_gpufb_create(struct drm_fb_helper *helper,
                return PTR_ERR(obj);
 
        virtio_gpu_resource_id_get(vgdev, &obj->hw_res_handle);
-       virtio_gpu_cmd_create_resource(vgdev, obj, obj->hw_res_handle, format,
+       virtio_gpu_cmd_create_resource(vgdev, obj, format,
                                       mode_cmd.width, mode_cmd.height);
 
        ret = virtio_gpu_object_kmap(obj);
@@ -242,7 +242,7 @@ static int virtio_gpufb_create(struct drm_fb_helper *helper,
        }
 
        /* attach the object to the resource */
-       ret = virtio_gpu_object_attach(vgdev, obj, obj->hw_res_handle, NULL);
+       ret = virtio_gpu_object_attach(vgdev, obj, NULL);
        if (ret)
                goto err_obj_attach;
 
index 8d53451..665d18a 100644 (file)
@@ -104,11 +104,11 @@ int virtio_gpu_mode_dumb_create(struct drm_file *file_priv,
        format = virtio_gpu_translate_format(DRM_FORMAT_HOST_XRGB8888);
        obj = gem_to_virtio_gpu_obj(gobj);
        virtio_gpu_resource_id_get(vgdev, &obj->hw_res_handle);
-       virtio_gpu_cmd_create_resource(vgdev, obj, obj->hw_res_handle, format,
+       virtio_gpu_cmd_create_resource(vgdev, obj, format,
                                       args->width, args->height);
 
        /* attach the object to the resource */
-       ret = virtio_gpu_object_attach(vgdev, obj, obj->hw_res_handle, NULL);
+       ret = virtio_gpu_object_attach(vgdev, obj, NULL);
        if (ret)
                goto fail;
 
index ebb0920..6179d93 100644 (file)
@@ -256,10 +256,10 @@ static int virtio_gpu_resource_create_ioctl(struct drm_device *dev, void *data,
        virtio_gpu_resource_id_get(vgdev, &qobj->hw_res_handle);
 
        if (!vgdev->has_virgl_3d) {
-               virtio_gpu_cmd_create_resource(vgdev, qobj, qobj->hw_res_handle, rc->format,
+               virtio_gpu_cmd_create_resource(vgdev, qobj, rc->format,
                                               rc->width, rc->height);
 
-               ret = virtio_gpu_object_attach(vgdev, qobj, qobj->hw_res_handle, NULL);
+               ret = virtio_gpu_object_attach(vgdev, qobj, NULL);
        } else {
                /* use a gem reference since unref list undoes them */
                drm_gem_object_get(&qobj->gem_base);
@@ -285,7 +285,7 @@ static int virtio_gpu_resource_create_ioctl(struct drm_device *dev, void *data,
                rc_3d.flags = cpu_to_le32(rc->flags);
 
                virtio_gpu_cmd_resource_create_3d(vgdev, qobj, &rc_3d, NULL);
-               ret = virtio_gpu_object_attach(vgdev, qobj, qobj->hw_res_handle, &fence);
+               ret = virtio_gpu_object_attach(vgdev, qobj, &fence);
                if (ret) {
                        ttm_eu_backoff_reservation(&ticket, &validate_list);
                        goto fail_unref;
index e3152d4..cd63dff 100644 (file)
@@ -347,8 +347,7 @@ static void virtio_gpu_bo_move_notify(struct ttm_buffer_object *tbo,
 
        } else if (new_mem->placement & TTM_PL_FLAG_TT) {
                if (bo->hw_res_handle) {
-                       virtio_gpu_object_attach(vgdev, bo, bo->hw_res_handle,
-                                                NULL);
+                       virtio_gpu_object_attach(vgdev, bo, NULL);
                }
        }
 }
index 3b6904c..ea3d137 100644 (file)
@@ -389,7 +389,6 @@ retry:
 /* create a basic resource */
 void virtio_gpu_cmd_create_resource(struct virtio_gpu_device *vgdev,
                                    struct virtio_gpu_object *bo,
-                                   uint32_t resource_id,
                                    uint32_t format,
                                    uint32_t width,
                                    uint32_t height)
@@ -401,7 +400,7 @@ void virtio_gpu_cmd_create_resource(struct virtio_gpu_device *vgdev,
        memset(cmd_p, 0, sizeof(*cmd_p));
 
        cmd_p->hdr.type = cpu_to_le32(VIRTIO_GPU_CMD_RESOURCE_CREATE_2D);
-       cmd_p->resource_id = cpu_to_le32(resource_id);
+       cmd_p->resource_id = cpu_to_le32(bo->hw_res_handle);
        cmd_p->format = cpu_to_le32(format);
        cmd_p->width = cpu_to_le32(width);
        cmd_p->height = cpu_to_le32(height);
@@ -865,7 +864,6 @@ void virtio_gpu_cmd_submit(struct virtio_gpu_device *vgdev,
 
 int virtio_gpu_object_attach(struct virtio_gpu_device *vgdev,
                             struct virtio_gpu_object *obj,
-                            uint32_t resource_id,
                             struct virtio_gpu_fence **fence)
 {
        bool use_dma_api = !virtio_has_iommu_quirk(vgdev->vdev);
@@ -909,10 +907,9 @@ int virtio_gpu_object_attach(struct virtio_gpu_device *vgdev,
                ents[si].padding = 0;
        }
 
-       virtio_gpu_cmd_resource_attach_backing(vgdev, resource_id,
+       virtio_gpu_cmd_resource_attach_backing(vgdev, obj->hw_res_handle,
                                               ents, nents,
                                               fence);
-       obj->hw_res_handle = resource_id;
        return 0;
 }