From 9b0eb4e27918b6e1480ad8e898551431868d5ed1 Mon Sep 17 00:00:00 2001 From: Emil Renner Berthing Date: Wed, 23 Jun 2021 12:05:12 +0200 Subject: [PATCH] nvdla: Drop cache flushing code This shouldn't be needed with Atish' non-coherent dma solution. Signed-off-by: Emil Renner Berthing --- drivers/nvdla/bdma.c | 9 --------- drivers/nvdla/cache.c | 3 --- drivers/nvdla/include/opendla.h | 8 -------- drivers/nvdla/nvdla_core_callbacks.c | 8 -------- drivers/nvdla/nvdla_gem.c | 2 -- drivers/nvdla/scheduler.c | 1 - 6 files changed, 31 deletions(-) diff --git a/drivers/nvdla/bdma.c b/drivers/nvdla/bdma.c index e3a0e47ff140ca..bbf73c585679ae 100644 --- a/drivers/nvdla/bdma.c +++ b/drivers/nvdla/bdma.c @@ -133,7 +133,6 @@ processor_bdma_program_slot(struct dla_bdma_surface_desc *bdma_surface, uint64_t destination_addr = 0; uint32_t high, low, reg; uint8_t bdma_free_slots = 0; - uint64_t bdma_len = 0; struct dla_engine *engine = dla_get_engine(); dla_debug("Enter: %s\n", __func__); @@ -197,14 +196,6 @@ processor_bdma_program_slot(struct dla_bdma_surface_desc *bdma_surface, bdma_reg_write(CFG_DST_SURF, transfer->destination_surface); bdma_reg_write(CFG_OP, FIELD_ENUM(BDMA_CFG_OP_0, EN, ENABLE)); -#ifdef CONFIG_NVDLA_NEED_FLUSH - bdma_len = (transfer->surface_repeat) * (transfer->source_surface); //??? - nvdla_flush_dcache((unsigned long)source_addr,bdma_len); - nvdla_flush_dcache((unsigned long)destination_addr,bdma_len); - dla_info("%s():surface_repeat:%#x,source_surface:%#x bdmalen:%#llx\n",__func__,transfer->surface_repeat,transfer->source_surface,bdma_len); - dla_info("%s():dma_src_addr:%#llx,dma_dst_addr:%#llx \n",__func__,source_addr,destination_addr); -#endif - dla_debug("Exit: %s\n", __func__); exit: diff --git a/drivers/nvdla/cache.c b/drivers/nvdla/cache.c index eb1b454ef8ecbd..c9ba1431dde412 100644 --- a/drivers/nvdla/cache.c +++ b/drivers/nvdla/cache.c @@ -146,9 +146,6 @@ dla_get_op_desc(struct dla_task *task, int16_t index, } exit: - if (desc) { - nvdla_flush_dcache(dw_virt_to_phys((void *)desc), sizeof(*desc)); - } return desc; } diff --git a/drivers/nvdla/include/opendla.h b/drivers/nvdla/include/opendla.h index 41d7e30fb10d92..2b4ecd39d7322b 100644 --- a/drivers/nvdla/include/opendla.h +++ b/drivers/nvdla/include/opendla.h @@ -30,7 +30,6 @@ #define __OPENDLA_H_ #define DLA_2_CONFIG -#define CONFIG_NVDLA_NEED_FLUSH #ifdef DLA_2_CONFIG #include @@ -38,11 +37,4 @@ #include #endif -#ifdef CONFIG_NVDLA_NEED_FLUSH -#include -#define nvdla_flush_dcache starfive_flush_dcache -#else -#define nvdla_flush_dcache -#endif - #endif diff --git a/drivers/nvdla/nvdla_core_callbacks.c b/drivers/nvdla/nvdla_core_callbacks.c index 9606bc14ae4577..fa47cd946a75d2 100644 --- a/drivers/nvdla/nvdla_core_callbacks.c +++ b/drivers/nvdla/nvdla_core_callbacks.c @@ -113,7 +113,6 @@ void dla_error(const char *str, ...) void *dla_memset(void *src, int ch, uint64_t len) { memset(src, ch, len); - nvdla_flush_dcache(dw_virt_to_phys(src),len); return src; } @@ -255,11 +254,7 @@ int32_t dla_data_write(void *driver_context, void *task_data, goto end_cpu_access; } - - nvdla_flush_dcache(dw_virt_to_phys(src),size); memcpy((void *)((uint8_t *)ptr + offset), src, size); - nvdla_flush_dcache(dma_addr+offset,size); - dma_buf_vunmap(buf, &map); end_cpu_access: @@ -306,10 +301,7 @@ int32_t dla_data_read(void *driver_context, void *task_data, goto end_cpu_access; } - nvdla_flush_dcache(dma_addr+offset,size); memcpy(dst, (void *)(((uint8_t *)ptr) + offset), size); - nvdla_flush_dcache(dw_virt_to_phys(dst),size); - dma_buf_vunmap(buf, &map); end_cpu_access: diff --git a/drivers/nvdla/nvdla_gem.c b/drivers/nvdla/nvdla_gem.c index 4d24f8d83e0ebf..0ecc85b1c8d66b 100644 --- a/drivers/nvdla/nvdla_gem.c +++ b/drivers/nvdla/nvdla_gem.c @@ -80,8 +80,6 @@ static int32_t nvdla_fill_task_desc(struct nvdla_ioctl_submit_task *local_task, } task->address_list = handles; - - nvdla_flush_dcache(dw_virt_to_phys((void *)(task)),sizeof(*task)); return 0; } diff --git a/drivers/nvdla/scheduler.c b/drivers/nvdla/scheduler.c index 22de69c97fc5b8..f36a5c789c4b06 100644 --- a/drivers/nvdla/scheduler.c +++ b/drivers/nvdla/scheduler.c @@ -1100,7 +1100,6 @@ dla_execute_task(void *engine_context, void *task_data, void *config_data) if (ret) goto complete; - nvdla_flush_dcache(dw_virt_to_phys((void *)engine), sizeof(*engine)); dla_debug_address_info(engine->task); /**