> But take a look what the i2c_busy_rise_and_fall() function does instead: It > reads the PSR *once* and if the "I2C busy" bit is not set (which it never > is upon the first read!) it does: > > /* see if anything can be done while we're waiting */ > SAA7146_RESCHED; > mdelay(1); > > Not surprising that the performance is poor... > > > Does anyone have any suggestions? > > Yes, rewrite the SAA7146A I2C functions from scratch :) Alternatively, try > putting just an extra read of the PSR into the i2c_busy_rise_and_fall() > function before the loops, that might work wonders already.
Is that from the released version of the driver on the website? I think the dvb-kernel CVS head version has had its i2c rewritten... but it still has the problem. -- Info: To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe linux-dvb" as subject.
