mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-18 19:43:43 -04:00
drm/virtio: rework virtio_gpu_cmd_context_{attach, detach}_resource
Switch to the virtio_gpu_array_* helper workflow. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Chia-I Wu <olvaffe@gmail.com> Link: http://patchwork.freedesktop.org/patch/msgid/20190829103301.3539-13-kraxel@redhat.com
This commit is contained in:
@@ -136,19 +136,18 @@ int virtio_gpu_gem_object_open(struct drm_gem_object *obj,
|
||||
{
|
||||
struct virtio_gpu_device *vgdev = obj->dev->dev_private;
|
||||
struct virtio_gpu_fpriv *vfpriv = file->driver_priv;
|
||||
struct virtio_gpu_object *qobj = gem_to_virtio_gpu_obj(obj);
|
||||
int r;
|
||||
struct virtio_gpu_object_array *objs;
|
||||
|
||||
if (!vgdev->has_virgl_3d)
|
||||
return 0;
|
||||
|
||||
r = virtio_gpu_object_reserve(qobj);
|
||||
if (r)
|
||||
return r;
|
||||
objs = virtio_gpu_array_alloc(1);
|
||||
if (!objs)
|
||||
return -ENOMEM;
|
||||
virtio_gpu_array_add_obj(objs, obj);
|
||||
|
||||
virtio_gpu_cmd_context_attach_resource(vgdev, vfpriv->ctx_id,
|
||||
qobj->hw_res_handle);
|
||||
virtio_gpu_object_unreserve(qobj);
|
||||
objs);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -157,19 +156,18 @@ void virtio_gpu_gem_object_close(struct drm_gem_object *obj,
|
||||
{
|
||||
struct virtio_gpu_device *vgdev = obj->dev->dev_private;
|
||||
struct virtio_gpu_fpriv *vfpriv = file->driver_priv;
|
||||
struct virtio_gpu_object *qobj = gem_to_virtio_gpu_obj(obj);
|
||||
int r;
|
||||
struct virtio_gpu_object_array *objs;
|
||||
|
||||
if (!vgdev->has_virgl_3d)
|
||||
return;
|
||||
|
||||
r = virtio_gpu_object_reserve(qobj);
|
||||
if (r)
|
||||
objs = virtio_gpu_array_alloc(1);
|
||||
if (!objs)
|
||||
return;
|
||||
virtio_gpu_array_add_obj(objs, obj);
|
||||
|
||||
virtio_gpu_cmd_context_detach_resource(vgdev, vfpriv->ctx_id,
|
||||
qobj->hw_res_handle);
|
||||
virtio_gpu_object_unreserve(qobj);
|
||||
objs);
|
||||
}
|
||||
|
||||
struct virtio_gpu_object_array *virtio_gpu_array_alloc(u32 nents)
|
||||
|
||||
Reference in New Issue
Block a user