V4L/DVB (12942): SAA7164: HVR2250 changes related to attach time tuner configuration

Ensure that by default all tuners are set correctly to master/slave mode.
For all HVR2250's, ensure slave based tuners are caliberated during attach
to avoid locking problems on tuner# above channel 91.

HVR2200 tuner attach time to be reviewed in a future patch.

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
Steven Toth 2009-08-27 18:08:21 -03:00 committed by Mauro Carvalho Chehab
parent c64b2f78b7
commit 90e801acb2

View File

@ -61,6 +61,14 @@ static struct tda18271_std_map hauppauge_tda18271_std_map = {
static struct tda18271_config hauppauge_hvr22x0_tuner_config = { static struct tda18271_config hauppauge_hvr22x0_tuner_config = {
.std_map = &hauppauge_tda18271_std_map, .std_map = &hauppauge_tda18271_std_map,
.gate = TDA18271_GATE_ANALOG, .gate = TDA18271_GATE_ANALOG,
.role = TDA18271_MASTER,
};
static struct tda18271_config hauppauge_hvr22x0s_tuner_config = {
.std_map = &hauppauge_tda18271_std_map,
.gate = TDA18271_GATE_ANALOG,
.role = TDA18271_SLAVE,
.rf_cal_on_startup = 1
}; };
static struct s5h1411_config hauppauge_s5h1411_config = { static struct s5h1411_config hauppauge_s5h1411_config = {
@ -554,10 +562,18 @@ int saa7164_dvb_register(struct saa7164_tsport *port)
&i2c_bus->i2c_adap); &i2c_bus->i2c_adap);
if (port->dvb.frontend != NULL) { if (port->dvb.frontend != NULL) {
/* TODO: addr is in the card struct */ if (port->nr == 0) {
dvb_attach(tda18271_attach, port->dvb.frontend, /* Master TDA18271 */
0xc0 >> 1, &i2c_bus->i2c_adap, /* TODO: addr is in the card struct */
&hauppauge_hvr22x0_tuner_config); dvb_attach(tda18271_attach, port->dvb.frontend,
0xc0 >> 1, &i2c_bus->i2c_adap,
&hauppauge_hvr22x0_tuner_config);
} else {
/* Slave TDA18271 */
dvb_attach(tda18271_attach, port->dvb.frontend,
0xc0 >> 1, &i2c_bus->i2c_adap,
&hauppauge_hvr22x0s_tuner_config);
}
} }
break; break;