On Mon, Jun 08, 2020 at 07:36:55PM +0900, David Stevens wrote: > 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 I don't know much about drm so I can't tell, I was hoping Gerd can explain. -- MST