Re: [RFC 2/4] virtio: Override device's DMA OPS with virtio_direct_dma_ops selectively
From: Anshuman Khandual <hidden>
Date: 2018-07-31 07:00:41
Also in:
lkml
From: Anshuman Khandual <hidden>
Date: 2018-07-31 07:00:41
Also in:
lkml
On 07/30/2018 02:55 PM, Christoph Hellwig wrote:
quoted
+const struct dma_map_ops virtio_direct_dma_ops;This belongs into a header if it is non-static. If you only use it in this file anyway please mark it static and avoid a forward declaration.
Sure, will make it static, move the definition up in the file to avoid forward declaration.
quoted
+ int virtio_finalize_features(struct virtio_device *dev) { int ret = dev->config->finalize_features(dev);@@ -174,6 +176,9 @@ int virtio_finalize_features(struct virtio_device *dev) if (ret) return ret; + if (virtio_has_iommu_quirk(dev)) + set_dma_ops(dev->dev.parent, &virtio_direct_dma_ops);This needs a big fat comment explaining what is going on here.
Sure, will do. Also talk about the XEN domain exception as well once that goes into this conditional statement.
Also not new, but I find the existance of virtio_has_iommu_quirk and its name horribly confusing. It might be better to open code it here once only a single caller is left.
Sure will do. There is one definition in the tools directory which can be removed and then this will be the only one left.