From fa23ddf258b3a2fe079194e5e0e15daf006005fe Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Tue, 12 Apr 2022 10:24:16 -0700 Subject: [PATCH] freedreno/drm/virtio: Fix SHAREABLE+MAPPABLE A shareable bo should also be mappable if FD_BO_NOMAP is not set. Signed-off-by: Rob Clark Part-of: --- src/freedreno/drm/virtio/virtio_bo.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/freedreno/drm/virtio/virtio_bo.c b/src/freedreno/drm/virtio/virtio_bo.c index ff111685ca9..2cf21b26785 100644 --- a/src/freedreno/drm/virtio/virtio_bo.c +++ b/src/freedreno/drm/virtio/virtio_bo.c @@ -422,9 +422,12 @@ virtio_bo_new(struct fd_device *dev, uint32_t size, uint32_t flags) if (flags & (FD_BO_SHARED | FD_BO_SCANOUT)) { args.blob_flags = VIRTGPU_BLOB_FLAG_USE_CROSS_DEVICE | VIRTGPU_BLOB_FLAG_USE_SHAREABLE; - } else if (!(flags & FD_BO_NOMAP)) { - args.blob_flags = VIRTGPU_BLOB_FLAG_USE_MAPPABLE; } + + if (!(flags & FD_BO_NOMAP)) { + args.blob_flags |= VIRTGPU_BLOB_FLAG_USE_MAPPABLE; + } + args.blob_id = p_atomic_inc_return(&virtio_dev->next_blob_id); args.cmd = VOID2U64(&req); args.cmd_size = sizeof(req);