Re: [PATCH v2 06/12] drm/virtio: remove ttm calls from in virtio_gpu_object_{reserve,unreserve}
From: Daniel Vetter
Date: Tue Jun 18 2019 - 10:14:33 EST
On Tue, Jun 18, 2019 at 03:58:14PM +0200, Gerd Hoffmann wrote:
> Call reservation_object_* directly instead
> of using ttm_bo_{reserve,unreserve}.
>
> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
> ---
> drivers/gpu/drm/virtio/virtgpu_drv.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.h b/drivers/gpu/drm/virtio/virtgpu_drv.h
> index 06cc0e961df6..91c320819a8c 100644
> --- a/drivers/gpu/drm/virtio/virtgpu_drv.h
> +++ b/drivers/gpu/drm/virtio/virtgpu_drv.h
> @@ -402,7 +402,7 @@ static inline int virtio_gpu_object_reserve(struct virtio_gpu_object *bo)
> {
> int r;
>
> - r = ttm_bo_reserve(&bo->tbo, true, false, NULL);
> + r = reservation_object_lock_interruptible(bo->gem_base.resv, NULL);
> if (unlikely(r != 0)) {
> if (r != -ERESTARTSYS) {
errno semantics change here, I think you now get EINTR. With that fixed:
Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx>
> struct virtio_gpu_device *qdev =
> @@ -416,7 +416,7 @@ static inline int virtio_gpu_object_reserve(struct virtio_gpu_object *bo)
>
> static inline void virtio_gpu_object_unreserve(struct virtio_gpu_object *bo)
> {
> - ttm_bo_unreserve(&bo->tbo);
> + reservation_object_unlock(bo->gem_base.resv);
> }
>
> /* virgl debufs */
> --
> 2.18.1
>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch