Re: [PATCH] dma-direct: Export dma_direct_alloc() and dma_direct_free()

From: Christoph Hellwig
Date: Wed Feb 06 2019 - 01:58:38 EST


On Tue, Feb 05, 2019 at 11:29:12PM +0100, Thierry Reding wrote:
> > > https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/gpu/host1x/cdma.c#n106
> >
> > Yes, I think we I can come up with a nicer helper for that.
>
> One thing I could also try is to remove direct IOMMU API usage at least
> from the host1x driver. I think this might work nowadays.
>
> For Tegra DRM we still need direct IOMMU API usage because we need to be
> able to map into an IOMMU domain without knowing the struct device *
> that we're mapping for (it could be needed by any of up to four display
> controllers). For host1x we always only have one struct device *, so the
> DMA mapping API should be good enough.

If you can convert it to plain DMA API usage, please do.

I did look into an IOMMU API memory allocator, and while we can do it
easily for coherent devices, we need some arch hooks for non-coherent
device support. With a pending series from me we have those for arm64,
but 32-bit arm support will require a lot more work first.