lkml.org 
[lkml]   [2012]   [Jan]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] cs5535-clockevt: don't ignore MFGPT on SMP-capable kernels
On Wed, 21 Dec 2011 16:42:20 +0100
Jens Rottmann <JRottmann@LiPPERTEmbedded.de> wrote:

> cs5535-clockevt: don't ignore MFGPT on SMP-capable kernels
>
> On SMP-capable kernels (e.g. generic distro kernel) the
> cs5535-clockevt driver loads but is not actually used.
>
> Setting cpumask to cpu_all_mask works for UP-only kernels, but if
> compiled for SMP - though still running on the same UP hardware -
> kernel/time/tick-common.c:tick_check_new_device() reads this as
> "non-cpu-local" and silently ignores the device.
>
> If we leave cpumask unset clockevents_register_device() will
> initialize it and the cs5535-clockevt driver will be used no matter
> how the kernel was compiled. Should anyone ever manage to stick a
> CS553x in an SMP system (is this even possible?) then a warning will
> be printed. This is fine as the cs5535-clockevt driver was never
> written/tested for SMP.
>
> If bisecting led you here this patch may have exposed a pre-existing
> MFGPT problem. Configure for UP-only and re-check.
>
> Signed-off-by: Jens Rottmann <JRottmann@LiPPERTEmbedded.de>
> ---
>
> --- linux-3.2-rc6/drivers/clocksource/cs5535-clockevt.c
> +++ use_mfgpt_on_smp_kernels/drivers/clocksource/cs5535-clockevt.c
> @@ -100,7 +100,6 @@ static struct clock_event_device cs5535_
> .set_mode = mfgpt_set_mode,
> .set_next_event = mfgpt_next_event,
> .rating = 250,
> - .cpumask = cpu_all_mask,
> .shift = 32
> };
>
> _
>

Hm, have you tried setting cpumask to cpumask_of(0), like a bunch of
the other clock_event_device drivers do?



\
 
 \ /
  Last update: 2012-01-11 12:15    [W:0.099 / U:0.140 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site