summaryrefslogtreecommitdiffstats
path: root/include/asm-ppc/time.h
blob: 05d7915463cb9b29df00e76fa2691d5b6f3a29ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/*
 * $Id: time.h,v 1.12 1999/08/27 04:21:23 cort Exp $
 * Common time prototypes and such for all ppc machines.
 *
 * Written by Cort Dougan (cort@cs.nmt.edu) to merge
 * Paul Mackerras' version and mine for PReP and Pmac.
 */

#include <linux/config.h>
#include <linux/mc146818rtc.h>

#include <asm/processor.h>

/* time.c */
extern unsigned decrementer_count;
extern unsigned count_period_num;
extern unsigned count_period_den;
extern unsigned long mktime(unsigned int, unsigned int, unsigned int,
			    unsigned int, unsigned int, unsigned int);
extern void to_tm(int tim, struct rtc_time * tm);
extern time_t last_rtc_update;

int via_calibrate_decr(void);

/* Accessor functions for the decrementer register. */
static __inline__ unsigned int get_dec(void)
{
#if defined(CONFIG_4xx)
	return (mfspr(SPRN_PIT));
#else
	return (mfspr(SPRN_DEC));
#endif
}

static __inline__ void set_dec(unsigned int val)
{
#if defined(CONFIG_4xx)
	mtspr(SPRN_PIT, val);
#else
	mtspr(SPRN_DEC, val);
#endif
}