Re: [PATCH v3 5/9] xen/gntdev: Allow mappings for DMA buffers

Oleksandr Andrushchenko
2018-06-14T07:00:35Z

@@ -548,6 +632,17 @@ static int gntdev_open(struct inode *inode, struct
file *flip)
> }
>
> flip->private_data = priv;
> +#ifdef CONFIG_XEN_GRANT_DMA_ALLOC
> + priv->dma_dev = gntdev_miscdev.this_device;
> +
> + /*
> + * The device is not spawn from a device tree, so arch_setup_dma_ops
> + * is not called, thus leaving the device with dummy DMA ops.
> + * Fix this call of_dma_configure() with a NULL node to set
> + * default DMA ops.
> + */
> + of_dma_configure(priv->dma_dev, NULL);
Please note, that the code above will need a change while
applying to the mainline kernel because of API changes [1].
Unfortunately, current Xen tip kernel tree is v4.17-rc5 based,
so I cannot make the change in this patch now.

The change is trivial and requires:
-of_dma_configure(priv->dma_dev, NULL);
+of_dma_configure(priv->dma_dev, NULL, true);
> +#endif
> pr_debug("priv %p\n", priv);
>
> return 0;
>
[1]