From 3c88d9d437bf6066b09ae98dd565a1df63cb7e36 Mon Sep 17 00:00:00 2001 From: Zhiwei Yuan Date: Mon, 14 Jan 2019 18:38:15 +0800 Subject: [PATCH] dtv_demod: txlx atsc-t loses lock when play video for a long time [1/1] PD#SWPL-3418 Problem: [Einstein]when AC off/on,enter live TV , TV display blank screen and no signal about 5S Solution: use post-eq to track(0x912=0x50) Verify: verified by t962x_r311 Change-Id: I924c55a8f1c92328e4371cb730e1b03bd720457f Signed-off-by: Zhiwei Yuan --- drivers/amlogic/media/dtv_demod/amlfrontend.c | 6 ++++++ drivers/amlogic/media/dtv_demod/atsc_func.c | 1 + 2 files changed, 7 insertions(+) diff --git a/drivers/amlogic/media/dtv_demod/amlfrontend.c b/drivers/amlogic/media/dtv_demod/amlfrontend.c index 86fbf09285b6..780c4fdedef8 100644 --- a/drivers/amlogic/media/dtv_demod/amlfrontend.c +++ b/drivers/amlogic/media/dtv_demod/amlfrontend.c @@ -1952,6 +1952,9 @@ void atsc_polling(struct dvb_frontend *fe, enum fe_status *status) { struct dtv_frontend_properties *c = &fe->dtv_property_cache; + if (!demod_thread) + return; + if (c->modulation == QPSK) { PR_DBG("mode is qpsk, return;\n"); /*return;*/ @@ -2515,6 +2518,9 @@ static int gxtv_demod_dvbc_tune(struct dvb_frontend *fe, bool re_tune, *delay = HZ / 4; + if (!demod_thread) + return 0; + if (re_tune) { /*first*/ dtvdd_devp->en_detect = 1; diff --git a/drivers/amlogic/media/dtv_demod/atsc_func.c b/drivers/amlogic/media/dtv_demod/atsc_func.c index d95b1ef53ad2..1c1159624189 100644 --- a/drivers/amlogic/media/dtv_demod/atsc_func.c +++ b/drivers/amlogic/media/dtv_demod/atsc_func.c @@ -565,6 +565,7 @@ if (!field_test_version) { atsc_write_reg(0x54d, 0x08); atsc_write_reg(0x54c, 0x08); atsc_write_reg(0x53b, 0x0e); + atsc_write_reg(0x912, 0x50); } ar_flag = 0; }