[PATCH 2.6.21-rt2] PowerPC: decrementer clockevent driver
Sergei Shtylyov
sshtylyov at ru.mvista.com
Fri May 18 04:07:59 EST 2007
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? ;-)
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).
[big cut-off]
WBR, Sergei
More information about the Linuxppc-dev
mailing list