snd-aoa status update / automatic driver loading

Benjamin Herrenschmidt benh at kernel.crashing.org
Thu May 25 18:00:03 EST 2006


On Wed, 2006-05-24 at 11:42 +0200, Johannes Berg wrote:
> On Wed, 2006-05-24 at 08:15 +1000, Benjamin Herrenschmidt wrote:
> > > Right, that's how snd-powermac does it. It has the nasty side-effect of
> > > polluting the cache a lot though, since dbdma commands are 16 bytes
> > > long. Am I wrong?
> > 
> > You don't have that much DBDMA commands that it would pollute the cache
> > _a lot_ :) 
> 
> Ah, yeah, I guess so. Well I do have 32 dbdma commands, them being
> spaced up in 16-bytes means 16 cachelines, no? I'm not sure how the
> cache is wired up ...

On a 32 bits CPU yes.

> > > Alsa calls this thing the 'pointer' :) The frame counter we currently
> > > use is the frame counter register of the i2s bus controller, and I don't
> > > see why we shouldn't do that instead of reading back all the dbdma
> > > command status fields.
> > 
> > If you manage to have it properly in sync, that may work too.
> 
> Seems to work fine so far, even if bcm43xx kills a few interrupts ;)

So it's bcm's fault ? Did you do a bit of analysis ? that would be
useful...

Ben.





More information about the Linuxppc-dev mailing list