A couple of fixes to tuner-xc2028's DVB-T support. Firstly, the priv->bandwidth == 8 check is bogus; this isn't how priv->bandwidth should be interpreted, and I think we want the F8MHZ base firmware for all DTV anyway (though I may be wrong). Secondly, we shouldn't use the audio hack or request an MTS firmware for DVB-T, since this is a nonsensical combination that will result in no firmware being found. (There is, however, an F8MHZ MTS BASE firmware; I have no idea what it's for.) Tested with a HVR-900 using 8Mhz DVB-T. Needs testing with the tm6000 and with 7 and 6Mhz bandwidth settings. Signed-off-by: Aidan Thornton <makosoft@xxxxxxxxxxxxxx> diff -r f0bec78a396c -r ae27b2cebf3f linux/drivers/media/video/tuner-xc2028.c --- a/linux/drivers/media/video/tuner-xc2028.c Fri Nov 16 20:12:16 2007 +0000 +++ b/linux/drivers/media/video/tuner-xc2028.c Sat Nov 17 12:44:14 2007 +0000 @@ -614,11 +614,10 @@ static int check_firmware(struct dvb_fro type0 = BASE; - if (priv->ctrl.type == XC2028_FIRM_MTS) + if (priv->mode == T_DIGITAL_TV) + type0 |= F8MHZ; + else if (priv->ctrl.type == XC2028_FIRM_MTS) type0 |= MTS; - - if (priv->bandwidth == 8) - type0 |= F8MHZ; /* FIXME: How to load FM and FM|INPUT1 firmwares? */ @@ -640,6 +639,8 @@ static int check_firmware(struct dvb_fro if (change_digital_bandwidth) { /*FIXME: Should allow selecting between D2620 and D2633 */ + /* For example, it looks like we want D2633 for DVB-T, at + least on the HVR-900 - the signal strength is better */ type |= D2620; /* FIXME: When should select a DTV78 firmware? @@ -677,7 +678,7 @@ static int check_firmware(struct dvb_fro /* FIXME: Should add support for FM radio */ - if (priv->ctrl.type == XC2028_FIRM_MTS) + if (priv->mode == T_ANALOG_TV && priv->ctrl.type == XC2028_FIRM_MTS) type |= MTS; if (priv->firm_type & std) { @@ -686,7 +687,8 @@ static int check_firmware(struct dvb_fro } /* Add audio hack to std mask */ - std |= parse_audio_std_option(); + if (priv->mode != T_DIGITAL_TV) + std |= parse_audio_std_option(); rc = load_firmware(fe, type, &std); if (rc < 0) _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb