Hi Michael, On Tuesday 15 July 2003 09:21, Michael Hunold wrote: > I'm sorry that I'm answering so late...
No problem. I guess most of us have to work sometimes. ;-) > > Are ms-delays really required? > > After I applied the following patch the cpu load dropped to 3%: > > Hehe, once again: the i2c code is legacy cruft. It was written for my > analog tv stuff, worked, and was never improved, because the data > rates are very, very low. It was incorporated by the Metzlers, and > tweaked so that it works. Fine, so there is probably no reason to keep I2C bus speed at 10kHz. IMHO increasing bus speed is a real improvement... > For some DVB stuff, however, and frequent polling through the i2c > bus, the functions are crap. ms delays are not required, but you have > to keep the balance: > > As Robert has already pointed out, for big amounts of data calling > schedule() while transferring lengthens the whole transaction > immensly. On the other hand, if you busy wait, the computer is locked > up for a long time (just like within the firmware upload). Well, status polls and tuning transactions need just a few bytes. Firmware uploads don't happen very often. I hope that I have found a good solution, but it depends on system load, processor speed etc. > Please keep in my the separation between DVB and "dvb-kernel": > > The DVB driver is completely separated, you can do with it whatever > you want. If it works for all DVB people, you can rise the transfer > speed, busy wait, whatever. It will be obsolete, once 2.6 comes out, > though. IMHO most people will use this driver until they finally switch to 2.6. > The "dvb-kernel" driver is a separate issue. There, the transfer > speed can be different for every saa7146 "extension" (ie. a DVB card, > or an analog tv card) and some improvements have already been done > there, ie. the busy_rise_and_fall() function has been removed and > some of Robert's suggestions have been incorporated. As Johannes mentioned, tuning is really slower with dvb-kernel. After applying the patch to DVB the difference is even more visible. I didn't look deeper into this, I just increased I2C speed for the DVB-S in dvb-kernel, but it's still slower. Needs more investigation. > It's possible to use irq based i2c, too, but this does not work for > av7110 cards, because it screws up the irq handling between the > saa7146 <=> av7110, you'll get DEBI oops and GPIO oops messages. 8-( Maybe this could be fixed. Anyway, I don't know whether interrupt mode is a real improvement if you are transferring just a few bytes... Thanks for your explanations, Oliver -- Info: To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe linux-dvb" as subject.
