Title: [9122] trunk/arch/blackfin/kernel/setup.c: [#6190] bf561 smp: fix sleep mode can not wake up by uart
Revision
9122
Author
steven.miao
Date
2010-09-03 06:04:58 -0400 (Fri, 03 Sep 2010)

Log Message

[#6190] bf561 smp: fix sleep mode can not wake up by uart

Add offset to avoid .l1.text section relocation overwrite coreb start 
entry. After coreb wakeup by IPI, it will execute coreb_trampoline_start 
entry at coreb l1 code area, but l1 iflush patch for ANOMALY_05000491
overwrite the coreb_trampoline_start code area, so wakeup fail.

Modified Paths

Diff

Modified: trunk/arch/blackfin/kernel/setup.c (9121 => 9122)


--- trunk/arch/blackfin/kernel/setup.c	2010-09-02 11:00:06 UTC (rev 9121)
+++ trunk/arch/blackfin/kernel/setup.c	2010-09-03 10:04:58 UTC (rev 9122)
@@ -232,7 +232,7 @@
 
 	/* if necessary, copy L1 text to L1 instruction SRAM */
 	if (L1_CODE_LENGTH && text_l1_len)
-		early_dma_memcpy((void *)COREB_L1_CODE_START, _text_l1_lma,
+		early_dma_memcpy((void *)COREB_L1_CODE_START + 0x200, _text_l1_lma,
 				text_l1_len);
 
 	/* if necessary, copy L1 data to L1 data bank A SRAM */
@@ -247,7 +247,7 @@
 
 #if ANOMALY_05000491
 	blackfin_iflush_l1_entry[1] = (unsigned long)blackfin_icache_flush_range_l1 -
-			(unsigned long)_stext_l1 + COREB_L1_CODE_START;
+			(unsigned long)_stext_l1 + COREB_L1_CODE_START + 0x200;
 #endif
 }
 #endif
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to