[alsa-devel] Problem bringing up new alsa driver
tiwai at suse.de
Sun Apr 26 19:01:45 CEST 2009
At Sun, 26 Apr 2009 11:42:14 -0400,
Jon Smirl wrote:
> On Sun, Apr 26, 2009 at 7:14 AM, Takashi Iwai <tiwai at suse.de> wrote:
> > At Sat, 25 Apr 2009 17:28:55 -0400,
> > Jon Smirl wrote:
> >> These new patches have broken audio support on the mpc5200....
> > Then the lowlevel callbacks are likely wrong :)
> >> They assume that the hardware is capable of telling where the DMA
> >> engine is in the middle of an operation.
> > Well, nothing new by these patches. The original PCM core
> > implementation has been designed in that way. These changes may check
> > some bogus value more strictly.
> > If the hardware doesn't support it, it needs report at least some
> > "sane" value; i.e. it must not be over the real position, but not
> > below the previous pointer.
> > In the worst case, the driver just needs to report the same position
> > at the previous period boundary until the next
> > snd_pcm_period_elapsed().
> That's doesn't work anymore. The PCM code is using jiffies to estimate
> where the pointer needs to be.
> I used the same jiffies to fake up a hardware position.
Hrm, then it's a breakage. The quantum position must be still
Jaroslav, could you check that? It's your new code...
As an easy workaround, we can give a pcm info flag to indicate that
the driver doesn't provide the continuous DMA position.
More information about the Alsa-devel