time.c (1136fa0c07de570dc17858745af8be169d1440ba) | time.c (cc15ff3275694fedc33cd3d53212a43eec7aa0bc) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Common time routines among all ppc machines. 4 * 5 * Written by Cort Dougan (cort@cs.nmt.edu) to merge 6 * Paul Mackerras' version and mine for PReP and Pmac. 7 * MPC8xx/MBX changes by Dan Malek (dmalek@jlc.net). 8 * Converted for 64-bit by Mike Corrigan (mikejc@us.ibm.com) --- 56 unchanged lines hidden (view full) --- 65#include <asm/time.h> 66#include <asm/prom.h> 67#include <asm/irq.h> 68#include <asm/div64.h> 69#include <asm/smp.h> 70#include <asm/vdso_datapage.h> 71#include <asm/firmware.h> 72#include <asm/asm-prototypes.h> | 1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Common time routines among all ppc machines. 4 * 5 * Written by Cort Dougan (cort@cs.nmt.edu) to merge 6 * Paul Mackerras' version and mine for PReP and Pmac. 7 * MPC8xx/MBX changes by Dan Malek (dmalek@jlc.net). 8 * Converted for 64-bit by Mike Corrigan (mikejc@us.ibm.com) --- 56 unchanged lines hidden (view full) --- 65#include <asm/time.h> 66#include <asm/prom.h> 67#include <asm/irq.h> 68#include <asm/div64.h> 69#include <asm/smp.h> 70#include <asm/vdso_datapage.h> 71#include <asm/firmware.h> 72#include <asm/asm-prototypes.h> |
73#include <asm/mce.h> |
|
73 74/* powerpc clocksource/clockevent code */ 75 76#include <linux/clockchips.h> 77#include <linux/timekeeper_internal.h> 78 79static u64 timebase_read(struct clocksource *); 80static struct clocksource clocksource_timebase = { --- 552 unchanged lines hidden (view full) --- 633#endif 634 635 old_regs = set_irq_regs(regs); 636 637 trace_timer_interrupt_entry(regs); 638 639 if (test_irq_work_pending()) { 640 clear_irq_work_pending(); | 74 75/* powerpc clocksource/clockevent code */ 76 77#include <linux/clockchips.h> 78#include <linux/timekeeper_internal.h> 79 80static u64 timebase_read(struct clocksource *); 81static struct clocksource clocksource_timebase = { --- 552 unchanged lines hidden (view full) --- 634#endif 635 636 old_regs = set_irq_regs(regs); 637 638 trace_timer_interrupt_entry(regs); 639 640 if (test_irq_work_pending()) { 641 clear_irq_work_pending(); |
642 mce_run_irq_context_handlers(); |
|
641 irq_work_run(); 642 } 643 644 now = get_tb(); 645 if (now >= *next_tb) { 646 *next_tb = ~(u64)0; 647 if (evt->event_handler) 648 evt->event_handler(evt); --- 478 unchanged lines hidden --- | 643 irq_work_run(); 644 } 645 646 now = get_tb(); 647 if (now >= *next_tb) { 648 *next_tb = ~(u64)0; 649 if (evt->event_handler) 650 evt->event_handler(evt); --- 478 unchanged lines hidden --- |