Mailing List archive

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

[linux-dvb] Re: Busy waiting in i2c_busy_rise_and_fall (was: Re: Re: full featured card without signal and required video memory investigation)



On Tuesday 15 July 2003 18:50, Ralph Metzler wrote:
> Robert Schlabbach writes:
>  > FWIW, I found the IICSTA bug with a Siemens DVB-Cable card, which
>  > had an SAA7146A with a manufacturing date in 2000 on it (if I
>  > understand the markings on the chip correctly). Maybe Philips has
>  > fixed the bug in an updated revision of the chip...?
>  >
>  > As to the delay, keep in mind that the 33MHz PCI clock gives you a
>  > pretty solid timing, completely independent of CPU speed. So just
>  > reading the IICSTA register twice should still be enough, even
>  > with the fastest CPUs. But since it will take a few loop runs for
>  > the transfer to finish anyway, it doesn't matter whether you read
>  > or delay first either...

Sure. Another reason why I did the delay stuff: We *know* that the 
transfer has not been completed yet when we enter  the loop...

>  > ...assuming the Linux kernel really does have such a fine-grained
>  > delay resolution. Does it really only wait 20us? FWIW, the reason
>  > I removed the delays in my _Windows_ driver code was that while
>  > the delay resolution could be specified in 100ns units, it would
>  > in fact delay with a granularity of 10 _milli_seconds (the
>  > resolution of the system timers in the uniprocessor NT HAL), so
>  > just a single delay call would take much longer than the actual
>  > transfer...
>
> Yes, udelay() really waits about 20us if it is not interrupted by the
> scheduler or other interrupts. It is calibrated at boot time.
>
> Btw., on one PC (Duron 1200, KT7) here the faster I2C timing
> breaks tuning. Anything below BUS_BIT_RATE_3200 does not work
> reliably. On a different board (Athlon XP2400+, KT400) with the same
> DVB card type it works fine.

That's bad! Does it simply not work or are there I2C errors? 
Maybe we could add some fallback mechanism.

Oliver


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



Home | Main Index | Thread Index