summaryrefslogtreecommitdiff
authorEvoke Zhang <evoke.zhang@amlogic.com>2019-09-25 09:58:57 (GMT)
committer zihuan.ling <zihuan.ling@amlogic.com>2019-10-12 01:48:16 (GMT)
commit5e56e1a643f536caf53e9dd4019c74f4f2a01369 (patch)
tree71d2f4dcbcba45feddf4d1bac126110a33d84401
parent4371fd7fa38bd7c2f7fa4ab3610fe794351147ce (diff)
downloadcommon-5e56e1a643f536caf53e9dd4019c74f4f2a01369.zip
common-5e56e1a643f536caf53e9dd4019c74f4f2a01369.tar.gz
common-5e56e1a643f536caf53e9dd4019c74f4f2a01369.tar.bz2
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 <evoke.zhang@amlogic.com>
Diffstat
-rw-r--r--drivers/amlogic/media/vin/tvin/tvafe/tvafe.c1
-rw-r--r--drivers/amlogic/media/vin/tvin/tvafe/tvafe_cvd.c4
-rw-r--r--drivers/amlogic/media/vin/tvin/tvafe/tvafe_cvd.h1
3 files changed, 5 insertions, 1 deletions
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;