Hi Christoph,

On Tue, Apr 14, 2020 at 02:25:05PM +0200, Christoph Hellwig wrote:
> +static inline bool dma_map_direct(struct device *dev,
> +             const struct dma_map_ops *ops)
> +{
> +     if (likely(!ops))
> +             return true;
> +     if (!dev->dma_ops_bypass)
> +             return false;
> +
> +     return min_not_zero(*dev->dma_mask, dev->bus_dma_limit) >=
> +                         dma_direct_get_required_mask(dev);

Why is the dma-mask check done here? The dma-direct code handles memory
outside of the devices dma-mask with swiotlb, no?

I also don't quite get what the difference between setting the
dma_ops_bypass flag non-zero and setting ops to NULL is.


        Joerg


Reply via email to