diff --git a/drivers/media/dtv_demod/atsc/atsc_frontend.c b/drivers/media/dtv_demod/atsc/atsc_frontend.c index 312e23d5b..78e0c4275 100644 --- a/drivers/media/dtv_demod/atsc/atsc_frontend.c +++ b/drivers/media/dtv_demod/atsc/atsc_frontend.c @@ -247,9 +247,12 @@ int gxtv_demod_atsc_set_frontend(struct dvb_frontend *fe) demod->atsc_mode = c->modulation; demod->last_qam_mode = QAM_MODE_NUM; + tuner_set_params(fe); + if (c->modulation > QAM_AUTO) { if (fe->ops.tuner_ops.get_if_frequency) fe->ops.tuner_ops.get_if_frequency(fe, tuner_freq); + if (cpu_after_eq(MESON_CPU_MAJOR_ID_TL1)) { /* bit0~3: AGC bandwidth select */ atsc_write_reg_v4(ATSC_DEMOD_REG_0X58, 0x528220d); @@ -270,13 +273,7 @@ int gxtv_demod_atsc_set_frontend(struct dvb_frontend *fe) atsc_write_reg_bits_v4(ATSC_AGC_REG_0X40, atsc_agc_target ? atsc_agc_target : agc_target, 0, 8); } - } - } - tuner_set_params(fe); - - if (c->modulation > QAM_AUTO) { - if (cpu_after_eq(MESON_CPU_MAJOR_ID_TL1)) { val_0x6a.bits = atsc_read_reg_v4(ATSC_DEMOD_REG_0X6A); val_0x6a.b.peak_thd = 0x6;//Let CCFO Quality over 6 atsc_write_reg_v4(ATSC_DEMOD_REG_0X6A, val_0x6a.bits); diff --git a/drivers/media/dtv_demod/include/amlfrontend.h b/drivers/media/dtv_demod/include/amlfrontend.h index d08e3994e..e1319fb6d 100644 --- a/drivers/media/dtv_demod/include/amlfrontend.h +++ b/drivers/media/dtv_demod/include/amlfrontend.h @@ -171,6 +171,7 @@ /* V3.5.044 fix atsc VBS to NTSC N+1 aci and R.1 test */ /* V3.5.045 fix low probability missing 8vsb channel */ /* V3.5.046 optimize dvb-c auto qam for T3 T5D */ +/* V3.5.047 fix lock fail when switch to atsc */ /****************************************************/ /****************************************************************/ /* AMLDTVDEMOD_VER Description: */ @@ -187,8 +188,8 @@ /*->The last four digits indicate the release time */ /****************************************************************/ #define KERNEL_4_9_EN 1 -#define AMLDTVDEMOD_VER "V3.5.046" -#define DTVDEMOD_VER "2024/07/10: optimize dvb-c auto qam for T3 T5D" +#define AMLDTVDEMOD_VER "V3.5.047" +#define DTVDEMOD_VER "2024/07/12: fix lock fail when switch to atsc" #define AMLDTVDEMOD_T2_FW_VER "v1430.20240326" #define DEMOD_DEVICE_NAME "dtvdemod"