powerpc/time: Remove unnecessary sanity check of decrementer expiration
The clockevents code uses max_delta_ns to avoid calling a clockevent with too large a value. Remove the redundant version of this in the timer_interrupt code. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
11b8633ada
commit
68568add2c
@ -572,7 +572,6 @@ void timer_interrupt(struct pt_regs * regs)
|
|||||||
struct pt_regs *old_regs;
|
struct pt_regs *old_regs;
|
||||||
struct decrementer_clock *decrementer = &__get_cpu_var(decrementers);
|
struct decrementer_clock *decrementer = &__get_cpu_var(decrementers);
|
||||||
struct clock_event_device *evt = &decrementer->event;
|
struct clock_event_device *evt = &decrementer->event;
|
||||||
u64 now;
|
|
||||||
|
|
||||||
/* Ensure a positive value is written to the decrementer, or else
|
/* Ensure a positive value is written to the decrementer, or else
|
||||||
* some CPUs will continue to take decrementer exceptions.
|
* some CPUs will continue to take decrementer exceptions.
|
||||||
@ -607,16 +606,9 @@ void timer_interrupt(struct pt_regs * regs)
|
|||||||
get_lppaca()->int_dword.fields.decr_int = 0;
|
get_lppaca()->int_dword.fields.decr_int = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
now = get_tb_or_rtc();
|
decrementer->next_tb = ~(u64)0;
|
||||||
if (now >= decrementer->next_tb) {
|
if (evt->event_handler)
|
||||||
decrementer->next_tb = ~(u64)0;
|
evt->event_handler(evt);
|
||||||
if (evt->event_handler)
|
|
||||||
evt->event_handler(evt);
|
|
||||||
} else {
|
|
||||||
now = decrementer->next_tb - now;
|
|
||||||
if (now <= DECREMENTER_MAX)
|
|
||||||
set_dec((int)now);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef CONFIG_PPC_ISERIES
|
#ifdef CONFIG_PPC_ISERIES
|
||||||
if (firmware_has_feature(FW_FEATURE_ISERIES) && hvlpevent_is_pending())
|
if (firmware_has_feature(FW_FEATURE_ISERIES) && hvlpevent_is_pending())
|
||||||
|
Loading…
Reference in New Issue
Block a user