summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicholas Piggin2017-04-16 16:21:19 +0200
committerMichael Ellerman2017-04-19 12:00:18 +0200
commit95dbdf4fa09823e35b29eab8f7093984daa6a913 (patch)
tree0601fe3557287469c99cd62573a846bb62077212
parentpowerpc/mm/radix: Use mm->task_size for boundary checking instead of addr_limit (diff)
downloadkernel-qcow2-linux-95dbdf4fa09823e35b29eab8f7093984daa6a913.tar.gz
kernel-qcow2-linux-95dbdf4fa09823e35b29eab8f7093984daa6a913.tar.xz
kernel-qcow2-linux-95dbdf4fa09823e35b29eab8f7093984daa6a913.zip
powerpc/64s: Minor fix for MCE TLB flush for radix
The TLB flush for radix first flushes TLB for radix configuration, then flushes for hash configuration. The second flush is unnecessary but does not affect correctness. Fixes: 1a472c9dba6b9 ("powerpc/mm/radix: Add tlbflush routines") Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-rw-r--r--arch/powerpc/kernel/mce_power.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/mce_power.c b/arch/powerpc/kernel/mce_power.c
index de242b4bbd20..f913139bb0c2 100644
--- a/arch/powerpc/kernel/mce_power.c
+++ b/arch/powerpc/kernel/mce_power.c
@@ -72,10 +72,14 @@ void __flush_tlb_power8(unsigned int action)
void __flush_tlb_power9(unsigned int action)
{
+ unsigned int num_sets;
+
if (radix_enabled())
- flush_tlb_206(POWER9_TLB_SETS_RADIX, action);
+ num_sets = POWER9_TLB_SETS_RADIX;
+ else
+ num_sets = POWER9_TLB_SETS_HASH;
- flush_tlb_206(POWER9_TLB_SETS_HASH, action);
+ flush_tlb_206(num_sets, action);
}