powerpc/dt_cpu_ftrs: Advertise support for ISA v3.1 if selected
authorAlistair Popple <alistair@popple.id.au>
Thu, 21 May 2020 01:43:37 +0000 (11:43 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 2 Jun 2020 10:59:19 +0000 (20:59 +1000)
On powernv hardware support for ISAv3.1 is advertised via a cpu feature
bit in the device tree. This patch enables the associated HWCAP bit if
the device tree indicates ISAv3.1 is available.

Signed-off-by: Alistair Popple <alistair@popple.id.au>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200521014341.29095-4-alistair@popple.id.au
arch/powerpc/kernel/dt_cpu_ftrs.c

index fca4d7ff22b9fab4d8f8097d20b1a69daaddabb7..46a85584e20b104df8f5845bacede73ec191dfcb 100644 (file)
@@ -26,6 +26,7 @@
 /* Device-tree visible constants follow */
 #define ISA_V2_07B      2070
 #define ISA_V3_0B       3000
+#define ISA_V3_1        3100
 
 #define USABLE_PR               (1U << 0)
 #define USABLE_OS               (1U << 1)
@@ -662,6 +663,11 @@ static void __init cpufeatures_setup_start(u32 isa)
                cur_cpu_spec->cpu_features |= CPU_FTR_ARCH_300;
                cur_cpu_spec->cpu_user_features2 |= PPC_FEATURE2_ARCH_3_00;
        }
+
+       if (isa >= 3100) {
+               cur_cpu_spec->cpu_features |= CPU_FTR_ARCH_31;
+               cur_cpu_spec->cpu_user_features2 |= PPC_FEATURE2_ARCH_3_1;
+       }
 }
 
 static bool __init cpufeatures_process_feature(struct dt_cpu_feature *f)