[PATCH 2.6.21-rt2] PowerPC: decrementer clockevent driver
Kumar Gala
galak at kernel.crashing.org
Fri May 18 04:17:07 EST 2007
On May 17, 2007, at 1:07 PM, Sergei Shtylyov wrote:
> Hello.
>
> Kumar Gala wrote:
>
>>> Index: linux-2.6/arch/powerpc/kernel/time.c
>>> ===================================================================
>>> --- linux-2.6.orig/arch/powerpc/kernel/time.c
>>> +++ linux-2.6/arch/powerpc/kernel/time.c
> [...]
>>> @@ -128,6 +129,83 @@ unsigned long ppc_tb_freq;
>>> static u64 tb_last_jiffy __cacheline_aligned_in_smp;
>>> static DEFINE_PER_CPU(u64, last_jiffy);
>>>
>>> +#ifdef CONFIG_GENERIC_CLOCKEVENTS
>>> +
>>> +#if defined(CONFIG_40x) || defined(CONFIG_BOOKE)
>>> +#define DECREMENTER_MAX 0xffffffff
>>> +#else
>>> +#define DECREMENTER_MAX 0x7fffffff /* setting MSB triggers an
>>> interrupt */
>>> +#endif
>>> +
>>> +static int decrementer_set_next_event(unsigned long evt,
>>> + struct clock_event_device *dev)
>>> +{
>>> +#if defined(CONFIG_40x)
>>> + mtspr(SPRN_PIT, evt); /* 40x has a hidden PIT auto-
>>> reload register */
>>> +#elif defined(CONFIG_BOOKE)
>>> + mtspr(SPRN_DECAR, evt); /* Book E has separate auto-reload
>>> register */
>>> + set_dec(evt);
>
>> what's the point of setting decar if you're just going to set_dec
>> as well?
>
> Bothered to read the Book E specs? ;-)
I have :)
> Loading DECAR doesn't auto-reload DEC. What I want is both set
> the auto-reload value and start counting down from it at the same
> time (if the decrementer is in auto-reload mode).
I see you're using DECAR to make it periodic.
> [big cut-off]
>
> WBR, Sergei
I haven't looked at all the new clock/timer code, is there any
utility in having support for more than one clock source?
- k
More information about the Linuxppc-dev
mailing list