video: rockchip: dvbm: fix bug the first frame uv address error

fix bug the first frame uv address error
when venc from 2560 * 1440 change to 1920 * 1080
uv address will be change in frame end, but ready
event from frame start. venc will make regs when
receive ready event at once.

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Ib0cfd85b8455e2b68e86c39532a935c0bd2dfe27
This commit is contained in:
Yandong Lin
2022-05-24 17:45:53 +08:00
committed by Tao Huang
parent 75684834ed
commit 0aa7cf0bb2

View File

@@ -466,11 +466,10 @@ int rk_dvbm_ctrl(struct dvbm_port *port, enum dvbm_cmd cmd, void *arg)
memcpy(&ctx->isp_cfg, cfg, sizeof(struct dvbm_isp_cfg_t));
rk_dvbm_setup_iobuf(ctx);
rk_dvbm_reg_init(ctx);
init_isp_infos(ctx);
rk_dvbm_update_next_adr(ctx);
} break;
case DVBM_ISP_FRM_START: {
ctx->isp_frm_start = *(u32 *)arg;
rk_dvbm_update_isp_frm_info(ctx, 0);
rk_dvbm_show_time(ctx);
} break;
@@ -482,6 +481,7 @@ int rk_dvbm_ctrl(struct dvbm_port *port, enum dvbm_cmd cmd, void *arg)
ctx->isp_frm_info.frame_cnt = (ctx->isp_frm_start + 1) % 256;
rk_dvbm_update_next_adr(ctx);
rk_dvbm_update_isp_frm_info(ctx, line_cnt);
ctx->isp_frm_start++;
dvbm_debug("isp frame end[%d : %d]\n", ctx->isp_frm_start, ctx->isp_frm_end);
} break;
case DVBM_ISP_FRM_QUARTER: {