mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 11:50:43 +09:00
dtv_demod: TXLX ISDB-T can't search channel [1/1]
PD#SWPL-3987 Problem: [Einstein]use ISDB-T cannot search any channel Solution: release cma memory at leave_mode for ISDB-t&DVB-T Verify: verified by t962x_r311 Change-Id: I9b79687a4d5270932ab30afaa3e7d2817e900149 Signed-off-by: Zhiwei Yuan <zhiwei.yuan@amlogic.com>
This commit is contained in:
@@ -2752,6 +2752,7 @@ static bool enter_mode(enum aml_fe_n_mode_t mode)
|
||||
timer_set_max(D_TIMER_DETECT, 2000);
|
||||
/*reset is 4s*/
|
||||
timer_set_max(D_TIMER_SET, 4000);
|
||||
|
||||
if (devn->cma_flag == 1) {
|
||||
PR_DBG("CMA MODE, cma flag is %d,mem size is %d",
|
||||
devn->cma_flag,
|
||||
@@ -2761,11 +2762,11 @@ static bool enter_mode(enum aml_fe_n_mode_t mode)
|
||||
} else {
|
||||
ret = false;
|
||||
return ret;
|
||||
|
||||
}
|
||||
} else {
|
||||
memstart_dtmb = devn->mem_start;/*??*/
|
||||
}
|
||||
|
||||
PR_DBG("[im]memstart is %x\n", memstart_dtmb);
|
||||
dvbt_write_reg((0x10 << 2), memstart_dtmb);
|
||||
}
|
||||
@@ -2792,16 +2793,7 @@ static int leave_mode(enum aml_fe_n_mode_t mode)
|
||||
/*dvbc_timer_exit();*/
|
||||
if (cci_thread)
|
||||
dvbc_kill_cci_task();
|
||||
#if 0
|
||||
if (mode == AM_FE_DTMB_N) {
|
||||
dtmb_poll_stop(); /*polling mode*/
|
||||
/* close arbit */
|
||||
|
||||
demod_write_reg(DEMOD_TOP_REGC, 0x0);
|
||||
if (devn->cma_flag == 1)
|
||||
dtmb_cma_release(devn);
|
||||
}
|
||||
#else
|
||||
if (mode == AM_FE_DTMB_N) {
|
||||
if (dtvdd_devp->act_dtmb) {
|
||||
dtmb_poll_stop(); /*polling mode*/
|
||||
@@ -2810,12 +2802,16 @@ static int leave_mode(enum aml_fe_n_mode_t mode)
|
||||
dtvdd_devp->act_dtmb = false;
|
||||
}
|
||||
|
||||
if ((devn->cma_flag == 1) && dtvdd_devp->flg_cma_allc) {
|
||||
dtmb_cma_release(devn);
|
||||
dtvdd_devp->flg_cma_allc = false;
|
||||
}
|
||||
} else if (mode == AM_FE_OFDM_N || mode == AM_FE_ISDBT_N) {
|
||||
if ((devn->cma_flag == 1) && dtvdd_devp->flg_cma_allc) {
|
||||
dtmb_cma_release(devn);
|
||||
dtvdd_devp->flg_cma_allc = false;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
adc_set_pll_cntl(0, 0x04, NULL);
|
||||
demod_mode_para = UNKNOWN;
|
||||
|
||||
Reference in New Issue
Block a user