]> git.baikalelectronics.ru Git - kernel.git/commit
csky/dma: Fixup cache_op failed when cross memory ZONEs
authorGuo Ren <ren_guo@c-sky.com>
Tue, 30 Jul 2019 09:02:26 +0000 (17:02 +0800)
committerGuo Ren <ren_guo@c-sky.com>
Tue, 6 Aug 2019 07:12:59 +0000 (15:12 +0800)
commit6f6633f7558f80864f66735efe7b648639b785aa
treef47e24a32f8519e1eeb5e721051eadc92fbfba7f
parentd63f92d6d189de0df1acc0ec6c433849eaf3487f
csky/dma: Fixup cache_op failed when cross memory ZONEs

If the paddr and size are cross between NORMAL_ZONE and HIGHMEM_ZONE
memory range, cache_op will panic in do_page_fault with bad_area.

Optimize the code to support the range which cross memory ZONEs.

Changes for V2:
 - Revert back to postcore_initcall

Signed-off-by: Guo Ren <ren_guo@c-sky.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Arnd Bergmann <arnd@arndb.de>
arch/csky/mm/dma-mapping.c