[media] mxl5007t: use DVBv5 parameters on set_params()

Instead of using DVBv3 parameters, rely on DVBv5 parameters to
set the tuner.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
Mauro Carvalho Chehab 2011-12-21 07:31:23 -03:00
parent 1b750d09fe
commit e12617e6f0

View file

@ -619,44 +619,42 @@ fail:
static int mxl5007t_set_params(struct dvb_frontend *fe, static int mxl5007t_set_params(struct dvb_frontend *fe,
struct dvb_frontend_parameters *params) struct dvb_frontend_parameters *params)
{ {
struct dtv_frontend_properties *c = &fe->dtv_property_cache;
u32 delsys = c->delivery_system;
struct mxl5007t_state *state = fe->tuner_priv; struct mxl5007t_state *state = fe->tuner_priv;
enum mxl5007t_bw_mhz bw; enum mxl5007t_bw_mhz bw;
enum mxl5007t_mode mode; enum mxl5007t_mode mode;
int ret; int ret;
u32 freq = params->frequency; u32 freq = c->frequency;
u32 band = BANDWIDTH_6_MHZ;
if (fe->ops.info.type == FE_ATSC) { switch (delsys) {
switch (params->u.vsb.modulation) { case SYS_ATSC:
case VSB_8: mode = MxL_MODE_ATSC;
case VSB_16:
mode = MxL_MODE_ATSC;
break;
case QAM_64:
case QAM_256:
mode = MxL_MODE_CABLE;
break;
default:
mxl_err("modulation not set!");
return -EINVAL;
}
bw = MxL_BW_6MHz; bw = MxL_BW_6MHz;
} else if (fe->ops.info.type == FE_OFDM) { break;
switch (params->u.ofdm.bandwidth) { case SYS_DVBC_ANNEX_B:
case BANDWIDTH_6_MHZ: mode = MxL_MODE_CABLE;
bw = MxL_BW_6MHz;
break;
case SYS_DVBT:
case SYS_DVBT2:
mode = MxL_MODE_DVBT;
switch (c->bandwidth_hz) {
case 6000000:
bw = MxL_BW_6MHz; bw = MxL_BW_6MHz;
break; break;
case BANDWIDTH_7_MHZ: case 7000000:
bw = MxL_BW_7MHz; bw = MxL_BW_7MHz;
break; band = BANDWIDTH_7_MHZ;
case BANDWIDTH_8_MHZ: case 8000000:
bw = MxL_BW_8MHz; bw = MxL_BW_8MHz;
break; band = BANDWIDTH_8_MHZ;
default: default:
mxl_err("bandwidth not set!");
return -EINVAL; return -EINVAL;
} }
mode = MxL_MODE_DVBT; break;
} else { default:
mxl_err("modulation type not supported!"); mxl_err("modulation type not supported!");
return -EINVAL; return -EINVAL;
} }
@ -675,8 +673,7 @@ static int mxl5007t_set_params(struct dvb_frontend *fe,
goto fail; goto fail;
state->frequency = freq; state->frequency = freq;
state->bandwidth = (fe->ops.info.type == FE_OFDM) ? state->bandwidth = band;
params->u.ofdm.bandwidth : 0;
fail: fail:
mutex_unlock(&state->lock); mutex_unlock(&state->lock);