On Wed, 2007-07-25 at 17:12 +0200, Takashi Iwai wrote: > At Wed, 25 Jul 2007 17:08:41 +0200, > I wrote: > > > > At Wed, 25 Jul 2007 09:37:34 -0500, > > Timur Tabi wrote: > > > > > > Takashi Iwai wrote: > > > > > > >> So can I do this? > > > >> > > > >> static const struct snd_pcm_hardware mpc86xx_pcm_hardware = { > > > >> > > > >> .rates = SNDRV_PCM_RATE_CONTINUOUS, > > > >> .rate_min = 1, > > > >> .rate_max = (unsigned int) -1, > > > > > > > > In theory, yes, but these rate_min and rate_max are nothing but > > > > confusing in practice. Your hardware won't support definitely such > > > > rates, but the application can't know. Set some reasonable values > > > > there. > > > > > > This is an ASOC driver. My understanding is that ASOC will take all > > > the values from the machine, PCM, I2S, and codec drivers and create > > > the subset that matches all drivers. That's the point I was trying > > > to make: my PCM driver does *not* decide what the capabilities of > > > the system are, because my DMA controller can handle all speeds. So > > > I don't want to put some arbitrary limits in the PCM driver, and > > > then perhaps one day it gets attached to a codec driver that can > > > handle 4000Hz, but ASOC won't allow it because I used > > > SNDRV_PCM_RATE_8000_192000 | SNDRV_PCM_RATES_5512 in my PCM driver. > > > ASOC would incorrectly believe that the PCM driver can't handle > > > 4000Hz. > > > > Then, > > rates = -1U, > > rate_min = 0, > > rate_max = -1U, > > are the correct values. > > ... of course, this assumes that codec and platform have the sane rate > setting. ASoC should do some sanity checks... > Ok, I've marked this on my todo list ;) Liam _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel