Hello James, Thanks a lot....Just a typo error for the period_bytes_min and period_bytes_max in my mail..... Now that my FIFO is 64 bytes and if I need an interrupt to the CPU for FIFO being half-empty (i.e 32 bytes = 16 16-bit samples), would it be right to set the periods_min = periods_max = 32? Regards, Aadish On Wed, Jun 23, 2010 at 11:15 PM, James Courtier-Dutton <james.dutton@xxxxxxxxx> wrote: > On 23 June 2010 18:22, Adish Kuvelker <adkuvi@xxxxxxxxx> wrote: >> Hello, >> >> I am developing a ALSA driver for the AtlasIII AC'97 Controller. The >> AC'97 Controller FIFO is arranged as 16 32-bit entries. My PCM data >> would be 16-bit samples and the driver will cater to 2-front channel >> audio. I have configured the snd_pcm_hardware members as follows: >> .formats = SNDDRV_PCM_FMTBIT_S16_LE >> .period_bytes_max = 4, >> .period_bytes_min = 64, >> As I would need a minimum of 4-byte sample to be transferred and the >> "period_bytes_max" value has been set considering the maximum size of >> the FIFO in bytes. Is my understanding correct in doing these >> settings? >> >> Secondly, I am having slight problems in understanding the >> "snd_pcm_hardware" members periods_min and periods_max. Can anyone >> throw some more light on this in addition to what is explained in the >> "Writing an Audio Driver"? >> > > max should = 64 > min should = 4 > > periods_min and periods_max is dependent on when the sound card > interrupts the CPU. > So, if the CPU gets an interrupt once every 16 samples, then > periods_min = periods_max = 1 > If the sound card does not interrupt the CPU at all, you have to > provide a method to notify the CPU when to next fill the FIFO. > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel