Hello Guys,

I am developing a biosignals platform using Overo. I developed a driver and I want to read 4 ADC's using the SPI port. The ADC's that i am trying to use are the ADS1298 from Texas. This ADC provides a Data Ready signal to syncronize the readings. I programmed the ADCs for 1Ksps, so in each ms the signal goes low. I programmed a Interrupt by using the request_threaded_irq() to go with this Data Ready Signal, and inside the handler I am using the SPI_sync() because I need to read the data and Chip Select the ADCs progressibly. The problem that I am having is that in each (more or less) 8 interrupts, the time taken to read the ADC goes to 4 times higher. For example, I measured an aproximate time of about 245 us to read the 4 ADC's, but in each 8 interrupts the time taken is about 1 ms.
The ADC are connected in cascade mode.
Is this problem related with the PREEMPT configuration? I am using 2.6.34 Kernel, with no preemption configured. I disabled the spidev, and the other drivers that use the SPI bus.

Can someone please help me on this one?