From 0aa7cf0bb2046e4c2ef57002eee1a033a390717a Mon Sep 17 00:00:00 2001 From: Yandong Lin Date: Tue, 24 May 2022 17:45:53 +0800 Subject: [PATCH] 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 Change-Id: Ib0cfd85b8455e2b68e86c39532a935c0bd2dfe27 --- drivers/video/rockchip/dvbm/rockchip_dvbm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/video/rockchip/dvbm/rockchip_dvbm.c b/drivers/video/rockchip/dvbm/rockchip_dvbm.c index dc7a07c3c83f..51f565c956e0 100644 --- a/drivers/video/rockchip/dvbm/rockchip_dvbm.c +++ b/drivers/video/rockchip/dvbm/rockchip_dvbm.c @@ -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: {