author | Evoke 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) |
commit | 5e56e1a643f536caf53e9dd4019c74f4f2a01369 (patch) | |
tree | 71d2f4dcbcba45feddf4d1bac126110a33d84401 | |
parent | 4371fd7fa38bd7c2f7fa4ab3610fe794351147ce (diff) | |
download | common-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>
-rw-r--r-- | drivers/amlogic/media/vin/tvin/tvafe/tvafe.c | 1 | ||||
-rw-r--r-- | drivers/amlogic/media/vin/tvin/tvafe/tvafe_cvd.c | 4 | ||||
-rw-r--r-- | drivers/amlogic/media/vin/tvin/tvafe/tvafe_cvd.h | 1 |
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; |