Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 285237
b: refs/heads/master
c: 6d42b21
h: refs/heads/master
i:
  285235: 4303bcd
v: v3
  • Loading branch information
Antti Palosaari authored and Mauro Carvalho Chehab committed Nov 24, 2011
1 parent d3410bc commit 419ba28
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 33 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 522fdf731946301ab7a5ecf854cbe89462397b81
refs/heads/master: 6d42b218b43f300d0787df7984c8f789de24c6e7
41 changes: 9 additions & 32 deletions trunk/drivers/media/dvb/frontends/af9013.c
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,8 @@ static int af9013_set_adc_ctrl(struct af9013_state *state)
return ret;
}

static int af9013_set_freq_ctrl(struct af9013_state *state, fe_bandwidth_t bw)
static int af9013_set_freq_ctrl(struct af9013_state *state,
struct dvb_frontend *fe)
{
int ret;
u16 addr;
Expand All @@ -324,37 +325,13 @@ static int af9013_set_freq_ctrl(struct af9013_state *state, fe_bandwidth_t bw)
bfs_spec_inv = state->config.rf_spec_inv ? 1 : -1;
}

adc_freq = state->config.adc_clock * 1000;
if_sample_freq = state->config.tuner_if * 1000;
adc_freq = state->config.adc_clock * 1000;

/* TDA18271 uses different sampling freq for every bw */
if (state->config.tuner == AF9013_TUNER_TDA18271) {
switch (bw) {
case BANDWIDTH_6_MHZ:
if_sample_freq = 3300000; /* 3.3 MHz */
break;
case BANDWIDTH_7_MHZ:
if_sample_freq = 3500000; /* 3.5 MHz */
break;
case BANDWIDTH_8_MHZ:
default:
if_sample_freq = 4000000; /* 4.0 MHz */
break;
}
} else if (state->config.tuner == AF9013_TUNER_TDA18218) {
switch (bw) {
case BANDWIDTH_6_MHZ:
if_sample_freq = 3000000; /* 3 MHz */
break;
case BANDWIDTH_7_MHZ:
if_sample_freq = 3500000; /* 3.5 MHz */
break;
case BANDWIDTH_8_MHZ:
default:
if_sample_freq = 4000000; /* 4 MHz */
break;
}
}
/* get used IF frequency */
if (fe->ops.tuner_ops.get_if_frequency)
fe->ops.tuner_ops.get_if_frequency(fe, &if_sample_freq);
else
if_sample_freq = state->config.tuner_if * 1000;

while (if_sample_freq > (adc_freq / 2))
if_sample_freq = if_sample_freq - adc_freq;
Expand Down Expand Up @@ -639,7 +616,7 @@ static int af9013_set_frontend(struct dvb_frontend *fe,
goto error;

/* program frequency control */
ret = af9013_set_freq_ctrl(state, params->u.ofdm.bandwidth);
ret = af9013_set_freq_ctrl(state, fe);
if (ret)
goto error;

Expand Down

0 comments on commit 419ba28

Please sign in to comment.