MIPS: Configure FTLB after probing TLB sizes from config4
authorPaul Burton <paul.burton@imgtec.com>
Fri, 19 Aug 2016 17:18:27 +0000 (18:18 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 29 Sep 2016 16:59:49 +0000 (18:59 +0200)
commitebd0e0f503d0774407a63ebb5ec1a90bb54941f5
treed16868a3dd85ee52fa64414f0c6062a29c5e28ec
parent72c70f010dfcc9ea6cc13500602a29e33748452f
MIPS: Configure FTLB after probing TLB sizes from config4

On some cores (proAptiv, P5600) we make use of the sizes of the TLBs
to determine the desired FTLB:VTLB write ratio. However set_ftlb_enable
& thus calculate_ftlb_probability is called before decode_config4. This
results in us calculating a probability based on zero sizes, and we end
up setting FTLBP=3 for a 3:1 FTLB:VTLB write ratio in all cases. This
will make abysmal use of the available FTLB resources in the affected
cores.

Fix this by configuring the FTLB probability after having decoded
config4. However we do need to have enabled the FTLB before that point
such that fields in config4 actually reflect that an FTLB is present. So
set_ftlb_enable is now called twice, with flags indicating that it
should configure the write probability only the second time.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Fixes: cf0a8aa0226d ("MIPS: cpu-probe: Set the FTLB probability bit on supported cores")
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/14022/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/cpu-probe.c