Re: [PATCH 04/12] dma-mapping: fix DMA_OPS dependencies

From: Christoph Hellwig
Date: Fri Sep 11 2020 - 03:10:00 EST


On Thu, Sep 10, 2020 at 01:55:37PM +0100, Robin Murphy wrote:
> AFAICS all three of these bus drivers are only proxying a struct
> dma_map_ops * pointer around, so if they used the set_dma_ops() helper they
> shouldn't even need these selects at all. Only INTEL_MIC_HOST appears to
> have a logical dependency on DMA_OPS for actual functionality.
>
> However, I have a vague feeling you might not be fond of those dma_ops
> helpers, and I have no great objection to this one-liner as-is, so (modulo
> the couple of commit message typos),

The problem with these inherіtances is that they don't actually work
for the general case. You'd also need to inherity things like the
dma ranges, the bus limits, etc, etc. So we need to kill them instead.
That whole mic/vop case is even worse than that with it's weird set
of chained dma ops that seems to implement some kind of device side
iommu that isn't in scope for the DMA API at all.