summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/linux/linux-rp-2.6.24/pxa27x-resume.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-kernel/linux/linux-rp-2.6.24/pxa27x-resume.patch')
-rw-r--r--meta/recipes-kernel/linux/linux-rp-2.6.24/pxa27x-resume.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux/linux-rp-2.6.24/pxa27x-resume.patch b/meta/recipes-kernel/linux/linux-rp-2.6.24/pxa27x-resume.patch
new file mode 100644
index 0000000000..6447a0b104
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-rp-2.6.24/pxa27x-resume.patch
@@ -0,0 +1,41 @@
1List: linux-arm-kernel
2Subject: [PATCH] Fix PXA27x resume
3From: Russell King - ARM Linux <linux@arm.linux.org.uk>
4Date: 2008-01-21 13:53:31
5Message-ID: 20080121135331.GC30149@flint.arm.linux.org.uk
6[Download message RAW]
7
8When PXA27x wakes up, tick_resume_oneshot() tries to set a timer
9interrupt to occur immediately. Since PXA27x requires at least
10MIN_OSCR_DELTA, this causes us to flag an error.
11
12tick_program_event() then increments the next event time by
13min_delta_ns. However, by the time we get back to programming
14the next event, the OSCR has incremented such that we fail again.
15We repeatedly retry, but the OSCR is too fast for us - we never
16catch up, so we never break out of the loop - resulting in us
17never apparantly resuming.
18
19Fix this by doubling min_delta_ns.
20
21Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
22
23diff --git a/arch/arm/mach-pxa/time.c b/arch/arm/mach-pxa/time.c
24index ac0bbad..7b7c017 100644
25--- a/arch/arm/mach-pxa/time.c
26+++ b/arch/arm/mach-pxa/time.c
27@@ -169,7 +169,7 @@ static void __init pxa_timer_init(void)
28 ckevt_pxa_osmr0.max_delta_ns =
29 clockevent_delta2ns(0x7fffffff, &ckevt_pxa_osmr0);
30 ckevt_pxa_osmr0.min_delta_ns =
31- clockevent_delta2ns(MIN_OSCR_DELTA, &ckevt_pxa_osmr0) + 1;
32+ clockevent_delta2ns(MIN_OSCR_DELTA * 2, &ckevt_pxa_osmr0) + 1;
33
34 cksrc_pxa_oscr0.mult =
35 clocksource_hz2mult(clock_tick_rate, cksrc_pxa_oscr0.shift);
36
37-------------------------------------------------------------------
38List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
39FAQ: http://www.arm.linux.org.uk/mailinglists/faq.php
40Etiquette: http://www.arm.linux.org.uk/mailinglists/etiquette.php
41