Since dma_map/unmap_single functions have been moved to common, barebox doesn't compile for kvx anymore. The original functions were doing some magic to support 32bits dma buffer addresses. The original behavior can be replaced by a device-tree dma-range property. Fixes: 3f975f810 ("dma: move dma_map/unmap_single from ARM to common code") Signed-off-by: Jules Maselbas <jmaselbas@xxxxxxxxx> --- arch/kvx/lib/dma-default.c | 38 -------------------------------------- 1 file changed, 38 deletions(-) diff --git a/arch/kvx/lib/dma-default.c b/arch/kvx/lib/dma-default.c index 2a4144696c..c84a32954e 100644 --- a/arch/kvx/lib/dma-default.c +++ b/arch/kvx/lib/dma-default.c @@ -54,41 +54,3 @@ void dma_sync_single_for_cpu(dma_addr_t addr, size_t size, BUG(); } } - -#define KVX_DDR_ALIAS_OFFSET \ - (KVX_DDR_64BIT_RAM_WINDOW_BA - KVX_DDR_32BIT_RAM_WINDOW_BA) -#define KVX_DDR_ALIAS_WINDOW \ - (KVX_DDR_64BIT_RAM_WINDOW_BA + KVX_DDR_ALIAS_OFFSET) - -/* Local smem is aliased between 0 and 16MB */ -#define KVX_SMEM_LOCAL_ALIAS 0x1000000ULL - -dma_addr_t dma_map_single(struct device_d *dev, void *ptr, size_t size, - enum dma_data_direction dir) -{ - uintptr_t addr = (uintptr_t) ptr; - - dma_sync_single_for_device(addr, size, dir); - - /* Local smem alias should never be used for dma */ - if (addr < KVX_SMEM_LOCAL_ALIAS) - return addr + (1 + kvx_cluster_id()) * KVX_SMEM_LOCAL_ALIAS; - - if (dev->dma_mask && addr <= dev->dma_mask) - return addr; - - if (addr >= KVX_DDR_ALIAS_WINDOW) - return DMA_ERROR_CODE; - - addr -= KVX_DDR_ALIAS_OFFSET; - if (dev->dma_mask && addr > dev->dma_mask) - return DMA_ERROR_CODE; - - return addr; -} - -void dma_unmap_single(struct device_d *dev, dma_addr_t addr, size_t size, - enum dma_data_direction dir) -{ - dma_sync_single_for_cpu(addr, size, dir); -} -- 2.17.1 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox