diff options
author | Luka Perkov <luka@openwrt.org> | 2014-02-11 02:07:44 +0000 |
---|---|---|
committer | Luka Perkov <luka@openwrt.org> | 2014-02-11 02:07:44 +0000 |
commit | c9ae111a20be4c9555128cced8edded660d133df (patch) | |
tree | fd4809b562d454394cbb9ec517bf3f1ef2d5b6f2 /target/linux/mvebu/patches-3.10/0171-clocksource-armada-370-xp-Register-sched_clock-after.patch | |
parent | 3af779eb172b0438f77e8a01a97dd0eb9a146076 (diff) | |
download | upstream-c9ae111a20be4c9555128cced8edded660d133df.tar.gz upstream-c9ae111a20be4c9555128cced8edded660d133df.tar.bz2 upstream-c9ae111a20be4c9555128cced8edded660d133df.zip |
mvebu: backport mainline patches from kernel 3.13
This is a backport of the patches accepted to the Linux mainline related to
mvebu SoC (Armada XP and Armada 370) between Linux v3.12, and Linux v3.13.
This work mainly covers:
* Finishes work for sharing the pxa nand driver(drivers/mtd/nand/pxa3xx_nand.c)
between the PXA family, and the Armada family.
* timer initialization update, and access function for the Armada family.
* Generic IRQ handling backporting.
* Some bug fixes.
Signed-off-by: Seif Mazareeb <seif.mazareeb@gmail.com>
CC: Luka Perkov <luka@openwrt.org>
SVN-Revision: 39566
Diffstat (limited to 'target/linux/mvebu/patches-3.10/0171-clocksource-armada-370-xp-Register-sched_clock-after.patch')
-rw-r--r-- | target/linux/mvebu/patches-3.10/0171-clocksource-armada-370-xp-Register-sched_clock-after.patch | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/target/linux/mvebu/patches-3.10/0171-clocksource-armada-370-xp-Register-sched_clock-after.patch b/target/linux/mvebu/patches-3.10/0171-clocksource-armada-370-xp-Register-sched_clock-after.patch new file mode 100644 index 0000000000..c5b4dcef77 --- /dev/null +++ b/target/linux/mvebu/patches-3.10/0171-clocksource-armada-370-xp-Register-sched_clock-after.patch @@ -0,0 +1,65 @@ +From 3d7976bb4a0f34203456cc0e9054b4a6401c9fdb Mon Sep 17 00:00:00 2001 +From: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> +Date: Tue, 26 Nov 2013 18:20:14 -0300 +Subject: [PATCH 171/203] clocksource: armada-370-xp: Register sched_clock + after the counter reset + +This commit registers the sched_clock _after_ the counter reset +(instead of before). This removes the timestamp 'jump' in kernel +log messages. + +Before this change: + +[ 0.000000] sched_clock: 32 bits at 25MHz, resolution 40ns, wraps every 171798691800ns +[ 0.000000] Initializing Coherency fabric +[ 0.000000] Aurora cache controller enabled +[ 0.000000] l2x0: 16 ways, CACHE_ID 0x00000100, AUX_CTRL 0x1a696b12, Cache size: 1024 kB +[ 163.507447] Calibrating delay loop... 1325.05 BogoMIPS (lpj=662528) +[ 163.521419] pid_max: default: 32768 minimum: 301 +[ 163.526185] Mount-cache hash table entries: 512 +[ 163.531095] CPU: Testing write buffer coherency: ok + +After this change: + +[ 0.000000] sched_clock: 32 bits at 25MHz, resolution 40ns, wraps every 171798691800ns +[ 0.000000] Initializing Coherency fabric +[ 0.000000] Aurora cache controller enabled +[ 0.000000] l2x0: 16 ways, CACHE_ID 0x00000100, AUX_CTRL 0x1a696b12, Cache size: 1024 kB +[ 0.016849] Calibrating delay loop... 1325.05 BogoMIPS (lpj=662528) +[ 0.030820] pid_max: default: 32768 minimum: 301 +[ 0.035588] Mount-cache hash table entries: 512 +[ 0.040500] CPU: Testing write buffer coherency: ok + +Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> +Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> +Acked-by: Jason Cooper <jason@lakedaemon.net> +--- + drivers/clocksource/time-armada-370-xp.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +--- a/drivers/clocksource/time-armada-370-xp.c ++++ b/drivers/clocksource/time-armada-370-xp.c +@@ -250,11 +250,6 @@ static void __init armada_370_xp_timer_c + ticks_per_jiffy = (timer_clk + HZ / 2) / HZ; + + /* +- * Set scale and timer for sched_clock. +- */ +- setup_sched_clock(armada_370_xp_read_sched_clock, 32, timer_clk); +- +- /* + * Setup free-running clocksource timer (interrupts + * disabled). + */ +@@ -264,6 +259,11 @@ static void __init armada_370_xp_timer_c + timer_ctrl_clrset(0, TIMER0_EN | TIMER0_RELOAD_EN | + TIMER0_DIV(TIMER_DIVIDER_SHIFT)); + ++ /* ++ * Set scale and timer for sched_clock. ++ */ ++ setup_sched_clock(armada_370_xp_read_sched_clock, 32, timer_clk); ++ + clocksource_mmio_init(timer_base + TIMER0_VAL_OFF, + "armada_370_xp_clocksource", + timer_clk, 300, 32, clocksource_mmio_readl_down); |