Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] mt352, site updated, diff
Hi,
I updated the version on http://www.frokaschwei.net/avtv771/avermedia.html. I
changed Christopher Pascoe's patch because I don't want to disable the
recovery.
Wolfram
--- mt352.c.cvs 2004-06-28 20:08:21.000000000 +0200
+++ mt352.c 2004-06-29 20:57:07.000000000 +0200
@@ -83,7 +83,7 @@
{
{
.addr = 0x50,
- .flags = I2C_M_NOSTART,
+ .flags = 0,
.buf = ®,
.len = 1
},
@@ -168,6 +168,7 @@
struct dvb_ofdm_parameters *op = ¶m->u.ofdm;
u32 freq = param->frequency / 1000;
uint16_t tmp;
+ unsigned char acqctl = 0x5B; /* suggest spectral inversion on, force mode, guard, enable recovery */
switch (op->code_rate_HP) {
case FEC_2_3:
@@ -186,6 +187,7 @@
case FEC_AUTO:
break;
default:
+ printk(KERN_WARNING "mt352.c: bad code_rate_HP\n");
return -EINVAL;
}
@@ -204,8 +206,10 @@
break;
case FEC_1_2:
case FEC_AUTO:
+ case FEC_NONE:
break;
default:
+ printk(KERN_WARNING "mt352.c: bad code_rate_LP\n");
return -EINVAL;
}
@@ -220,23 +224,26 @@
tps |= (2 << 13);
break;
default:
+ printk(KERN_WARNING "mt352.c: bad constellation\n");
return -EINVAL;
}
switch (op->transmission_mode) {
case TRANSMISSION_MODE_2K:
- case TRANSMISSION_MODE_AUTO:
break;
case TRANSMISSION_MODE_8K:
tps |= (1 << 0);
break;
+ case TRANSMISSION_MODE_AUTO:
+ acqctl &= ~(1 << 0); /* unforce mode */
+ break;
default:
+ printk(KERN_WARNING "mt352.c: bad transmission_mode\n");
return -EINVAL;
}
switch (op->guard_interval) {
case GUARD_INTERVAL_1_32:
- case GUARD_INTERVAL_AUTO:
break;
case GUARD_INTERVAL_1_16:
tps |= (1 << 2);
@@ -247,7 +254,11 @@
case GUARD_INTERVAL_1_4:
tps |= (3 << 2);
break;
+ case GUARD_INTERVAL_AUTO:
+ acqctl &= ~(1 << 1); /* unforce guard */
+ break;
default:
+ printk(KERN_WARNING "mt352.c: bad guard_interval\n");
return -EINVAL;
}
@@ -265,6 +276,7 @@
tps |= (3 << 10);
break;
default:
+ printk(KERN_WARNING "mt352.c: bad hierarchy_information\n");
return -EINVAL;
}
@@ -274,7 +286,7 @@
buf[1] = msb(tps); /* TPS_GIVEN_(1|0) */
buf[2] = lsb(tps);
- buf[3] = 0x50;
+ buf[3] = acqctl;
/**
* these settings assume 20.48MHz f_ADC, for other tuners you might
@@ -386,7 +398,7 @@
u8 b0 [] = { reg };
u8 b1 [] = { 0 };
struct i2c_msg msg [] = { { .addr = I2C_MT352_ADDR,
- .flags = I2C_M_NOSTART,
+ .flags = 0,
.buf = b0, .len = 1 },
{ .addr = I2C_MT352_ADDR,
.flags = I2C_M_RD,
@@ -578,7 +590,6 @@
case FE_GET_FRONTEND:
return mt352_get_parameters (i2c,
(struct dvb_frontend_parameters *) arg,card_type);
-
case FE_GET_TUNE_SETTINGS:
fe_tune_settings = (struct dvb_frontend_tune_settings *) arg;
fe_tune_settings->min_delay_ms = 800;
Home |
Main Index |
Thread Index