]> git.proxmox.com Git - mirror_ubuntu-hirsute-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)
commit4af9027d3f4061992c0b065102a0a666b72f073b
treef47e24a32f8519e1eeb5e721051eadc92fbfba7f
parent7f80fe207de9602aaff028c79345caa68c90cd31
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