On Mon, Jun 8, 2020 at 6:43 PM Michael S. Tsirkin <mst@xxxxxxxxxx> wrote: > > On Fri, May 15, 2020 at 04:26:15PM +0900, David Stevens wrote: > > > > + if (virtio_has_feature(vgdev->vdev, VIRTIO_GPU_F_RESOURCE_UUID)) { > > > > + vgdev->has_resource_assign_uuid = true; > > > > + } > > > > > > > > > Just a question: this relies on DMA bufs so I assume it is > > > not really assumed to work when DMA API is bypassed, right? > > > Rather than worry what does it mean, how about just > > > disabling this feature without PLATFORM_DMA for now? > > > > By PLATFORM_DMA, do you mean CONFIG_DMA_SHARED_BUFFER? > > Sorry, no. I mean VIRTIO_F_IOMMU_PLATFORM which in the > future will be renamed to VIRTIO_F_PLATFORM_ACCESS. Shouldn't things work independent of whether or not that feature is set? If a virtio driver properly uses the dma_buf APIs (which virtgpu seems to), then that should take care of any mapping/synchronization related to VIRTIO_F_IOMMU_PLATFORM. If anything, the case where VIRTIO_F_IOMMU_PLATFORM isn't set is easier, since then we know that the "the device has same access [sic] to memory addresses supplied to it as the driver has", according to the specification. -David