Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 82c0126f authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

[media] mt2266: use DVBv5 parameters for set_params()



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

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 9f179161
Loading
Loading
Loading
Loading
+14 −11
Original line number Diff line number Diff line
@@ -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;
	}