Re: [PATCH v4] MIPS: HIGHMEM DMA on noncoherent MIPS32 processors

From: Ralf Baechle
Date: Thu May 19 2011 - 07:06:48 EST


On Wed, Oct 13, 2010 at 04:57:35PM -0700, Kevin Cernekee wrote:

> [v4: Patch applies to linux-queue.git with kmap_atomic patches:
> https://patchwork.kernel.org/patch/189932/
> https://patchwork.kernel.org/patch/194552/
> https://patchwork.kernel.org/patch/189912/ ]
>
> The MIPS DMA coherency functions do not work properly (i.e. kernel oops)
> when HIGHMEM pages are passed in as arguments. Use kmap_atomic() to
> temporarily map high pages for cache maintenance operations.
>
> Tested on a 2.6.36-rc7 1GB HIGHMEM SMP no-alias system.

And I don't think it's going to work on an alias system. __dma_sync maps
a page but it doesn't know the previous mapping (or could there be any
other mappings at the same time?). That's going to fail with aliases.
Not that this was previously working so I don't blame you for it.

Who is the author of this patch, you or Dezhong Diao?

Ralf
--
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/