On Tuesday 12 November 2013 11:15:07 am Priscilla Wong wrote:
> Can someone help me on an issue I am seeing on my i2c-imx driver for
> uClinux 2.6.29?
>
> Attached is a scope capture of an i2c read operation.  In the capture,
> yellow is clock, green is data, blue and pink are both gpios I am using
> for debugging.  It can be seen that there is a 300 us delay after master
> writes to the slave address. The transfer is complete when the interrupt
> arrives and waitqueue is woken up. The pink gpio fires high during the
> transfer complete call (i2c_imx_trx_complete) after the slave address is
> written. The blue gpio fires high during the queue wake up call in the
> ISR (i2c_imx_isr). When looking at this capture, my first inclination is
> to bump the interrupt level and priority, hoping it will speed up the
> ISR but it had no effect on the delay.
>
> Any ideas what is causing this delay?

That looks similar to an issue with the original version of my i2c-coldfire 
driver; the scheduler simply can't reschedule tasks any faster than that.  
The fix was to have the isr process the next byte in the transfer and only 
send the completion when the entire message was transfered.
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to