From 8f6a1757aa9d23519bc8a3df2025a97c2ebd7b69 Mon Sep 17 00:00:00 2001 From: Evoke Zhang Date: Wed, 25 Sep 2019 17:58:57 +0800 Subject: [PATCH] tvafe: reinit tvafe when atv demod rescan [1/1] PD#SWPL-14610 Problem: 121.25MHz PAL-M Recognized to NTSC-M Solution: add reinit tvafe function for atv demod rescan Verify: x301 Change-Id: I8d303374f3e1e6e3c84e81d4332735b6687df01b Signed-off-by: Evoke Zhang --- drivers/amlogic/media/vin/tvin/tvafe/tvafe.c | 1 + drivers/amlogic/media/vin/tvin/tvafe/tvafe_cvd.c | 4 +++- drivers/amlogic/media/vin/tvin/tvafe/tvafe_cvd.h | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/amlogic/media/vin/tvin/tvafe/tvafe.c b/drivers/amlogic/media/vin/tvin/tvafe/tvafe.c index a43c8fd..d821e25 100644 --- a/drivers/amlogic/media/vin/tvin/tvafe/tvafe.c +++ b/drivers/amlogic/media/vin/tvin/tvafe/tvafe.c @@ -263,6 +263,7 @@ static int tvafe_work_mode(bool mode) { tvafe_pr_info("%s: %d\n", __func__, mode); tvafe_mode = mode; + reinit_scan = true; return 0; } diff --git a/drivers/amlogic/media/vin/tvin/tvafe/tvafe_cvd.c b/drivers/amlogic/media/vin/tvin/tvafe/tvafe_cvd.c index b798338..d206500 100644 --- a/drivers/amlogic/media/vin/tvin/tvafe/tvafe_cvd.c +++ b/drivers/amlogic/media/vin/tvin/tvafe/tvafe_cvd.c @@ -111,6 +111,7 @@ static int force_fmt_flag; static bool scene_colorful_old; static int lock_cnt; static bool ntsc50_en; +bool reinit_scan; static int cdto_adj_th = TVAFE_CVD2_CDTO_ADJ_TH; module_param(cdto_adj_th, int, 0664); @@ -2059,7 +2060,8 @@ inline bool tvafe_cvd2_no_sig(struct tvafe_cvd2_s *cvd2, tvafe_cvd2_search_video_mode(cvd2, mem); /* init if no signal input */ - if (cvd2->hw.no_sig) { + if (cvd2->hw.no_sig || reinit_scan) { + reinit_scan = false; ret = true; tvafe_cvd2_reinit(cvd2); } else { diff --git a/drivers/amlogic/media/vin/tvin/tvafe/tvafe_cvd.h b/drivers/amlogic/media/vin/tvin/tvafe/tvafe_cvd.h index d034d27..ce89bd5 100644 --- a/drivers/amlogic/media/vin/tvin/tvafe/tvafe_cvd.h +++ b/drivers/amlogic/media/vin/tvin/tvafe/tvafe_cvd.h @@ -224,6 +224,7 @@ extern void tvafe_cvd2_rf_ntsc50_en(bool v); extern void tvafe_cvd2_non_std_config(struct tvafe_cvd2_s *cvd2); extern bool tvafe_snow_function_flag; +extern bool reinit_scan; extern unsigned int try_fmt_max_atv; extern unsigned int try_fmt_max_av; -- 2.7.4