Skip to content
This repository has been archived by the owner on Aug 29, 2024. It is now read-only.

Commit

Permalink
Merge "RTC6226: keep tuned to valid lower band channel for dwell time"
Browse files Browse the repository at this point in the history
  • Loading branch information
qctecmdr authored and Gerrit - the friendly Code Review server committed Jul 8, 2020
2 parents b8f6e93 + ecdd344 commit 0778c6d
Showing 1 changed file with 34 additions and 27 deletions.
61 changes: 34 additions & 27 deletions drivers/media/radio/rtc6226/radio-rtc6226-common.c
Original file line number Diff line number Diff line change
Expand Up @@ -384,33 +384,6 @@ void rtc6226_scan(struct work_struct *work)
FMDBG("%s valid channel %d, rssi %d\n", __func__,
next_freq_khz, radio->registers[RSSI] & RSSI_RSSI);

if (radio->registers[STATUS] & STATUS_SF) {
FMDERR("%s Seek one more time if lower freq is valid\n",
__func__);
retval = rtc6226_set_seek(radio, SRCH_UP, WRAP_ENABLE);
if (retval < 0) {
FMDERR("%s seek fail %d\n", __func__, retval);
goto seek_tune_fail;
}
if (!wait_for_completion_timeout(&radio->completion,
msecs_to_jiffies(WAIT_TIMEOUT_MSEC))) {
FMDERR("timeout didn't receive STC for seek\n");
} else {
FMDERR("%s: received STC for seek\n", __func__);
retval = rtc6226_get_freq(radio,
&next_freq_khz);
if (retval < 0) {
FMDERR("%s getFreq failed\n", __func__);
goto seek_tune_fail;
}
if ((radio->recv_conf.band_low_limit *
TUNE_STEP_SIZE) ==
next_freq_khz)
rtc6226_q_event(radio,
RTC6226_EVT_TUNE_SUCC);
}
break;
}
if (radio->g_search_mode == SCAN)
rtc6226_q_event(radio, RTC6226_EVT_TUNE_SUCC);
/*
Expand Down Expand Up @@ -440,6 +413,40 @@ void rtc6226_scan(struct work_struct *work)
rtc6226_update_search_list(radio, next_freq_khz);
}

if (radio->registers[STATUS] & STATUS_SF) {
FMDERR("%s Seek one more time if lower freq is valid\n",
__func__);
retval = rtc6226_set_seek(radio, SRCH_UP, WRAP_ENABLE);
if (retval < 0) {
FMDERR("%s seek fail %d\n", __func__, retval);
goto seek_tune_fail;
}
if (!wait_for_completion_timeout(&radio->completion,
msecs_to_jiffies(WAIT_TIMEOUT_MSEC))) {
FMDERR("timeout didn't receive STC for seek\n");
} else {
FMDERR("%s: received STC for seek\n", __func__);
retval = rtc6226_get_freq(radio,
&next_freq_khz);
if (retval < 0) {
FMDERR("%s getFreq failed\n", __func__);
goto seek_tune_fail;
}
if ((radio->recv_conf.band_low_limit *
TUNE_STEP_SIZE) ==
next_freq_khz) {
FMDERR("lower band freq is valid\n");
rtc6226_q_event(radio,
RTC6226_EVT_TUNE_SUCC);
/* sleep for dwell period */
msleep(radio->dwell_time_sec * 1000);
rtc6226_q_event(radio,
RTC6226_EVT_SCAN_NEXT);
}
}
break;
}

}

seek_tune_fail:
Expand Down

0 comments on commit 0778c6d

Please sign in to comment.