openvortex-dev
[Top][All Lists]
Advanced

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

[Openvortex-dev] address@hidden: Re: [Alsa-devel] Unexpected hw_pointer


From: Ryan Underwood
Subject: [Openvortex-dev] address@hidden: Re: [Alsa-devel] Unexpected hw_pointer value]
Date: Mon, 6 Oct 2003 16:20:46 -0500
User-agent: Mutt/1.5.4i

More on hw_pointer...

----- Forwarded message from Jaroslav Kysela <address@hidden> -----

From: Jaroslav Kysela <address@hidden>
Date: Mon, 6 Oct 2003 15:36:32 +0200 (CEST)
Subject: Re: [Alsa-devel] Unexpected hw_pointer value
To: Giuliano Pochini <address@hidden>
Cc: Ryan Underwood <address@hidden>,
        address@hidden

On Sun, 5 Oct 2003, Giuliano Pochini wrote:

> On Sat, 4 Oct 2003 16:58:12 -0500
> Ryan Underwood <address@hidden> wrote:
>
> > > i have an ES1983S Maestro-3i on a c600 dell laptop
> > > i got this message in syslog :
> > >
> > > ALSA sound/core/pcm_lib.c:214: Unexpected hw_pointer value (stream = 0,
> > > delta: -944, max jitter = 1024): wrong interrupt acknowledge?
> >
> > I get a lot of these as well with the in-development Aureal driver.
>
> Me too, with the Echoaudio driver. I had quick look at the code that prints
> that warning and I couldn't see anything obviously wrong. btw I can't figure
> out why it happens. It seems harmless, so I left the question on hold.
>
> > I'm also curious as to what they mean.  (I seem to be the only person having
> > the problem).  They mostly occur while playing music in xmms with xmms
> > alsa plugin.  They fill up syslog with hundreds of megabytes. :)
>
> It happens with any program and it depends a lot on the period number and
> period size settings.

We added these sanity checks for debugging purposes, but if they occur too
much, there's something bad with driver or hardware.

Basically, we have only information from last interrupt position and the
actual position in the ring buffer. We need to determine the new
"absolute" position. To detect the wrap point, we compute the delta value
for the new and old position and if delta is greater than buffer_size / 2,
we correct the new position by adding buffer_size. Otherwise we take value
as error, because we ask driver to acknowledge interrupts after
period_size not before. Note that some interrupt might be lost.

                                                Jaroslav

-----
Jaroslav Kysela <address@hidden>
Linux Kernel Sound Maintainer
ALSA Project, SuSE Labs


----- End forwarded message -----

-- 
Ryan Underwood, <nemesis at icequake.net>, icq=10317253




reply via email to

[Prev in Thread] Current Thread [Next in Thread]