IXP4xx fixes
Krzysztof Halasa
khc at pm.waw.pl
Sat Mar 22 19:44:09 EDT 2014
Hello,
I'm attaching 3 IXP4xx fixes:
1. Fix Goramo Multilink GPIO conversion (regression in v3.13)
This platform is not included by default and it seems it escaped
testing when the GPIO was converted.
I've noticed a patch fixing the same problem from Arnd Bergmann,
however the other IXP4xx platforms now use the GPIO API and
I think this single platform shouldn't be an exception.
2. Fix DMA masks (regression in v3.7)
This patch makes IXP4xx conform to the DMA API. Newly created devices
will have 32-bit DMA and coherent DMA masks (effectively 28-bit for
PCI devices). dma_set_coherent_mask() will now really set the mask,
not only test for its validity as it used to.
A subsequent cosmetic patch for specific devices (e.g. built-in
Ethernet and sync serial) setting DMA and coherent DMA masks may be
needed, however it won't have any effect on the regression. Simply
speaking, it's the core IXP4xx code that is broken (since the
beginning I think), and it's where the fix must go.
3. Fix DMA-bounce code to allow sync from_device and to_device with
bidirectional mappings.
This is an issue on (probably) E100 Ethernet only. A known problem
but few people ever cared. Fixed on X86 long ago.
BTW this passes cleanly through DMA API debug. And it obviously
works correctly.
This stuff is tested on Goramo Multilink and on Gateworks Cambria with
both on-chip and PCI DMA-able devices.
--
Krzysztof Halasa
More information about the linux-arm-kernel
mailing list