[i2c-mxs] Broken DMA operations from within a module

Enrico Scholz enrico.scholz at sigma-chemnitz.de
Wed Feb 13 07:28:41 EST 2013


Russell King - ARM Linux <linux at arm.linux.org.uk> writes:

>>                .buf = "something",
>> ...
>> 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...

Yes; I know about USB and this requirement is explicitly mentioned in
the 'struct urb' documentation.  But I can not find something similar
for i2c_msg and lot of i2c drivers are working with non DMA mapable
buffers.


Enrico



More information about the linux-arm-kernel mailing list