From: Evoke Zhang Date: Fri, 19 Apr 2019 03:30:42 +0000 (+0800) Subject: vdin: recycle garbage frame for afbc mode [1/1] X-Git-Tag: hardkernel-4.9.236-104~1390 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3038cb811f97c0222b8f38251324d0d947aca25c;p=platform%2Fkernel%2Flinux-amlogic.git vdin: recycle garbage frame for afbc mode [1/1] PD#TV-4335 Problem: switch tvin signals will flash garbage screen Solution: recycle barbage frame for afbc mode Verify: x301 Change-Id: I17c13b5db7a506403aa5ac74568b7a9e16c075c0 Signed-off-by: Evoke Zhang --- diff --git a/drivers/amlogic/media/vin/tvin/vdin/vdin_debug.c b/drivers/amlogic/media/vin/tvin/vdin/vdin_debug.c index ca8bbd7..25dce3e 100644 --- a/drivers/amlogic/media/vin/tvin/vdin/vdin_debug.c +++ b/drivers/amlogic/media/vin/tvin/vdin/vdin_debug.c @@ -2131,16 +2131,6 @@ start_chk: } else { pr_info("skip_frame_debug: %d\n", skip_frame_debug); } - } else if (!strcmp(parm[0], "afbc_preview_drop_cnt")) { - if (parm[1] != NULL) { - if (kstrtouint(parm[1], 10, - &vdin_afbc_preview_force_drop_frame_cnt) == 0) - pr_info("set vdin_afbc_preview_force_drop_frame_cnt: %d\n", - vdin_afbc_preview_force_drop_frame_cnt); - } else { - pr_info("vdin_afbc_preview_force_drop_frame_cnt: %d\n", - vdin_afbc_preview_force_drop_frame_cnt); - } } else if (!strcmp(parm[0], "afbc_drop_cnt")) { if (parm[1] != NULL) { if (kstrtouint(parm[1], 10, diff --git a/drivers/amlogic/media/vin/tvin/vdin/vdin_drv.c b/drivers/amlogic/media/vin/tvin/vdin/vdin_drv.c index a3d97b4..84110d9 100644 --- a/drivers/amlogic/media/vin/tvin/vdin/vdin_drv.c +++ b/drivers/amlogic/media/vin/tvin/vdin/vdin_drv.c @@ -108,8 +108,7 @@ static int tl1_vdin1_preview_ready_flag; static unsigned int vdin_afbc_force_drop_frame = 1; static struct vf_entry *vfe_drop_force; -unsigned int vdin_afbc_preview_force_drop_frame_cnt; -unsigned int vdin_afbc_force_drop_frame_cnt; +unsigned int vdin_afbc_force_drop_frame_cnt = 2; unsigned int max_ignore_frame_cnt = 2; unsigned int skip_frame_debug; @@ -679,13 +678,12 @@ void vdin_start_dec(struct vdin_dev_s *devp) tl1_vdin1_preview_flag = 1; tl1_vdin1_data_readied = 0; tl1_vdin1_preview_ready_flag = 0; - vdin_afbc_force_drop_frame = - vdin_afbc_preview_force_drop_frame_cnt; pr_info("vdin.%d tl1_vdin1_preview state init\n", devp->index); } vfe_drop_force = NULL; max_ignore_frames[devp->index] = max_ignore_frame_cnt; + vdin_afbc_force_drop_frame = vdin_afbc_force_drop_frame_cnt; } }