Mailing List archive

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

[linux-dvb] Re: Erroneous unsupported PLL synthesizer: foundit!!



Andrew de Quincey wrote:
On Monday 17 March 2003 10:41, Holger Waechtler wrote:

Andrew de Quincey wrote:

On Friday 14 March 2003 18:35, Ralph Metzler wrote:

Andrew de Quincey writes:

Hi, I've found the problem. It seems to be the same one as mentioned
in "dvb-kernel and alps_bsru6 not tuning" from Matt Davis on Mon, 03
Feb 2003.

Basically, sending both i2c commands at the same time means the
stv0299 bus repeater does not have enough time (the i2c device returns
BUSY 'cos it hasn't finished with the first message). Adopting the
same solution (breaking all the double-i2c PLL writes up into two
single ones) makes the PLL work again.
Well, I did ask you yesterday if PLL writes are done in one transfer
or two in the driver you are using.
Yeah, I wasn't quite sure what you meant. In hindsight, of course, it all
makes sense now :)

Anyway, shall I just patch it in for my PLL chip in particular, or just
change all the PLL code to use seperate i2c transmissions?
No. The right fix for this problem is to insert real delays (preferably
ddelay() calls of the average length of one or two i2c messages) in the
retry loop in the saa-i2c driver. Otherwise you'll get into these
problems again when you buy your next, faster PC.

Would you be willing to implement this and send a patch?

One thing; at the moment the SAA i2c code specifically does not retry if it gets an address error.. so in this case, there are never any retries because it gets an address error. I'd have to remove this check to implement your suggestion. Is this OK?
yes.

Holger



--
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index