> On Tue, Aug 25, 2009 at 03:46:14PM -0400, Pedro I. Sanchez wrote: > >> The big quest for me now is to figure out what "cmr_div" and "period" >> have to be. They must be different for each sample rate. Any pointers >> would be appreciated. > > There should be a clocking diagram in the CPU manual which will show how > things are interrelated. The period of a clock will be 1/rate - the > length of time taken for a clock cycle. > I'm still struggling with the clocks but in the mean time I have a related question. Why is it that if I play a 24-bit encoded play the hw_params() function in my driver is called with SNDRV_PCM_FORMAT_S16_LE format? Does ALSA makes an on-the-fly conversion? $ aplay c2_24.wav Playing WAVE 'c2_24.wav' : Signed 24 bit Little Endian in 3bytes, Rate 44100 Hz, Mono ... and my ipspeaker machine driver module says: Aug 27 15:03:15 ubuntu kernel: ipspeaker_hw_params: pcm rate is 44100 Aug 27 15:03:16 ubuntu kernel: ipspeaker_hw_params: PCM format SNDRV_PCM_FORMAT_S16_LE I would expect my driver to be told that the format is SNDRV_PCM_FORMAT_S24_LE. Why is this? Thanks, -- Pedro _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel