diff for duplicates of <509C3619.30701@meduna.org> diff --git a/a/1.txt b/N1/1.txt index f00f5d6..c53cc45 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -7,3 +7,60 @@ ones. Thanks -- Stano + +-------------- next part -------------- +>From 74092cc0217a5bab6f80ee07aa188a54f5792634 Mon Sep 17 00:00:00 2001 +From: Stanislav Meduna <stano@meduna.org> +Date: Mon, 8 Nov 2012 23:39:14 +0100 +Subject: [PATCH] ARM: mxs: Setup scheduler clock + +Setup scheduler clock on ARM MXS platforms with a 32-bit timrot +such as MX.28. This allows the scheduler to use sub-jiffy resolution. + +The corresponding change for 16-bit v1 timrots is not possible +at the moment due to rounding issues with clock values wrapping +faster than once per several seconds in the common ARM platform code. + +Signed-off-by: Stanislav Meduna <stano@meduna.org> +--- + arch/arm/mach-mxs/timer.c | 10 +++++++++- + 1 files changed, 9 insertions(+), 1 deletions(-) + +diff --git a/arch/arm/mach-mxs/timer.c b/arch/arm/mach-mxs/timer.c +index 564a632..4b6e36c 100644 +--- a/arch/arm/mach-mxs/timer.c ++++ b/arch/arm/mach-mxs/timer.c +@@ -26,6 +26,7 @@ + #include <linux/clk.h> + + #include <asm/mach/time.h> ++#include <asm/sched_clock.h> + #include <mach/mxs.h> + #include <mach/common.h> + +@@ -230,15 +231,22 @@ static struct clocksource clocksource_mxs = { + .flags = CLOCK_SOURCE_IS_CONTINUOUS, + }; + ++static u32 notrace mxs_read_sched_clock_v2(void) ++{ ++ return ~readl_relaxed(mxs_timrot_base + HW_TIMROT_RUNNING_COUNTn(1)); ++} ++ + static int __init mxs_clocksource_init(struct clk *timer_clk) + { + unsigned int c = clk_get_rate(timer_clk); + + if (timrot_is_v1()) + clocksource_register_hz(&clocksource_mxs, c); +- else ++ else { + clocksource_mmio_init(mxs_timrot_base + HW_TIMROT_RUNNING_COUNTn(1), + "mxs_timer", c, 200, 32, clocksource_mmio_readl_down); ++ setup_sched_clock(mxs_read_sched_clock_v2, 32, c); ++ } + + return 0; + } +-- +1.7.0.4 diff --git a/a/2.hdr b/a/2.hdr deleted file mode 100644 index 05ebcb5..0000000 --- a/a/2.hdr +++ /dev/null @@ -1,5 +0,0 @@ -Content-Type: text/plain; charset=windows-1252; - name="0001-ARM-mxs-Setup-scheduler-clock-for-MXS.patch" -Content-Transfer-Encoding: 7bit -Content-Disposition: attachment; - filename="0001-ARM-mxs-Setup-scheduler-clock-for-MXS.patch" diff --git a/a/2.txt b/a/2.txt deleted file mode 100644 index e8c95ee..0000000 --- a/a/2.txt +++ /dev/null @@ -1,55 +0,0 @@ ->From 74092cc0217a5bab6f80ee07aa188a54f5792634 Mon Sep 17 00:00:00 2001 -From: Stanislav Meduna <stano@meduna.org> -Date: Mon, 8 Nov 2012 23:39:14 +0100 -Subject: [PATCH] ARM: mxs: Setup scheduler clock - -Setup scheduler clock on ARM MXS platforms with a 32-bit timrot -such as MX.28. This allows the scheduler to use sub-jiffy resolution. - -The corresponding change for 16-bit v1 timrots is not possible -at the moment due to rounding issues with clock values wrapping -faster than once per several seconds in the common ARM platform code. - -Signed-off-by: Stanislav Meduna <stano@meduna.org> ---- - arch/arm/mach-mxs/timer.c | 10 +++++++++- - 1 files changed, 9 insertions(+), 1 deletions(-) - -diff --git a/arch/arm/mach-mxs/timer.c b/arch/arm/mach-mxs/timer.c -index 564a632..4b6e36c 100644 ---- a/arch/arm/mach-mxs/timer.c -+++ b/arch/arm/mach-mxs/timer.c -@@ -26,6 +26,7 @@ - #include <linux/clk.h> - - #include <asm/mach/time.h> -+#include <asm/sched_clock.h> - #include <mach/mxs.h> - #include <mach/common.h> - -@@ -230,15 +231,22 @@ static struct clocksource clocksource_mxs = { - .flags = CLOCK_SOURCE_IS_CONTINUOUS, - }; - -+static u32 notrace mxs_read_sched_clock_v2(void) -+{ -+ return ~readl_relaxed(mxs_timrot_base + HW_TIMROT_RUNNING_COUNTn(1)); -+} -+ - static int __init mxs_clocksource_init(struct clk *timer_clk) - { - unsigned int c = clk_get_rate(timer_clk); - - if (timrot_is_v1()) - clocksource_register_hz(&clocksource_mxs, c); -- else -+ else { - clocksource_mmio_init(mxs_timrot_base + HW_TIMROT_RUNNING_COUNTn(1), - "mxs_timer", c, 200, 32, clocksource_mmio_readl_down); -+ setup_sched_clock(mxs_read_sched_clock_v2, 32, c); -+ } - - return 0; - } --- -1.7.0.4 diff --git a/a/content_digest b/N1/content_digest index 7b7838f..adb76d4 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -7,13 +7,11 @@ "ref\020121105222859.GI28327@n2100.arm.linux.org.uk\0" "ref\05098CB9F.9030401@meduna.org\0" "ref\020121106134630.GD27643@S2100-06.ap.freescale.net\0" - "From\0Stanislav Meduna <stano@meduna.org>\0" + "From\0stano@meduna.org (Stanislav Meduna)\0" "Subject\0[PATCH] ARM: mxs: Setup scheduler clock\0" "Date\0Thu, 08 Nov 2012 23:45:45 +0100\0" - "To\0Shawn Guo <shawn.guo@linaro.org>\0" - "Cc\0linux-rt-users@vger.kernel.org <linux-rt-users@vger.kernel.org>" - " linux-arm-kernel@lists.infradead.org\0" - "\01:1\0" + "To\0linux-arm-kernel@lists.infradead.org\0" + "\00:1\0" "b\0" "Hi,\n" "\n" @@ -23,10 +21,9 @@ "\n" "Thanks\n" "-- \n" - Stano - "\01:2\0" - "fn\00001-ARM-mxs-Setup-scheduler-clock-for-MXS.patch\0" - "b\0" + " Stano\n" + "\n" + "-------------- next part --------------\n" ">From 74092cc0217a5bab6f80ee07aa188a54f5792634 Mon Sep 17 00:00:00 2001\n" "From: Stanislav Meduna <stano@meduna.org>\n" "Date: Mon, 8 Nov 2012 23:39:14 +0100\n" @@ -83,4 +80,4 @@ "-- \n" 1.7.0.4 -f7e12de88f33b791b4b03b625a9e974ad7f2f497ba147594c9fa3ec43d1544d0 +c202c29a19cdee93a1fa7a8f1365bef412720fd805e7606681e7d2dbf720df6c
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.