On Thu, Sep 30, 2021 at 09:43:58PM +0800, Lu Baolu wrote: > Here, we are discussing arch_sync_dma_for_cpu() and > arch_sync_dma_for_device(). The x86 arch has clflush to sync dma buffer > for device, but I can't see any instruction to sync dma buffer for cpu > if the device is not cache coherent. Is that the reason why x86 can't > have an implementation for arch_sync_dma_for_cpu(), hence all devices > are marked coherent?
arch_sync_dma_for_cpu and arch_sync_dma_for_device are only used if the device is marked non-coherent, that is if Linux knows the device can't be part of the cache coherency protocol. There are no known x86 systems with entirely not cache coherent devices so these helpers won't be useful as-is. _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu