All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] mpx85xx/fdt: Add cpu-release-addr for all cores
@ 2010-08-18 20:12 Matthew McClintock
  2010-08-19  6:53 ` Kumar Gala
  0 siblings, 1 reply; 4+ messages in thread
From: Matthew McClintock @ 2010-08-18 20:12 UTC (permalink / raw)
  To: u-boot

We currently do not add a cpu-release-addr for core 0, this is needed
when we want to reset core 0 and later restart it from Linux
---
 arch/powerpc/cpu/mpc85xx/fdt.c |   21 ++++++++-------------
 1 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/arch/powerpc/cpu/mpc85xx/fdt.c b/arch/powerpc/cpu/mpc85xx/fdt.c
index 8e7b827..acc70bf 100644
--- a/arch/powerpc/cpu/mpc85xx/fdt.c
+++ b/arch/powerpc/cpu/mpc85xx/fdt.c
@@ -47,25 +47,20 @@ void ft_fixup_cpu(void *blob, u64 memory_limit)
 	int off;
 	ulong spin_tbl_addr = get_spin_phys_addr();
 	u32 bootpg = determine_mp_bootpg();
-	u32 id = get_my_id();
 
 	off = fdt_node_offset_by_prop_value(blob, -1, "device_type", "cpu", 4);
 	while (off != -FDT_ERR_NOTFOUND) {
 		u32 *reg = (u32 *)fdt_getprop(blob, off, "reg", 0);
 
 		if (reg) {
-			if (*reg == id) {
-				fdt_setprop_string(blob, off, "status", "okay");
-			} else {
-				u64 val = *reg * SIZE_BOOT_ENTRY + spin_tbl_addr;
-				val = cpu_to_fdt32(val);
-				fdt_setprop_string(blob, off, "status",
-								"disabled");
-				fdt_setprop_string(blob, off, "enable-method",
-								"spin-table");
-				fdt_setprop(blob, off, "cpu-release-addr",
-						&val, sizeof(val));
-			}
+			u64 val = *reg * SIZE_BOOT_ENTRY + spin_tbl_addr;
+			val = cpu_to_fdt32(val);
+			fdt_setprop_string(blob, off, "status",
+							"disabled");
+			fdt_setprop_string(blob, off, "enable-method",
+							"spin-table");
+			fdt_setprop(blob, off, "cpu-release-addr",
+					&val, sizeof(val));
 		} else {
 			printf ("cpu NULL\n");
 		}
-- 
1.6.6.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [U-Boot] [PATCH] mpx85xx/fdt: Add cpu-release-addr for all cores
  2010-08-18 20:12 [U-Boot] [PATCH] mpx85xx/fdt: Add cpu-release-addr for all cores Matthew McClintock
@ 2010-08-19  6:53 ` Kumar Gala
  2010-08-19 18:57   ` [U-Boot] [PATCH V2] " Matthew McClintock
  0 siblings, 1 reply; 4+ messages in thread
From: Kumar Gala @ 2010-08-19  6:53 UTC (permalink / raw)
  To: u-boot


On Aug 18, 2010, at 3:12 PM, Matthew McClintock wrote:

> We currently do not add a cpu-release-addr for core 0, this is needed
> when we want to reset core 0 and later restart it from Linux
> ---
> arch/powerpc/cpu/mpc85xx/fdt.c |   21 ++++++++-------------
> 1 files changed, 8 insertions(+), 13 deletions(-)
> 
> diff --git a/arch/powerpc/cpu/mpc85xx/fdt.c b/arch/powerpc/cpu/mpc85xx/fdt.c
> index 8e7b827..acc70bf 100644
> --- a/arch/powerpc/cpu/mpc85xx/fdt.c
> +++ b/arch/powerpc/cpu/mpc85xx/fdt.c
> @@ -47,25 +47,20 @@ void ft_fixup_cpu(void *blob, u64 memory_limit)
> 	int off;
> 	ulong spin_tbl_addr = get_spin_phys_addr();
> 	u32 bootpg = determine_mp_bootpg();
> -	u32 id = get_my_id();
> 
> 	off = fdt_node_offset_by_prop_value(blob, -1, "device_type", "cpu", 4);
> 	while (off != -FDT_ERR_NOTFOUND) {
> 		u32 *reg = (u32 *)fdt_getprop(blob, off, "reg", 0);
> 
> 		if (reg) {
> -			if (*reg == id) {
> -				fdt_setprop_string(blob, off, "status", "okay");

Don't we still want "status" = "okay" for boot cpu?

> -			} else {
> -				u64 val = *reg * SIZE_BOOT_ENTRY + spin_tbl_addr;
> -				val = cpu_to_fdt32(val);
> -				fdt_setprop_string(blob, off, "status",
> -								"disabled");
> -				fdt_setprop_string(blob, off, "enable-method",
> -								"spin-table");
> -				fdt_setprop(blob, off, "cpu-release-addr",
> -						&val, sizeof(val));
> -			}
> +			u64 val = *reg * SIZE_BOOT_ENTRY + spin_tbl_addr;
> +			val = cpu_to_fdt32(val);
> +			fdt_setprop_string(blob, off, "status",
> +							"disabled");
> +			fdt_setprop_string(blob, off, "enable-method",
> +							"spin-table");
> +			fdt_setprop(blob, off, "cpu-release-addr",
> +					&val, sizeof(val));
> 		} else {
> 			printf ("cpu NULL\n");
> 		}
> -- 
> 1.6.6.1
> 
> 
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [U-Boot] [PATCH V2] mpx85xx/fdt: Add cpu-release-addr for all cores
  2010-08-19  6:53 ` Kumar Gala
@ 2010-08-19 18:57   ` Matthew McClintock
  2010-08-20  2:27     ` Kumar Gala
  0 siblings, 1 reply; 4+ messages in thread
From: Matthew McClintock @ 2010-08-19 18:57 UTC (permalink / raw)
  To: u-boot

We currently do not add a cpu-release-addr for core 0, this is needed
when we want to reset core 0 and later restart it from Linux

Signed-off-by: Matthew McClintock <msm@freescale.com>
---
v2: Mark boot cpu status as "okay"

 arch/powerpc/cpu/mpc85xx/fdt.c |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/arch/powerpc/cpu/mpc85xx/fdt.c b/arch/powerpc/cpu/mpc85xx/fdt.c
index 8e7b827..4540364 100644
--- a/arch/powerpc/cpu/mpc85xx/fdt.c
+++ b/arch/powerpc/cpu/mpc85xx/fdt.c
@@ -54,18 +54,19 @@ void ft_fixup_cpu(void *blob, u64 memory_limit)
 		u32 *reg = (u32 *)fdt_getprop(blob, off, "reg", 0);
 
 		if (reg) {
+			u64 val = *reg * SIZE_BOOT_ENTRY + spin_tbl_addr;
+			val = cpu_to_fdt32(val);
 			if (*reg == id) {
-				fdt_setprop_string(blob, off, "status", "okay");
+				fdt_setprop_string(blob, off, "status",
+								"okay");
 			} else {
-				u64 val = *reg * SIZE_BOOT_ENTRY + spin_tbl_addr;
-				val = cpu_to_fdt32(val);
 				fdt_setprop_string(blob, off, "status",
 								"disabled");
-				fdt_setprop_string(blob, off, "enable-method",
-								"spin-table");
-				fdt_setprop(blob, off, "cpu-release-addr",
-						&val, sizeof(val));
 			}
+			fdt_setprop_string(blob, off, "enable-method",
+							"spin-table");
+			fdt_setprop(blob, off, "cpu-release-addr",
+					&val, sizeof(val));
 		} else {
 			printf ("cpu NULL\n");
 		}
-- 
1.6.6.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [U-Boot] [PATCH V2] mpx85xx/fdt: Add cpu-release-addr for all cores
  2010-08-19 18:57   ` [U-Boot] [PATCH V2] " Matthew McClintock
@ 2010-08-20  2:27     ` Kumar Gala
  0 siblings, 0 replies; 4+ messages in thread
From: Kumar Gala @ 2010-08-20  2:27 UTC (permalink / raw)
  To: u-boot


On Aug 19, 2010, at 1:57 PM, Matthew McClintock wrote:

> We currently do not add a cpu-release-addr for core 0, this is needed
> when we want to reset core 0 and later restart it from Linux
> 
> Signed-off-by: Matthew McClintock <msm@freescale.com>
> ---
> v2: Mark boot cpu status as "okay"
> 
> arch/powerpc/cpu/mpc85xx/fdt.c |   15 ++++++++-------
> 1 files changed, 8 insertions(+), 7 deletions(-)

applied to 85xx

- k

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-08-20  2:27 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-08-18 20:12 [U-Boot] [PATCH] mpx85xx/fdt: Add cpu-release-addr for all cores Matthew McClintock
2010-08-19  6:53 ` Kumar Gala
2010-08-19 18:57   ` [U-Boot] [PATCH V2] " Matthew McClintock
2010-08-20  2:27     ` Kumar Gala

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.