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

Commit 9f179161 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

[media] max2165: use DVBv5 parameters on 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 35fea064
Loading
Loading
Loading
Loading
+13 −23
Original line number Diff line number Diff line
@@ -151,7 +151,7 @@ static int max2165_set_bandwidth(struct max2165_priv *priv, u32 bw)
{
	u8 val;

	if (bw == BANDWIDTH_8_MHZ)
	if (bw == 8000000)
		val = priv->bb_filter_8mhz_cfg;
	else
		val = priv->bb_filter_7mhz_cfg;
@@ -261,35 +261,25 @@ static int max2165_set_params(struct dvb_frontend *fe,
	struct dvb_frontend_parameters *params)
{
	struct max2165_priv *priv = fe->tuner_priv;
	struct dtv_frontend_properties *c = &fe->dtv_property_cache;
	int ret;

	dprintk("%s() frequency=%d (Hz)\n", __func__, params->frequency);
	if (fe->ops.info.type == FE_ATSC) {
			return -EINVAL;
	} else if (fe->ops.info.type == FE_OFDM) {
		dprintk("%s() OFDM\n", __func__);
		switch (params->u.ofdm.bandwidth) {
		case BANDWIDTH_6_MHZ:
			return -EINVAL;
		case BANDWIDTH_7_MHZ:
		case BANDWIDTH_8_MHZ:
			priv->frequency = params->frequency;
			priv->bandwidth = params->u.ofdm.bandwidth;
	switch (c->bandwidth_hz) {
	case 7000000:
	case 8000000:
		priv->frequency = c->frequency;
		break;
	default:
			printk(KERN_ERR "MAX2165 bandwidth not set!\n");
			return -EINVAL;
		}
	} else {
		printk(KERN_ERR "MAX2165 modulation type not supported!\n");
		printk(KERN_INFO "MAX2165: bandwidth %d Hz not supported.\n",
		       c->bandwidth_hz);
		return -EINVAL;
	}

	dprintk("%s() frequency=%d\n", __func__, priv->frequency);
	dprintk("%s() frequency=%d\n", __func__, c->frequency);

	if (fe->ops.i2c_gate_ctrl)
		fe->ops.i2c_gate_ctrl(fe, 1);
	max2165_set_bandwidth(priv, priv->bandwidth);
	max2165_set_bandwidth(priv, c->bandwidth_hz);
	ret = max2165_set_rf(priv, priv->frequency);
	mdelay(50);
	max2165_debug_status(priv);
@@ -370,7 +360,7 @@ static int max2165_init(struct dvb_frontend *fe)

	max2165_read_rom_table(priv);

	max2165_set_bandwidth(priv, BANDWIDTH_8_MHZ);
	max2165_set_bandwidth(priv, 8000000);

	if (fe->ops.i2c_gate_ctrl)
			fe->ops.i2c_gate_ctrl(fe, 0);