All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ARM: EXYNOS4: Fix secondary CPU boot after wake-up
@ 2011-05-30  9:13 ` Inderpal Singh
  0 siblings, 0 replies; 10+ messages in thread
From: Inderpal Singh @ 2011-05-30  9:13 UTC (permalink / raw)
  To: linux-samsung-soc, linux-arm-kernel
  Cc: kgene.kim, samsung, patches, Inderpal Singh

1. After wake-up, the system-wide flags register loses its value.
   Hence, write the address of secondary startup function to
   successfully boot the secondary CPU.

2. Fix to remove the "Unknown IPI message 0x1" message when
   secondary CPU boots.

Signed-off-by: Inderpal Singh <inderpal.s@samsung.com>
---
 arch/arm/mach-exynos4/platsmp.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-exynos4/platsmp.c b/arch/arm/mach-exynos4/platsmp.c
index 6d35878..11234c7 100644
--- a/arch/arm/mach-exynos4/platsmp.c
+++ b/arch/arm/mach-exynos4/platsmp.c
@@ -100,11 +100,17 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
 	write_pen_release(cpu);
 
 	/*
+	 * After wake-up, the system-wide flags register loses its value.
+	 * Hence, write the address of secondary startup function again.
+	 */ 
+	 __raw_writel(BSYM(virt_to_phys(exynos4_secondary_startup)), S5P_VA_SYSRAM);
+
+	/*
 	 * Send the secondary CPU a soft interrupt, thereby causing
 	 * the boot monitor to read the system wide flags register,
 	 * and branch to the address found there.
 	 */
-	smp_cross_call(cpumask_of(cpu), 1);
+	smp_send_reschedule(cpu);
 
 	timeout = jiffies + (1 * HZ);
 	while (time_before(jiffies, timeout)) {
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [PATCH] ARM: EXYNOS4: Fix secondary CPU boot after wake-up
@ 2011-06-21  5:33 ` Inderpal Singh
  0 siblings, 0 replies; 10+ messages in thread
From: Inderpal Singh @ 2011-06-21  5:33 UTC (permalink / raw)
  To: linux-samsung-soc, linux-arm-kernel
  Cc: kgene.kim, inderpal.s, samsung, Inderpal Singh

1. After wake-up, the system-wide flags register loses its value.
   Hence, write the address of secondary startup function to
   successfully boot the secondary CPU.

2. Changes SGI1 to SGI0 for secondary CPU boot up

Signed-off-by: Inderpal Singh <inderpal.s@samsung.com>
---
1. The below patch is mandatory to boot secondary CPU after wake-up from sleep
http://permalink.gmane.org/gmane.linux.kernel.samsung-soc/4850

2. The change SGI1 to SGI0 for secondary CPU boot up is done as discussed 
at following link
http://comments.gmane.org/gmane.linux.kernel.samsung-soc/4877

 arch/arm/mach-exynos4/platsmp.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-exynos4/platsmp.c b/arch/arm/mach-exynos4/platsmp.c
index c5e65a0..061260c 100644
--- a/arch/arm/mach-exynos4/platsmp.c
+++ b/arch/arm/mach-exynos4/platsmp.c
@@ -101,11 +101,18 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
 	write_pen_release(cpu);
 
 	/*
+	* After wake-up, the system-wide flags register loses its value.
+	* Hence, write the address of secondary startup function again.
+	*/ 
+	__raw_writel(BSYM(virt_to_phys(exynos4_secondary_startup)), S5P_VA_SYSRAM);
+
+
+	/*
 	 * Send the secondary CPU a soft interrupt, thereby causing
 	 * the boot monitor to read the system wide flags register,
 	 * and branch to the address found there.
 	 */
-	gic_raise_softirq(cpumask_of(cpu), 1);
+	gic_raise_softirq(cpumask_of(cpu), 0);
 
 	timeout = jiffies + (1 * HZ);
 	while (time_before(jiffies, timeout)) {
-- 
1.7.1

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

end of thread, other threads:[~2011-06-21  5:33 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-30  9:13 [PATCH] ARM: EXYNOS4: Fix secondary CPU boot after wake-up Inderpal Singh
2011-05-30  9:13 ` Inderpal Singh
2011-05-30  9:38 ` Santosh Shilimkar
2011-05-30  9:38   ` Santosh Shilimkar
2011-05-30 21:54   ` Russell King - ARM Linux
2011-05-30 21:54     ` Russell King - ARM Linux
2011-05-31  5:00     ` Santosh Shilimkar
2011-05-31  5:00       ` Santosh Shilimkar
  -- strict thread matches above, loose matches on Subject: below --
2011-06-21  5:33 Inderpal Singh
2011-06-21  5:33 ` Inderpal Singh

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.