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

From: Tim Blechmann
Date: Tue Nov 22 2011 - 05:17:55 EST


> > today, i was able to bisect the issue and the first bad commit is:
> >
> > commit 6175ddf06b6172046a329e3abfd9c901a43efd2e
> > Author: Brian Gerst <brgerst@xxxxxxxxx>
> > 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/