powerpc/mm/hash64: Don't test for machine type to detect HEA special case
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 5 Jul 2016 05:03:56 +0000 (15:03 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 21 Jul 2016 08:58:25 +0000 (18:58 +1000)
Instead, check for FW_FEATURE_SPLPAR. This should be roughtly equivalent
as all pseries machiens that can have an HEA also support SPLPAR and
no other machine type does.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/mm/hash_utils_64.c

index a9472ea269b84c318eaa62032707abf1899573d4..eab3074a6a3761695ddb7efe9079be5878936182 100644 (file)
@@ -527,7 +527,8 @@ static bool might_have_hea(void)
         * we will never see an HEA ethernet device.
         */
 #ifdef CONFIG_IBMEBUS
-       return !cpu_has_feature(CPU_FTR_ARCH_207S);
+       return !cpu_has_feature(CPU_FTR_ARCH_207S) &&
+               !firmware_has_feature(FW_FEATURE_SPLPAR);
 #else
        return false;
 #endif
@@ -593,7 +594,7 @@ found:
                         * would stop us accessing the HEA ethernet. So if we
                         * have the chance of ever seeing one, stay at 4k.
                         */
-                       if (!might_have_hea() || !machine_is(pseries))
+                       if (!might_have_hea())
                                mmu_io_psize = MMU_PAGE_64K;
                } else
                        mmu_ci_restrictions = 1;