powerpc/mm: Workaround Nest MMU bug with TLB invalidations
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 22 Mar 2018 22:29:06 +0000 (09:29 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 23 Mar 2018 03:16:58 +0000 (14:16 +1100)
commit80a4ae202f2d319eced8bbf612a4e8b0f11c21f5
treeefc1aff78cc26e978b06ab6fb11a919dabc2156b
parentaff6f8cb3e2170b9e58b0932bce7bfb492775e23
powerpc/mm: Workaround Nest MMU bug with TLB invalidations

On POWER9 the Nest MMU may fail to invalidate some translations when
doing a tlbie "by PID" or "by LPID" that is targeted at the TLB only
and not the page walk cache.

This works around it by forcing such invalidations to escalate to
RIC=2 (full invalidation of TLB *and* PWC) when a coprocessor is in
use for the context.

Fixes: 03b8abedf4f4 ("cxl: Enable global TLBIs for cxl contexts")
Cc: stable@vger.kernel.org # v4.15+
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Balbir Singh <bsingharora@gmail.com>
[balbirs: fixed spelling and coding style to quiesce checkpatch.pl]
Tested-by: Balbir Singh <bsingharora@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/mm/tlb-radix.c