]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * Intel Multimedia Timer device interface | |
3 | * | |
4 | * This file is subject to the terms and conditions of the GNU General Public | |
5 | * License. See the file "COPYING" in the main directory of this archive | |
6 | * for more details. | |
7 | * | |
8 | * Copyright (c) 2001-2004 Silicon Graphics, Inc. All rights reserved. | |
9 | * | |
10 | * This file should define an interface compatible with the IA-PC Multimedia | |
11 | * Timers Draft Specification (rev. 0.97) from Intel. Note that some | |
12 | * hardware may not be able to safely export its registers to userspace, | |
13 | * so the ioctl interface should support all necessary functionality. | |
14 | * | |
15 | * 11/01/01 - jbarnes - initial revision | |
16 | * 9/10/04 - Christoph Lameter - remove interrupt support | |
17 | * 9/17/04 - jbarnes - remove test program, move some #defines to the driver | |
18 | */ | |
19 | ||
20 | #ifndef _LINUX_MMTIMER_H | |
21 | #define _LINUX_MMTIMER_H | |
22 | ||
23 | /* | |
24 | * Breakdown of the ioctl's available. An 'optional' next to the command | |
25 | * indicates that supporting this command is optional, while 'required' | |
26 | * commands must be implemented if conformance is desired. | |
27 | * | |
28 | * MMTIMER_GETOFFSET - optional | |
29 | * Should return the offset (relative to the start of the page where the | |
30 | * registers are mapped) for the counter in question. | |
31 | * | |
32 | * MMTIMER_GETRES - required | |
33 | * The resolution of the clock in femto (10^-15) seconds | |
34 | * | |
35 | * MMTIMER_GETFREQ - required | |
36 | * Frequency of the clock in Hz | |
37 | * | |
38 | * MMTIMER_GETBITS - required | |
39 | * Number of bits in the clock's counter | |
40 | * | |
41 | * MMTIMER_MMAPAVAIL - required | |
42 | * Returns nonzero if the registers can be mmap'd into userspace, 0 otherwise | |
43 | * | |
44 | * MMTIMER_GETCOUNTER - required | |
45 | * Gets the current value in the counter | |
46 | */ | |
47 | #define MMTIMER_IOCTL_BASE 'm' | |
48 | ||
49 | #define MMTIMER_GETOFFSET _IO(MMTIMER_IOCTL_BASE, 0) | |
50 | #define MMTIMER_GETRES _IOR(MMTIMER_IOCTL_BASE, 1, unsigned long) | |
51 | #define MMTIMER_GETFREQ _IOR(MMTIMER_IOCTL_BASE, 2, unsigned long) | |
52 | #define MMTIMER_GETBITS _IO(MMTIMER_IOCTL_BASE, 4) | |
53 | #define MMTIMER_MMAPAVAIL _IO(MMTIMER_IOCTL_BASE, 6) | |
54 | #define MMTIMER_GETCOUNTER _IOR(MMTIMER_IOCTL_BASE, 9, unsigned long) | |
55 | ||
56 | #endif /* _LINUX_MMTIMER_H */ |