tvafe: reinit tvafe when atv demod rescan [1/1]
authorEvoke Zhang <evoke.zhang@amlogic.com>
Wed, 25 Sep 2019 09:58:57 +0000 (17:58 +0800)
committerTao Zeng <tao.zeng@amlogic.com>
Wed, 9 Oct 2019 05:54:32 +0000 (22:54 -0700)
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 <evoke.zhang@amlogic.com>
drivers/amlogic/media/vin/tvin/tvafe/tvafe.c
drivers/amlogic/media/vin/tvin/tvafe/tvafe_cvd.c
drivers/amlogic/media/vin/tvin/tvafe/tvafe_cvd.h

index a43c8fd..d821e25 100644 (file)
@@ -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;
 }
index b798338..d206500 100644 (file)
@@ -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 {
index d034d27..ce89bd5 100644 (file)
@@ -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;