Thread (119 messages) 119 messages, 8 authors, 2018-09-10

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

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help