From 7e699a390762bad334641cb8db2dfe7e7676d363 Mon Sep 17 00:00:00 2001 From: Cao Jian Date: Thu, 5 Nov 2020 13:47:20 +0800 Subject: [PATCH] ge2d: use offset when getting plane paddr [1/1] PD#SWPL-37010 Problem: yv12 u & v output error if plane_number is set 1 Solution: every plane offset is not used use offset when getting plane paddr Verify: w400 Change-Id: I489e9730024659e4aea0dfb0ba2ca33f22d04338 Signed-off-by: Cao Jian --- drivers/amlogic/media/common/ge2d/ge2d_wq.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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) {