The field LPA of CP0_CONFIG3 register is read only for Loongson64, so the
write operations are meaningless, remove them.

Signed-off-by: Tiezhu Yang <yangtie...@loongson.cn>
---
 arch/mips/include/asm/mach-loongson64/kernel-entry-init.h | 8 --------
 arch/mips/loongson64/numa.c                               | 3 ---
 2 files changed, 11 deletions(-)

diff --git a/arch/mips/include/asm/mach-loongson64/kernel-entry-init.h 
b/arch/mips/include/asm/mach-loongson64/kernel-entry-init.h
index 87a5bfb..e4d77f4 100644
--- a/arch/mips/include/asm/mach-loongson64/kernel-entry-init.h
+++ b/arch/mips/include/asm/mach-loongson64/kernel-entry-init.h
@@ -19,10 +19,6 @@
        .macro  kernel_entry_setup
        .set    push
        .set    mips64
-       /* Set LPA on LOONGSON3 config3 */
-       mfc0    t0, CP0_CONFIG3
-       or      t0, (0x1 << 7)
-       mtc0    t0, CP0_CONFIG3
        /* Set ELPA on LOONGSON3 pagegrain */
        mfc0    t0, CP0_PAGEGRAIN
        or      t0, (0x1 << 29)
@@ -54,10 +50,6 @@
        .macro  smp_slave_setup
        .set    push
        .set    mips64
-       /* Set LPA on LOONGSON3 config3 */
-       mfc0    t0, CP0_CONFIG3
-       or      t0, (0x1 << 7)
-       mtc0    t0, CP0_CONFIG3
        /* Set ELPA on LOONGSON3 pagegrain */
        mfc0    t0, CP0_PAGEGRAIN
        or      t0, (0x1 << 29)
diff --git a/arch/mips/loongson64/numa.c b/arch/mips/loongson64/numa.c
index cf9459f..c7e3cced 100644
--- a/arch/mips/loongson64/numa.c
+++ b/arch/mips/loongson64/numa.c
@@ -40,9 +40,6 @@ static void enable_lpa(void)
        unsigned long value;
 
        value = __read_32bit_c0_register($16, 3);
-       value |= 0x00000080;
-       __write_32bit_c0_register($16, 3, value);
-       value = __read_32bit_c0_register($16, 3);
        pr_info("CP0_Config3: CP0 16.3 (0x%lx)\n", value);
 
        value = __read_32bit_c0_register($5, 1);
-- 
2.1.0

Reply via email to