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 <jian.cao@amlogic.com>
This commit is contained in:
Cao Jian
2020-11-05 13:47:20 +08:00
committed by Chris
parent a7d4bbc988
commit 7e699a3907

View File

@@ -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) {