Browse Source

brcm63xx: sync mips counters during bringup of cpus

Fixes gettimeofday returning different values depending on which cpu
it is called.

Signed-off-by: Jonas Gorski <[email protected]>

SVN-Revision: 40387
Jonas Gorski 12 years ago
parent
commit
663083d930

+ 1 - 0
target/linux/brcm63xx/config-3.10

@@ -172,6 +172,7 @@ CONFIG_SSB_PCIHOST_POSSIBLE=y
 CONFIG_SSB_SPROM=y
 CONFIG_SWAP_IO_SPACE=y
 CONFIG_SWCONFIG=y
+CONFIG_SYNC_R4K=y
 CONFIG_SYS_HAS_CPU_BMIPS=y
 CONFIG_SYS_HAS_CPU_BMIPS32_3300=y
 CONFIG_SYS_HAS_CPU_BMIPS4350=y

+ 1 - 0
target/linux/brcm63xx/config-3.14

@@ -181,6 +181,7 @@ CONFIG_SSB_PCIHOST_POSSIBLE=y
 CONFIG_SSB_SPROM=y
 CONFIG_SWAP_IO_SPACE=y
 CONFIG_SWCONFIG=y
+CONFIG_SYNC_R4K=y
 CONFIG_SYS_HAS_CPU_BMIPS=y
 CONFIG_SYS_HAS_CPU_BMIPS32_3300=y
 CONFIG_SYS_HAS_CPU_BMIPS4350=y

+ 27 - 0
target/linux/brcm63xx/patches-3.10/101-MIPS-BCM63XX-sync-mips-counter-during-cpu-bringup.patch

@@ -0,0 +1,27 @@
+From 23c21090f49a64b532755542a71e9aa3e4fc84d9 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <[email protected]>
+Date: Sat, 5 Apr 2014 20:07:25 +0200
+Subject: [PATCH] MIPS: BCM63XX: sync mips counter during cpu bringup
+
+We are using the mips counters as the clock source, so we need to ensure
+they are synced, else e.g. gettimeofday will return different values
+depending on which core it was run.
+
+Observed difference was about 8 seconds, causing ~8 seconds ping or time
+running backwards for some programs.
+
+Signed-off-by: Jonas Gorski <[email protected]>
+---
+ arch/mips/Kconfig | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/mips/Kconfig
++++ b/arch/mips/Kconfig
+@@ -127,6 +127,7 @@ config BCM63XX
+ 	select BOOT_RAW
+ 	select CEVT_R4K
+ 	select CSRC_R4K
++	select SYNC_R4K
+ 	select DMA_NONCOHERENT
+ 	select IRQ_CPU
+ 	select NR_CPUS_DEFAULT_2

+ 27 - 0
target/linux/brcm63xx/patches-3.14/101-MIPS-BCM63XX-sync-mips-counter-during-cpu-bringup.patch

@@ -0,0 +1,27 @@
+From 23c21090f49a64b532755542a71e9aa3e4fc84d9 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <[email protected]>
+Date: Sat, 5 Apr 2014 20:07:25 +0200
+Subject: [PATCH] MIPS: BCM63XX: sync mips counter during cpu bringup
+
+We are using the mips counters as the clock source, so we need to ensure
+they are synced, else e.g. gettimeofday will return different values
+depending on which core it was run.
+
+Observed difference was about 8 seconds, causing ~8 seconds ping or time
+running backwards for some programs.
+
+Signed-off-by: Jonas Gorski <[email protected]>
+---
+ arch/mips/Kconfig | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/mips/Kconfig
++++ b/arch/mips/Kconfig
+@@ -132,6 +132,7 @@ config BCM63XX
+ 	select BOOT_RAW
+ 	select CEVT_R4K
+ 	select CSRC_R4K
++	select SYNC_R4K
+ 	select DMA_NONCOHERENT
+ 	select IRQ_CPU
+ 	select SYS_SUPPORTS_32BIT_KERNEL