[alsa-devel] A question about period

Takashi Iwai tiwai at suse.de
Fri Aug 3 12:14:00 CEST 2018


On Fri, 03 Aug 2018 12:04:34 +0200,
Yu-hsuan Hsu wrote:
> 
> For example, we can set period_size 32 to one device. But the device
> consumes 40 frames each time. Can we said it support period_size 32? I
> found many devices have this situation.

The question remains: how can the hardware issue an IRQ of period size
32 while it can consume 40 frames at each time?

As you asked in the first post, the period size is the size where the
hardware notifies the update.  Your description above doesn't match
with the definition...


Takashi

> 
> On Fri, Aug 3, 2018 at 4:30 PM Takashi Iwai <tiwai at suse.de> wrote:
> 
> > On Fri, 03 Aug 2018 10:09:30 +0200,
> > Yu-hsuan Hsu wrote:
> > >
> > > Thank for your answer!
> > >
> > > The other question is if we set period_size to N, but the frames it
> > > consumes once is 5N.
> >
> > Then the assumption is wrong.  How the hardware can issue an IRQ at N
> > consumption while it processes for 5N in once?
> >
> >
> > Takashi
> >
> > > Can it said it supports period_size N? How do we check
> > > whether the period_size can be set correctly?
> > >
> > > On Fri, Aug 3, 2018 at 3:31 PM Takashi Iwai <tiwai at suse.de> wrote:
> > >
> > > > On Fri, 03 Aug 2018 08:28:37 +0200,
> > > > Yu-hsuan Hsu wrote:
> > > > >
> > > > > Hi all,
> > > > >
> > > > > I have a question about the period we set in hw_params. I found
> > different
> > > > > boards may have different explanations about it. I have two guesses
> > about
> > > > > its meaning.
> > > > >
> > > > > 1. The period_size is the size of each hardware's consumption. If we
> > set
> > > > > period size to N, the pcm will consume N frames each time.
> > > > >
> > > > > 2. The period_size is the size to control when hardware call
> > interrupt.
> > > > If
> > > > > we set period size to N, the pcm consume frames in its step. When the
> > > > > number of frames it consumes more than N, it will call interrupt.
> > > >
> > > > 2 is the correct answer.
> > > >
> > > >
> > > > HTH,
> > > >
> > > > Takashi
> > > >
> > > > > We can use snd_pcm_avail function to check the real available frames
> > in
> > > > > the device. If guess 1 is correct, the size of consumption should be
> > > > fixed.
> > > > > Else, setting period_size is nothing to do with hardware's
> > > > > consumption. I've checked some boards and found that each board has
> > > > > different behavior (Most of them meet guess 2). I'm confuse which
> > one is
> > > > > correct. Thanks!
> > > > > _______________________________________________
> > > > > Alsa-devel mailing list
> > > > > Alsa-devel at alsa-project.org
> > > > > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> > > > >
> > > >
> > > [2  <text/html; UTF-8 (quoted-printable)>]
> > >
> >
> [2  <text/html; UTF-8 (quoted-printable)>]
> 


More information about the Alsa-devel mailing list