Input/output error - Confusion regarding period size and interrupts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi

The hardware I am working on expects 8K bytes to be DMAed before
giving an interrupt. Only after a block of 8K bytes is DMAed, I get an
end of the block interrupt and I enqueue next 8K bytes for processing.
The params look like these:

static snd_pcm_hardware_t snd_omap_alsa_playback = {
        .info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_PAUSE |
                              SNDRV_PCM_INFO_RESUME |
SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_MMAP),
        .formats = (SNDRV_PCM_FMTBIT_S16_LE),
        .rates = (SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 ),
        .rate_min = 44100,
        .rate_max = 48000,
        .channels_min = 2,
        .channels_max = 2,
        .buffer_bytes_max = 8192*8,
        .period_bytes_min = 32,
        .period_bytes_max = 8 * 1024,
        .periods_min = 2,               //ping pong buffer
        .periods_max = 128,
        .fifo_size = 0,
};

I just copied it from another driver ;-). But now I am getting an
input/output error after
first block of data i.e. 8K bytes are DMAed. Does it have anything to
do with the above struct? I have discussed this earlier too, but now
attacking it once again after long gap.

-pharaoh.
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux