Commit 724cfdfd authored by Gerd Hoffmann's avatar Gerd Hoffmann

drm/virtio: drop resource_id argument.

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: default avatarGerd Hoffmann <kraxel@redhat.com>
Reviewed-by: default avatarDave Airlie <airlied@redhat.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20181019061847.18958-6-kraxel@redhat.com
parent 70a0d6a3
...@@ -265,7 +265,6 @@ void virtio_gpu_resource_id_get(struct virtio_gpu_device *vgdev, ...@@ -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_resource_id_put(struct virtio_gpu_device *vgdev, uint32_t id);
void virtio_gpu_cmd_create_resource(struct virtio_gpu_device *vgdev, void virtio_gpu_cmd_create_resource(struct virtio_gpu_device *vgdev,
struct virtio_gpu_object *bo, struct virtio_gpu_object *bo,
uint32_t resource_id,
uint32_t format, uint32_t format,
uint32_t width, uint32_t width,
uint32_t height); uint32_t height);
...@@ -287,7 +286,6 @@ void virtio_gpu_cmd_set_scanout(struct virtio_gpu_device *vgdev, ...@@ -287,7 +286,6 @@ void virtio_gpu_cmd_set_scanout(struct virtio_gpu_device *vgdev,
uint32_t x, uint32_t y); uint32_t x, uint32_t y);
int virtio_gpu_object_attach(struct virtio_gpu_device *vgdev, int virtio_gpu_object_attach(struct virtio_gpu_device *vgdev,
struct virtio_gpu_object *obj, struct virtio_gpu_object *obj,
uint32_t resource_id,
struct virtio_gpu_fence **fence); struct virtio_gpu_fence **fence);
void virtio_gpu_object_detach(struct virtio_gpu_device *vgdev, void virtio_gpu_object_detach(struct virtio_gpu_device *vgdev,
struct virtio_gpu_object *obj); struct virtio_gpu_object *obj);
......
...@@ -232,7 +232,7 @@ static int virtio_gpufb_create(struct drm_fb_helper *helper, ...@@ -232,7 +232,7 @@ static int virtio_gpufb_create(struct drm_fb_helper *helper,
return PTR_ERR(obj); return PTR_ERR(obj);
virtio_gpu_resource_id_get(vgdev, &obj->hw_res_handle); 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); mode_cmd.width, mode_cmd.height);
ret = virtio_gpu_object_kmap(obj); ret = virtio_gpu_object_kmap(obj);
...@@ -242,7 +242,7 @@ static int virtio_gpufb_create(struct drm_fb_helper *helper, ...@@ -242,7 +242,7 @@ static int virtio_gpufb_create(struct drm_fb_helper *helper,
} }
/* attach the object to the resource */ /* 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) if (ret)
goto err_obj_attach; goto err_obj_attach;
......
...@@ -104,11 +104,11 @@ int virtio_gpu_mode_dumb_create(struct drm_file *file_priv, ...@@ -104,11 +104,11 @@ int virtio_gpu_mode_dumb_create(struct drm_file *file_priv,
format = virtio_gpu_translate_format(DRM_FORMAT_HOST_XRGB8888); format = virtio_gpu_translate_format(DRM_FORMAT_HOST_XRGB8888);
obj = gem_to_virtio_gpu_obj(gobj); obj = gem_to_virtio_gpu_obj(gobj);
virtio_gpu_resource_id_get(vgdev, &obj->hw_res_handle); 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); args->width, args->height);
/* attach the object to the resource */ /* 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) if (ret)
goto fail; goto fail;
......
...@@ -256,10 +256,10 @@ static int virtio_gpu_resource_create_ioctl(struct drm_device *dev, void *data, ...@@ -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); virtio_gpu_resource_id_get(vgdev, &qobj->hw_res_handle);
if (!vgdev->has_virgl_3d) { 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); 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 { } else {
/* use a gem reference since unref list undoes them */ /* use a gem reference since unref list undoes them */
drm_gem_object_get(&qobj->gem_base); drm_gem_object_get(&qobj->gem_base);
...@@ -285,7 +285,7 @@ static int virtio_gpu_resource_create_ioctl(struct drm_device *dev, void *data, ...@@ -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); rc_3d.flags = cpu_to_le32(rc->flags);
virtio_gpu_cmd_resource_create_3d(vgdev, qobj, &rc_3d, NULL); 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) { if (ret) {
ttm_eu_backoff_reservation(&ticket, &validate_list); ttm_eu_backoff_reservation(&ticket, &validate_list);
goto fail_unref; goto fail_unref;
......
...@@ -347,8 +347,7 @@ static void virtio_gpu_bo_move_notify(struct ttm_buffer_object *tbo, ...@@ -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) { } else if (new_mem->placement & TTM_PL_FLAG_TT) {
if (bo->hw_res_handle) { if (bo->hw_res_handle) {
virtio_gpu_object_attach(vgdev, bo, bo->hw_res_handle, virtio_gpu_object_attach(vgdev, bo, NULL);
NULL);
} }
} }
} }
......
...@@ -389,7 +389,6 @@ static int virtio_gpu_queue_cursor(struct virtio_gpu_device *vgdev, ...@@ -389,7 +389,6 @@ static int virtio_gpu_queue_cursor(struct virtio_gpu_device *vgdev,
/* create a basic resource */ /* create a basic resource */
void virtio_gpu_cmd_create_resource(struct virtio_gpu_device *vgdev, void virtio_gpu_cmd_create_resource(struct virtio_gpu_device *vgdev,
struct virtio_gpu_object *bo, struct virtio_gpu_object *bo,
uint32_t resource_id,
uint32_t format, uint32_t format,
uint32_t width, uint32_t width,
uint32_t height) uint32_t height)
...@@ -401,7 +400,7 @@ void virtio_gpu_cmd_create_resource(struct virtio_gpu_device *vgdev, ...@@ -401,7 +400,7 @@ void virtio_gpu_cmd_create_resource(struct virtio_gpu_device *vgdev,
memset(cmd_p, 0, sizeof(*cmd_p)); memset(cmd_p, 0, sizeof(*cmd_p));
cmd_p->hdr.type = cpu_to_le32(VIRTIO_GPU_CMD_RESOURCE_CREATE_2D); 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->format = cpu_to_le32(format);
cmd_p->width = cpu_to_le32(width); cmd_p->width = cpu_to_le32(width);
cmd_p->height = cpu_to_le32(height); cmd_p->height = cpu_to_le32(height);
...@@ -865,7 +864,6 @@ void virtio_gpu_cmd_submit(struct virtio_gpu_device *vgdev, ...@@ -865,7 +864,6 @@ void virtio_gpu_cmd_submit(struct virtio_gpu_device *vgdev,
int virtio_gpu_object_attach(struct virtio_gpu_device *vgdev, int virtio_gpu_object_attach(struct virtio_gpu_device *vgdev,
struct virtio_gpu_object *obj, struct virtio_gpu_object *obj,
uint32_t resource_id,
struct virtio_gpu_fence **fence) struct virtio_gpu_fence **fence)
{ {
bool use_dma_api = !virtio_has_iommu_quirk(vgdev->vdev); bool use_dma_api = !virtio_has_iommu_quirk(vgdev->vdev);
...@@ -909,10 +907,9 @@ int virtio_gpu_object_attach(struct virtio_gpu_device *vgdev, ...@@ -909,10 +907,9 @@ int virtio_gpu_object_attach(struct virtio_gpu_device *vgdev,
ents[si].padding = 0; 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, ents, nents,
fence); fence);
obj->hw_res_handle = resource_id;
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment