[alsa-devel] [bisected] lx6464es fails to open a second time

Tim Blechmann tim at klingt.org
Tue Nov 22 11:17:45 CET 2011


> > today, i was able to bisect the issue and the first bad commit is:
> > 
> > commit 6175ddf06b6172046a329e3abfd9c901a43efd2e
> > Author: Brian Gerst <brgerst at gmail.com>
> > Date:   Fri Feb 5 09:37:07 2010 -0500
> > 
> >     x86: Clean up mem*io functions.
> > 
> > the communication with the device is done by passing simple commands via
> > memcpy_fromio and memcpy_toio (compare sound/pci/lx6464es/lx_core.c,
> > lines 75 to 99). any idea, what is going wrong there?
> 
> The old and new implementations of memcpy_*io do not have any differences
> in the documented API, but the new ones are much more optimized, so they
> might not use 8- or 32-bit accesses or a different access pattern.
> 
> Does the card's mapped I/O region behave exactly like memory, or has it
> any restrictions on how it can be used?  In the latter case, you should
> implement your readbuf/writebuf functions by hand to use plain 32-bit
> accesses in order (or whatever is required).

indeed, emulating memcpy_*io with ioread32/iowrite32 fixes the issue.

thanks, tim


More information about the Alsa-devel mailing list