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. Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel