Cache maintenance in arm_iommu_alloc_attrs for iommu_coherent_ops

Ritesh Harjani ritesh.harjani at gmail.com
Wed May 21 01:52:39 PDT 2014


Hi All,

There is this path in arm dma-mapping.c with respect to iommu coherent
buffer allocation:

1. arm_iommu_alloc_attrs
       -> __iommu_alloc_buffer
                 -> __dma_clear_buffer


__dma_clear_buffer zeros out the allocated pages but also flushes the
cpu and the outer cache for coherent iommu ops.

I think the above operation for coherent iommu ops should not include
cache flush operation right ??
Or I am missing something here ? Whether this is put intentional or
its a mistake we can correct ?


Thanks
Ritesh



More information about the linux-arm-kernel mailing list