Re: Please help with I2c on S3c processor

Ben Dooks <[email protected]>
Newsgroups gmane.linux.ports.arm.general
Message-ID <[email protected]>
On Tue, May 04, 2010 at 11:25:05AM +0200, Guido Piasenza wrote:
> Hi everyone,
>
> I tried to look up this topic everywhere but could not find any  
> reference to it...
>
> I am writing a software which interfaces a S3C processor to an A/D  
> through I2C. I am controlling everything in user mode, i.e. I write a  
> strobe and channel selection command to the I2C and I read the results  
> with a word read.
>
>
> The problem is that each read and write operation eats up 10ms. I am not  
> sure where these ms come from, I will try to put some traces in the bus  
> driver to see where it's lost but I suspect that the calling thread is  
> not immediately rescheduled when the interrupt comes and wakes it up. I  
> tried setting the scheduler to FIFO and RR, with priority 99, with and  
> without preemption in the kernel but nothing changes.
>
>
> What am I doing wrong ? I checked data with the oscilloscope to see if  
> the baud rate is too slow but it seems data get sent out very fast and  
> then there is a 10ms delay before further data comes out.

there's an msleep() in the driver after each transaction. you could try
applying Mark Brown's patch currently in my i2c-next tree to see how
much that helps.

-- 
Ben

Q:      What's a light-year?
A:      One-third less calories than a regular year.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.