dtv_demod: playing dtmb is not smooth when signal is non-standard [1/1]
authorzhiwei.yuan <zhiwei.yuan@amlogic.com>
Mon, 25 Mar 2019 09:28:35 +0000 (17:28 +0800)
committerNick Xie <nick@khadas.com>
Mon, 5 Aug 2019 06:46:06 +0000 (14:46 +0800)
PD#SWPL-6286

Problem:
tps of non-standard signal is incorrect

Solution:
ignore calculating amplitude tps

Verify:
verified by t962x2_x301

Change-Id: Ibd3ff7bfe56ca604ad99fa7c6f457202c227c9ae
Signed-off-by: zhiwei.yuan <zhiwei.yuan@amlogic.com>
drivers/amlogic/media/dtv_demod/dtmb_func.c
drivers/amlogic/media/dtv_demod/include/addr_dtmb_che.h

index 7846909..90e7714 100644 (file)
@@ -198,6 +198,12 @@ void dtmb_all_reset(void)
                    dtmb_write_reg(DTMB_CHE_FD_TD_COEFF, temp_data);
                }
        }
+
+       /*for non-standard signal,
+        *ignore calculatiing amplitude tps(transport parameter signalling)
+        */
+       dtmb_write_reg(DTMB_CHE_IBDFE_CONF0,
+               dtmb_read_reg(DTMB_CHE_IBDFE_CONF0) & 0xfffff0ff);
 }
 
 void dtmb_initial(struct aml_demod_sta *demod_sta)
index 34c28cb..7252c1a 100644 (file)
@@ -22,6 +22,7 @@
 
 #define  DTMB_CHE_ADDR(x) (DTMB_DEMOD_BASE + (x << 2))
 
+#define  DTMB_CHE_IBDFE_CONF0               DTMB_CHE_ADDR(0x8b)
 #define  DTMB_CHE_TE_HREB_SNR               DTMB_CHE_ADDR(0x8d)
 #define  DTMB_CHE_MC_SC_TIMING_POWTHR       DTMB_CHE_ADDR(0x8e)
 #define  DTMB_CHE_MC_SC_PROTECT_GD          DTMB_CHE_ADDR(0x8f)