drm/virtio: Set segment size for virtio_gpu device
authorSebastian Ott <sebott@redhat.com>
Tue, 23 Jan 2024 18:14:14 +0000 (19:14 +0100)
committerDmitry Osipenko <dmitry.osipenko@collabora.com>
Mon, 29 Jan 2024 08:44:34 +0000 (11:44 +0300)
Set the segment size of the virtio_gpu device to the value
used by the drm helpers when allocating sg lists to fix the
following complaint from DMA_API debug code:

DMA-API: virtio-pci 0000:07:00.0: mapping sg segment longer than
device claims to support [len=262144] [max=65536]

Cc: stable@vger.kernel.org
Tested-by: Zhenyu Zhang <zhenyzha@redhat.com>
Acked-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
Signed-off-by: Sebastian Ott <sebott@redhat.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Link: https://patchwork.freedesktop.org/patch/msgid/7258a4cc-da16-5c34-a042-2a23ee396d56@redhat.com
drivers/gpu/drm/virtio/virtgpu_drv.c

index f8e9abe647b927b211abb4bbc0751ea318d80369..9539aa28937fa4cf71fbcd8e252749607617d966 100644 (file)
@@ -94,6 +94,7 @@ static int virtio_gpu_probe(struct virtio_device *vdev)
                        goto err_free;
        }
 
+       dma_set_max_seg_size(dev->dev, dma_max_mapping_size(dev->dev) ?: UINT_MAX);
        ret = virtio_gpu_init(vdev, dev);
        if (ret)
                goto err_free;