MIPS: OCTEON: Remove setting of processor specific CVMCTL icache bits.
authorChad Reese <kreese@caviumnetworks.com>
Thu, 15 Jan 2015 13:11:16 +0000 (16:11 +0300)
committerRalf Baechle <ralf@linux-mips.org>
Fri, 20 Feb 2015 14:32:22 +0000 (15:32 +0100)
CN38XX pass 1 required icache prefetching to be turned off. This chip never
reached production and is long dead. Other processor specific icache settings
are done by the bootloader. Remove these bits from the kernel.

Signed-off-by: Chad Reese <kreese@caviumnetworks.com>
Signed-off-by: Aleksey Makarov <aleksey.makarov@auriga.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Cc: David Daney <david.daney@cavium.com>
Patchwork: https://patchwork.linux-mips.org/patch/8944/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/mach-cavium-octeon/kernel-entry-init.h

index c7ce0811657dd6f45c0dfcd603af4a9f601e0b49..4bef539e1f0749d4eccb515fc0ac85f919d0b40a 100644 (file)
        # Needed for octeon specific memcpy
        or  v0, v0, 0x5001
        xor v0, v0, 0x1001
-       # Read the processor ID register
-       mfc0 v1, CP0_PRID_REG
-       # Disable instruction prefetching (Octeon Pass1 errata)
-       or  v0, v0, 0x2000
-       # Skip reenable of prefetching for Octeon Pass1
-       beq v1, CP0_PRID_OCTEON_PASS1, skip
-       nop
-       # Reenable instruction prefetching, not on Pass1
-       xor v0, v0, 0x2000
-       # Strip off pass number off of processor id
-       srl v1, 8
-       sll v1, 8
-       # CN30XX needs some extra stuff turned off for better performance
-       bne v1, CP0_PRID_OCTEON_CN30XX, skip
-       nop
-       # CN30XX Use random Icache replacement
-       or  v0, v0, 0x400
-       # CN30XX Disable instruction prefetching
-       or  v0, v0, 0x2000
-skip:
        # First clear off CvmCtl[IPPCI] bit and move the performance
        # counters interrupt to IRQ 6
        dli     v1, ~(7 << 7)