diff --git a/drivers/amlogic/media/common/ge2d/ge2d_wq.c b/drivers/amlogic/media/common/ge2d/ge2d_wq.c index dc202240f286..37896739932e 100644 --- a/drivers/amlogic/media/common/ge2d/ge2d_wq.c +++ b/drivers/amlogic/media/common/ge2d/ge2d_wq.c @@ -1192,7 +1192,7 @@ static int build_ge2d_config_ex_ion(struct ge2d_context_s *context, #else return ret; #endif - plane[i].addr = addr; + plane[i].addr += addr; canvas_set = 1; } else if (plane[i].addr) { plane[i].addr += plane[0].addr; @@ -1251,7 +1251,7 @@ static int build_ge2d_config_ex_dma(struct ge2d_context_s *context, if (ret != 0) return ret; kfree(dma_cfg); - plane[i].addr = addr; + plane[i].addr += addr; canvas_set = 1; } else if (plane[i].shared_fd == DMA_FD_ATTACHED) { struct ge2d_dma_cfg_s *cfg = NULL; @@ -1268,7 +1268,7 @@ static int build_ge2d_config_ex_dma(struct ge2d_context_s *context, } dma_cfg = (struct aml_dma_cfg *)cfg->dma_cfg; - plane[i].addr = sg_phys(dma_cfg->sg->sgl); + plane[i].addr += sg_phys(dma_cfg->sg->sgl); canvas_set = 1; ret = 0; } else if (plane[i].addr) {