Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: dvb-kernel and alps_bsru6 not tuning



On Thursday 30 January 2003 12:38 pm, Matt Davis wrote:
> Using the dvb-kernel driver with the stv0299b and tsa5059t frontend chipset
> is not allowing me to tune.  The sticker on my little shiny metal box says
> it is an alps_bsru6.  Tuning fails during the stv0299.c pll_write()
> function call. This function sends two i2c messages instead of one if the
> type is LG_TDQF_S001F.  If I force the ALPS_BSRU6 type to also send two
> messages tuning starts working.  It looks like when one message is used
> instead of two there is not enough time for the stv0299b i2c bus repeater
> to turn on before it gets the i2c message to the tsa5059.  Should the
> pll_write include the ALPS_BSRU6 type in the test to send two messages like
> shown below?  I can create a patch if needed, but I don't want to act
> prematurely if there is some reason not to do this.

Well, here is the patch since I have one now... it seems to work fine for me.

Matt Davis
diff -rpu ../dvb-kernel/linux/drivers/media/dvb/frontends/stv0299.c dvb-kernel/linux/driv ers/media/dvb/frontends/stv0299.c > stv0299_1_31_03.patch

--- ../dvb-kernel/linux/drivers/media/dvb/frontends/stv0299.c	Tue Jan 21 12:22:41 2003
+++ dvb-kernel/linux/drivers/media/dvb/frontends/stv0299.c	Fri Jan 31 09:54:19 2003
@@ -249,7 +249,7 @@ int pll_write (struct dvb_i2c_bus *i2c, 
 
 	dprintk ("%s\n", __FUNCTION__);
 
-	if (ftype == LG_TDQF_S001F) {
+	if (ftype == LG_TDQF_S001F || ALPS_BSRU6) {
 		ret  = i2c->xfer (i2c, &msg[0], 1);
 		ret += i2c->xfer (i2c, &msg[1], 1);
 	}

Home | Main Index | Thread Index