Commit d98c0285 authored by Manu Abraham's avatar Manu Abraham Committed by Mauro Carvalho Chehab

V4L/DVB (9407): Optimizations Reduce capture range from 10MHz to 3Mhz

* Reduces szapping time a lot
* increased stability at Low Symbol rates
* overall increases reliability in tuning
Signed-off-by: default avatarManu Abraham <manu@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 421b2970
...@@ -1481,8 +1481,8 @@ static enum dvbfe_search stb0899_search(struct dvb_frontend *fe, struct dvbfe_pa ...@@ -1481,8 +1481,8 @@ static enum dvbfe_search stb0899_search(struct dvb_frontend *fe, struct dvbfe_pa
} }
dprintk(verbose, FE_DEBUG, 1, "delivery system=%d", state->delsys); dprintk(verbose, FE_DEBUG, 1, "delivery system=%d", state->delsys);
// SearchRange = 3000000; /* Search Bandwidth (3 Mhz, was initially 10 Mhz) */ SearchRange = 3000000; /* Search Bandwidth (3 Mhz, was initially 10 Mhz) */
SearchRange = 10000000; /* Search Bandwidth (3 Mhz, was initially 10 Mhz) */ // SearchRange = 10000000; /* Search Bandwidth (3 Mhz, was initially 10 Mhz) */
dprintk(verbose, FE_DEBUG, 1, "Frequency=%d, Srate=%d", i_params->freq, i_params->srate); dprintk(verbose, FE_DEBUG, 1, "Frequency=%d, Srate=%d", i_params->freq, i_params->srate);
/* checking Search Range is meaningless for a fixed 3 Mhz */ /* checking Search Range is meaningless for a fixed 3 Mhz */
if (INRANGE(i_params->srate, 1000000, 45000000)) { if (INRANGE(i_params->srate, 1000000, 45000000)) {
...@@ -1521,7 +1521,7 @@ static enum dvbfe_search stb0899_search(struct dvb_frontend *fe, struct dvbfe_pa ...@@ -1521,7 +1521,7 @@ static enum dvbfe_search stb0899_search(struct dvb_frontend *fe, struct dvbfe_pa
/* What to do for tuners having no bandwidth setup ? */ /* What to do for tuners having no bandwidth setup ? */
if (state->config->tuner_set_bandwidth) if (state->config->tuner_set_bandwidth)
state->config->tuner_set_bandwidth(fe, (13 * (stb0899_carr_width(state) + 10000000)) / 10); state->config->tuner_set_bandwidth(fe, (135 * (stb0899_carr_width(state) + SearchRange)) / 100);
if (state->config->tuner_get_bandwidth) if (state->config->tuner_get_bandwidth)
state->config->tuner_get_bandwidth(fe, &internal->tuner_bw); state->config->tuner_get_bandwidth(fe, &internal->tuner_bw);
/* Set DVB-S1 AGC */ /* Set DVB-S1 AGC */
...@@ -1553,7 +1553,7 @@ static enum dvbfe_search stb0899_search(struct dvb_frontend *fe, struct dvbfe_pa ...@@ -1553,7 +1553,7 @@ static enum dvbfe_search stb0899_search(struct dvb_frontend *fe, struct dvbfe_pa
internal->srch_range = SearchRange; internal->srch_range = SearchRange;
if (state->config->tuner_set_bandwidth) if (state->config->tuner_set_bandwidth)
state->config->tuner_set_bandwidth(fe, (stb0899_carr_width(state) + 10000000)); state->config->tuner_set_bandwidth(fe, (135 * (stb0899_carr_width(state) + SearchRange)) / 100);
if (state->config->tuner_get_bandwidth) if (state->config->tuner_get_bandwidth)
state->config->tuner_get_bandwidth(fe, &internal->tuner_bw); state->config->tuner_get_bandwidth(fe, &internal->tuner_bw);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment