Drivers (especially frameworks ported from Linux such as USB) expect dma_{un}map_single() APIs to take care of cache maintenance. But this is not the case in U-Boot and few drivers take care of flushing caches locally. Instead add flush/invalidate calls to DMA APIs in arch specific dma-mapping.h file so that per driver implementation of these APIs can be avoided.
I don't have all the affected hardwares. Would greatly appreciate if these patches work fine on the affected platforms. Vignesh Raghavendra (4): asm: dma-mapping.h: Fix dma mapping functions mmc: tmio-common: Drop custom dma mapping functions mtd: denali: Drop custom dma mapping functions net: macb: Drop local cache flush arch/arm/include/asm/dma-mapping.h | 22 ++++++++++++++++-- arch/nds32/include/asm/dma-mapping.h | 22 ++++++++++++++++-- arch/riscv/include/asm/dma-mapping.h | 22 ++++++++++++++++-- arch/x86/include/asm/dma-mapping.h | 22 ++++++++++++++++-- drivers/mmc/tmio-common.c | 25 +++----------------- drivers/mtd/nand/raw/denali.c | 34 +++------------------------- drivers/net/macb.c | 4 +--- 7 files changed, 87 insertions(+), 64 deletions(-) -- 2.24.0 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot