Mailing List archive

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

[linux-dvb] Re: timing in dvb-kernel



Hello Oliver,

This requires two modifications:
[1] I committed a change to 'dvb-kernel' which increases speed of the
I2C bus for *full-featured* cards to 275 kHz (same value as in DVB).
Please update file av7110.c from dvb-kernel CVS.

[2] Apply the following patch to saa7146_i2c.c:

----------------- snip ----------------------------
diff -p -u -r1.26 saa7146_i2c.c
--- saa7146_i2c.c 14 Nov 2003 11:42:04 -0000 1.26
+++ saa7146_i2c.c 25 Nov 2003 03:29:29 -0000
@@ -301,7 +301,7 @@ int saa7146_i2c_transfer(struct saa7146_
goto out;
}
- if (count > 3) short_delay = 1;
+ short_delay = 1; // OE test
do {
/* reset the i2c-device if necessary */
----------------- snip ----------------------------

Note that without [2] modification [1] is almost useless,
because each I2C access causes a delay of 10..20ms.
I suggested several times to improve this but I was ignored...
I'm sorry if I ignored something back then. I just had a look at our discussion and it thought that the discussion was about the DVB driver only.

Please repeat your proposal.

In your other mail your wrote:

> The problem is that the saa7146 driver is used by different types of
> cards. IMHO we need a way to select whether short_delay should be used
> in the saa7146 driver or not.

"struct saa7146_extension" in "include/media/saa7146.h" already has a flag SAA7146_USE_I2C_IRQ for i2c driven i2c for analog tv cards.

You could simply add a SAA7146_I2C_SHORT_DELAY flag here and check for it saa7146_i2c_writeout() like this:

if( 0 != (SAA7146_I2C_SHORT_DELAY & dev->ext->flags)) {
short_delay = 1;
}
[...]

Oliver
CU
Michael.



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



Home | Main Index | Thread Index