ARM: fix cache-xsc3l2 after stack based kmap_atomic()
authorNicolas Pitre <nicolas.pitre@linaro.org>
Thu, 16 Dec 2010 04:29:04 +0000 (23:29 -0500)
committerNicolas Pitre <nico@fluxnic.net>
Sun, 19 Dec 2010 17:57:08 +0000 (12:57 -0500)
commit25cbe45440ea89a3b0f6f7ed326d3d476d53068b
treec4f63f23f9152fb9bb75b6206b445b5ce7290e8d
parent39af22a79232373764904576f31572f1db76af10
ARM: fix cache-xsc3l2 after stack based kmap_atomic()

Since commit 3e4d3af501 "mm: stack based kmap_atomic()", it is actively
wrong to rely on fixed kmap type indices (namely KM_L2_CACHE) as
kmap_atomic() totally ignores them and a concurrent instance of it may
happily reuse any slot for any purpose.  Because kmap_atomic() is now
able to deal with reentrancy, we can get rid of the ad hoc mapping here,
and we even don't have to disable IRQs anymore (highmem case).

While the code is made much simpler, there is a needless cache flush
introduced by the usage of __kunmap_atomic().  It is not clear if the
performance difference to remove that is worth the cost in code
maintenance (I don't think there are that many highmem users on that
platform if at all anyway).

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
arch/arm/mm/cache-xsc3l2.c