mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-14 22:44:27 +08:00
[media] mt2266: use DVBv5 parameters for 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:
parent
9f1791618a
commit
82c0126ff2
@ -124,6 +124,7 @@ static u8 mt2266_vhf[] = { 0x1d, 0xfe, 0x00, 0x00, 0xb4, 0x03, 0xa5, 0xa5,
|
||||
|
||||
static int mt2266_set_params(struct dvb_frontend *fe, struct dvb_frontend_parameters *params)
|
||||
{
|
||||
struct dtv_frontend_properties *c = &fe->dtv_property_cache;
|
||||
struct mt2266_priv *priv;
|
||||
int ret=0;
|
||||
u32 freq;
|
||||
@ -135,30 +136,32 @@ static int mt2266_set_params(struct dvb_frontend *fe, struct dvb_frontend_parame
|
||||
|
||||
priv = fe->tuner_priv;
|
||||
|
||||
freq = params->frequency / 1000; // Hz -> kHz
|
||||
freq = priv->frequency / 1000; /* Hz -> kHz */
|
||||
if (freq < 470000 && freq > 230000)
|
||||
return -EINVAL; /* Gap between VHF and UHF bands */
|
||||
priv->bandwidth = (fe->ops.info.type == FE_OFDM) ? params->u.ofdm.bandwidth : 0;
|
||||
priv->frequency = freq * 1000;
|
||||
|
||||
priv->frequency = c->frequency;
|
||||
tune = 2 * freq * (8192/16) / (FREF/16);
|
||||
band = (freq < 300000) ? MT2266_VHF : MT2266_UHF;
|
||||
if (band == MT2266_VHF)
|
||||
tune *= 2;
|
||||
|
||||
switch (params->u.ofdm.bandwidth) {
|
||||
case BANDWIDTH_6_MHZ:
|
||||
switch (c->bandwidth_hz) {
|
||||
case 6000000:
|
||||
mt2266_writeregs(priv, mt2266_init_6mhz,
|
||||
sizeof(mt2266_init_6mhz));
|
||||
priv->bandwidth = BANDWIDTH_6_MHZ;
|
||||
break;
|
||||
case BANDWIDTH_7_MHZ:
|
||||
mt2266_writeregs(priv, mt2266_init_7mhz,
|
||||
sizeof(mt2266_init_7mhz));
|
||||
break;
|
||||
case BANDWIDTH_8_MHZ:
|
||||
default:
|
||||
case 8000000:
|
||||
mt2266_writeregs(priv, mt2266_init_8mhz,
|
||||
sizeof(mt2266_init_8mhz));
|
||||
priv->bandwidth = BANDWIDTH_8_MHZ;
|
||||
break;
|
||||
case 7000000:
|
||||
default:
|
||||
mt2266_writeregs(priv, mt2266_init_7mhz,
|
||||
sizeof(mt2266_init_7mhz));
|
||||
priv->bandwidth = BANDWIDTH_7_MHZ;
|
||||
break;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user