2008-07-18 12:55:51 +08:00
|
|
|
/* timer.h: System timer definitions for sun5.
|
|
|
|
*
|
|
|
|
* Copyright (C) 1997, 2008 David S. Miller (davem@davemloft.net)
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _SPARC64_TIMER_H
|
|
|
|
#define _SPARC64_TIMER_H
|
|
|
|
|
|
|
|
#include <linux/types.h>
|
|
|
|
#include <linux/init.h>
|
|
|
|
|
2017-06-13 04:41:44 +08:00
|
|
|
/* The most frequently accessed fields should be first,
|
|
|
|
* to fit into the same cacheline.
|
|
|
|
*/
|
2008-07-18 12:55:51 +08:00
|
|
|
struct sparc64_tick_ops {
|
2017-06-13 04:41:44 +08:00
|
|
|
unsigned long ticks_per_nsec_quotient;
|
|
|
|
unsigned long offset;
|
2009-01-07 05:19:28 +08:00
|
|
|
unsigned long long (*get_tick)(void);
|
2008-07-18 12:55:51 +08:00
|
|
|
int (*add_compare)(unsigned long);
|
|
|
|
unsigned long softint_mask;
|
|
|
|
void (*disable_irq)(void);
|
|
|
|
|
|
|
|
void (*init_tick)(void);
|
|
|
|
unsigned long (*add_tick)(unsigned long);
|
2017-06-13 04:41:45 +08:00
|
|
|
unsigned long (*get_frequency)(void);
|
|
|
|
unsigned long frequency;
|
2008-07-18 12:55:51 +08:00
|
|
|
|
|
|
|
char *name;
|
|
|
|
};
|
|
|
|
|
|
|
|
extern struct sparc64_tick_ops *tick_ops;
|
|
|
|
|
2014-05-17 05:25:50 +08:00
|
|
|
unsigned long sparc64_get_clock_tick(unsigned int cpu);
|
|
|
|
void setup_sparc64_timer(void);
|
|
|
|
void __init time_init(void);
|
2008-07-18 12:55:51 +08:00
|
|
|
|
|
|
|
#endif /* _SPARC64_TIMER_H */
|