Module Name:    src
Committed By:   skrll
Date:           Tue Apr  9 07:37:16 UTC 2019

Modified Files:
        src/sys/arch/arm/samsung: exynos_platform.c

Log Message:
EXYNOS5422_DISABLE_CA7_CLUSTER isn't required anymore


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 src/sys/arch/arm/samsung/exynos_platform.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/samsung/exynos_platform.c
diff -u src/sys/arch/arm/samsung/exynos_platform.c:1.25 src/sys/arch/arm/samsung/exynos_platform.c:1.26
--- src/sys/arch/arm/samsung/exynos_platform.c:1.25	Thu Jan 31 13:06:10 2019
+++ src/sys/arch/arm/samsung/exynos_platform.c	Tue Apr  9 07:37:16 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: exynos_platform.c,v 1.25 2019/01/31 13:06:10 skrll Exp $ */
+/* $NetBSD: exynos_platform.c,v 1.26 2019/04/09 07:37:16 skrll Exp $ */
 
 /*-
  * Copyright (c) 2017 Jared D. McNeill <jmcne...@invisible.ca>
@@ -35,12 +35,7 @@
 #include "ukbd.h"
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: exynos_platform.c,v 1.25 2019/01/31 13:06:10 skrll Exp $");
-
-/* XXXJDM
- * Booting a CA7 core on Exynos5422 is currently broken, disable starting CA7 secondaries.
- */
-#define	EXYNOS5422_DISABLE_CA7_CLUSTER
+__KERNEL_RCSID(0, "$NetBSD: exynos_platform.c,v 1.26 2019/04/09 07:37:16 skrll Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -148,11 +143,6 @@ exynos5800_mpstart(void)
 		const u_int aff0 = __SHIFTOUT(mpidr, MPIDR_AFF0);
 		const u_int cpu = cluster * 4 + aff0;
 
-#if defined(EXYNOS5422_DISABLE_CA7_CLUSTER)
-		if (cluster == 1)
-			continue;
-#endif
-
 		val = bus_space_read_4(bst, pmu_bsh, EXYNOS5800_PMU_CORE_STATUS(cpu));
 		bus_space_write_4(bst, pmu_bsh, EXYNOS5800_PMU_CORE_CONFIG(cpu),
 		    EXYNOS5800_PMU_CORE_POWER_EN);
@@ -337,27 +327,6 @@ exynos5_platform_bootstrap(void)
 
 	exynos_bootstrap(5);
 
-#if defined(MULTIPROCESSOR) && defined(EXYNOS5422_DISABLE_CA7_CLUSTER)
-	const struct of_compat_data *cd = of_search_compatible(OF_finddevice("/"), mp_compat_data);
-	if (cd && cd->data == (uintptr_t)exynos5800_mpstart) {
-		void *fdt_data = __UNCONST(fdtbus_get_data());
-		int cpu_off, cpus_off, len;
-
-		cpus_off = fdt_path_offset(fdt_data, "/cpus");
-		if (cpus_off < 0)
-			return;
-
-		fdt_for_each_subnode(cpu_off, fdt_data, cpus_off) {
-			const void *prop = fdt_getprop(fdt_data, cpu_off, "reg", &len);
-			if (len != 4)
-				continue;
-			const uint32_t mpidr = be32dec(prop);
-			if (mpidr != cpu_mpidr_aff_read() && __SHIFTOUT(mpidr, MPIDR_AFF1) == 1)
-				fdt_setprop_string(fdt_data, cpu_off, "status", "fail");
-		}
-	}
-#endif
-
 	arm_fdt_cpu_bootstrap();
 }
 

Reply via email to