diff options
-rw-r--r-- | Documentation/hpet.txt | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/Documentation/hpet.txt b/Documentation/hpet.txt index 4e7cc8d3359b..e52457581f47 100644 --- a/Documentation/hpet.txt +++ b/Documentation/hpet.txt | |||
@@ -1,18 +1,21 @@ | |||
1 | High Precision Event Timer Driver for Linux | 1 | High Precision Event Timer Driver for Linux |
2 | 2 | ||
3 | The High Precision Event Timer (HPET) hardware is the future replacement for the 8254 and Real | 3 | The High Precision Event Timer (HPET) hardware is the future replacement |
4 | Time Clock (RTC) periodic timer functionality. Each HPET can have up two 32 timers. It is possible | 4 | for the 8254 and Real Time Clock (RTC) periodic timer functionality. |
5 | to configure the first two timers as legacy replacements for 8254 and RTC periodic. A specification | 5 | Each HPET can have up two 32 timers. It is possible to configure the |
6 | done by INTEL and Microsoft can be found at http://www.intel.com/labs/platcomp/hpet/hpetspec.htm. | 6 | first two timers as legacy replacements for 8254 and RTC periodic timers. |
7 | 7 | A specification done by Intel and Microsoft can be found at | |
8 | The driver supports detection of HPET driver allocation and initialization of the HPET before the | 8 | <http://www.intel.com/hardwaredesign/hpetspec.htm>. |
9 | driver module_init routine is called. This enables platform code which uses timer 0 or 1 as the | 9 | |
10 | main timer to intercept HPET initialization. An example of this initialization can be found in | 10 | The driver supports detection of HPET driver allocation and initialization |
11 | of the HPET before the driver module_init routine is called. This enables | ||
12 | platform code which uses timer 0 or 1 as the main timer to intercept HPET | ||
13 | initialization. An example of this initialization can be found in | ||
11 | arch/i386/kernel/time_hpet.c. | 14 | arch/i386/kernel/time_hpet.c. |
12 | 15 | ||
13 | The driver provides two APIs which are very similar to the API found in the rtc.c driver. | 16 | The driver provides two APIs which are very similar to the API found in |
14 | There is a user space API and a kernel space API. An example user space program is provided | 17 | the rtc.c driver. There is a user space API and a kernel space API. |
15 | below. | 18 | An example user space program is provided below. |
16 | 19 | ||
17 | #include <stdio.h> | 20 | #include <stdio.h> |
18 | #include <stdlib.h> | 21 | #include <stdlib.h> |
@@ -290,9 +293,8 @@ The kernel API has three interfaces exported from the driver: | |||
290 | hpet_unregister(struct hpet_task *tp) | 293 | hpet_unregister(struct hpet_task *tp) |
291 | hpet_control(struct hpet_task *tp, unsigned int cmd, unsigned long arg) | 294 | hpet_control(struct hpet_task *tp, unsigned int cmd, unsigned long arg) |
292 | 295 | ||
293 | The kernel module using this interface fills in the ht_func and ht_data members of the | 296 | The kernel module using this interface fills in the ht_func and ht_data |
294 | hpet_task structure before calling hpet_register. hpet_control simply vectors to the hpet_ioctl | 297 | members of the hpet_task structure before calling hpet_register. |
295 | routine and has the same commands and respective arguments as the user API. hpet_unregister | 298 | hpet_control simply vectors to the hpet_ioctl routine and has the same |
299 | commands and respective arguments as the user API. hpet_unregister | ||
296 | is used to terminate usage of the HPET timer reserved by hpet_register. | 300 | is used to terminate usage of the HPET timer reserved by hpet_register. |
297 | |||
298 | |||