This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x: ALSA Asoc, snd_pcm_hardware structure values not clear

Hi,

I'm working on audio with Beaglebone (AM335x SItara). I'm not able to understand the values put into this structure (defined in sound/soc/davinci/davinci-pcm.c)

static struct snd_pcm_hardware pcm_hardware_capture = {
    .info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER |
         SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID |
         SNDRV_PCM_INFO_PAUSE |
         SNDRV_PCM_INFO_BATCH),
    .formats = DAVINCI_PCM_FMTBITS,
    .rates = (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |
          SNDRV_PCM_RATE_22050 | SNDRV_PCM_RATE_32000 |
          SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 |
          SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000 |
          SNDRV_PCM_RATE_KNOT),
    .rate_min = 8000,
    .rate_max = 96000,
    .channels_min = 2,
    .channels_max = 384,
    .buffer_bytes_max = 128 * 1024,
    .period_bytes_min = 32,
    .period_bytes_max = 8 * 1024,
    .periods_min = 16,
    .periods_max = 255,
    .fifo_size = 0,
};

can anyone explain: How are the following values derived:

    .buffer_bytes_max = 128 * 1024,
    .period_bytes_min = 32,
    .period_bytes_max = 8 * 1024,
    .periods_min = 16,
    .periods_max = 255,

The size available for McASP is 4MB

Can I tweak any of these parameters to improve audio performance?

Any help will be appreciated.

-PJ