On 6/25/07, Clemens Ladisch <cladisch@xxxxxxxxxxxx> wrote: > Pharaoh . wrote: > > >The ALSA framework will stop the stream and return the error code EIO > > >when there was no interrupt for ten seconds, i.e., when > > >snd_pcm_period_elapsed() was not called. > > > > I am getting the interrupts, but why there wont be any interrupt for > > 10 seconds? > > I don't quite understand this sentence. You do get interrupts? > And snd_pcm_period_elapsed() is not called? > > > I am setting the periods in prepare as periods = runtime->period, so > > interrupts should at period boundaries. > > runtime->periods is the number of periods. I don't know how your > hardware works, but I guess it wants to know the period size, i.e., > runtime->period_size converted to bytes. > > > Regards, > Clemens > Apologie for being ambiguous... 1. When I posted the question, I was not even getting the DMA interrupts. The input/output error was present. 2. After modifying the code a little I started getting the DMA interrupts, but the input/output error still persists. So I am doubting I might have messed up with the period size etc. 3. I am assigning s->periods = runtime->period i.e. without converting them in bytes, in prepare (I have seen some standard omap drivers doing the same, so I am not converting it to bytes, frames should be okay, but I will check this in h/w manual) and I take care in trigger too by updating the s->periods field. 4. Also, s->period is locked appropriately so dont think it is corrupted. I am attaching the source file, I have attached only 1 file since I think it is relevant. Will send the log once I get chance to test it again. _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel