[PATCH v2 0/4] Fix kernel panic in dma-coherent allocations

Brian Starkey brian.starkey at arm.com
Mon Feb 29 08:09:20 PST 2016


Hi,

These patches implement a MEMREMAP_WC flag for memremap(), which can
be used to obtain writecombine mappings. This is then used for setting
up dma_coherent_mem regions which use the DMA_MEMORY_MAP flag.

The motivation is to fix an alignment fault on arm64, and the
suggestion to implement MEMREMAP_WC for this case was made at [1].
That particular issue is handled in patch 4, which makes sure that the
appropriate memset function is used when zeroing allocations mapped as
IO memory.

Best Regards,
Brian

[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2015-December/390857.html

Changes since v1:
* Added preparatory patch removing flag modifications in memremap()
  (Suggested by Andrew Morton)
* Rebase onto linux-next

Brian Starkey (4):
  memremap: don't modify flags
  memremap: add MEMREMAP_WC flag.
  drivers: dma-coherent: use MEMREMAP_WC for DMA_MEMORY_MAP
  drivers: dma-coherent: use memset_io for DMA_MEMORY_IO mappings

 drivers/base/dma-coherent.c |   25 ++++++++++++++++++++-----
 include/linux/io.h          |    1 +
 kernel/memremap.c           |   24 +++++++++++++++---------
 3 files changed, 36 insertions(+), 14 deletions(-)

-- 
1.7.9.5




More information about the linux-arm-kernel mailing list