Re: [PATCH] at73c213: Fix DMA size at the end of DMA buffer

From: Atsushi Nemoto
Date: Fri Mar 14 2008 - 09:29:45 EST


On Fri, 14 Mar 2008 10:44:45 +0100, Haavard Skinnemoen <haavard.skinnemoen@xxxxxxxxx> wrote:
> > + size = runtime->period_size * runtime->channels;
> > + if (next_period == runtime->periods - 1)
> > + size += (runtime->buffer_size % runtime->period_size)
> > + * runtime->channels;
>
> Ow. That looks expensive. Isn't there any way we can force the client
> to select sane values of buffer_size and period_size?

Well, I suppose it is not _too_ expensive. :)

> It seems like a reasonable demand that buffer_size is a multiple of
> period_size, doesn't it?

But actually it can happen. And I gave up understanding how are these
parameters determined... If there were any way the driver can enforce
that constraint, it would be better fix.

Iwai-san, any comments from alsa guru?

---
Atsushi Nemoto
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/