]> git.baikalelectronics.ru Git - kernel.git/commit
xen/grant-dma-ops: Retrieve the ID of backend's domain for DT devices
authorOleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Thu, 2 Jun 2022 19:23:52 +0000 (22:23 +0300)
committerJuergen Gross <jgross@suse.com>
Mon, 6 Jun 2022 14:07:30 +0000 (16:07 +0200)
commitcd295e0d1aa2182d1c6e3df9d1b2b71134d02db9
tree6992c0524fa71479bdc60df7cdd6080f5e270621
parentf7fda7887b600a7f2449b3436dbb8b65cc3caf28
xen/grant-dma-ops: Retrieve the ID of backend's domain for DT devices

Use the presence of "iommus" property pointed to the IOMMU node with
recently introduced "xen,grant-dma" compatible as a clear indicator
of enabling Xen grant mappings scheme for that device and read the ID
of Xen domain where the corresponding backend is running. The domid
(domain ID) is used as an argument to the Xen grant mapping APIs.

To avoid the deferred probe timeout which takes place after reusing
generic IOMMU device tree bindings (because the IOMMU device never
becomes available) enable recently introduced stub IOMMU driver by
selecting XEN_GRANT_DMA_IOMMU.

Also introduce xen_is_grant_dma_device() to check whether xen-grant
DMA ops need to be set for a passed device.

Remove the hardcoded domid 0 in xen_grant_setup_dma_ops().

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Link: https://lore.kernel.org/r/1654197833-25362-8-git-send-email-olekstysh@gmail.com
Signed-off-by: Juergen Gross <jgross@suse.com>
drivers/xen/Kconfig
drivers/xen/grant-dma-ops.c
include/xen/xen-ops.h