[i2c-mxs] Broken DMA operations from within a module
Russell King - ARM Linux
linux at arm.linux.org.uk
Wed Feb 13 07:14:50 EST 2013
On Wed, Feb 13, 2013 at 01:00:50PM +0100, Enrico Scholz wrote:
> E.g. when doing something like
>
> struct i2c_msg xfer = {
> .buf = "something",
> ...
> };
>
> ret = i2c_transfer(client->adapter, &xfer, 1);
>
> random data will be sent because buf is not DMA mapable ("something" is
> located in the .strtab section within module memory). MXS has a memory
> layout like
DMA buffers must be located in lowmem *always*. This means placing them
in the .data segment does not work. USB has been through this already
and it's well known there...
More information about the linux-arm-kernel
mailing list