/Linux-v6.6/arch/x86/kernel/ |
D | hpet.c | 6 #include <linux/hpet.h> 11 #include <asm/hpet.h> 16 #define pr_fmt(fmt) "hpet: " fmt 49 * HPET address is set in acpi/boot.c, when an ACPI entry exists 99 * HPET command line enable / disable 118 __setup("hpet=", hpet_setup); 133 * is_hpet_enabled - Check whether the legacy HPET timer interrupt is enabled 183 * When the HPET driver (/dev/hpet) is enabled, we need to reserve 234 /* Associate the first unused channel to /dev/hpet */ in hpet_select_device_channel() 247 /* Common HPET functions */ [all …]
|
D | quirks.c | 9 #include <asm/hpet.h> 85 /* HPET disabled in HPTC. Trying to enable */ in ich_force_hpet_resume() 93 printk(KERN_DEBUG "Force enabled HPET at resume\n"); in ich_force_hpet_resume() 109 "cannot force enable HPET\n"); in ich_force_enable_hpet() 117 "cannot force enable HPET\n"); in ich_force_enable_hpet() 125 /* HPET is enabled in HPTC. Just not reported by BIOS */ in ich_force_enable_hpet() 128 dev_printk(KERN_DEBUG, &dev->dev, "Force enabled HPET at " in ich_force_enable_hpet() 134 /* HPET disabled in HPTC. Trying to enable */ in ich_force_enable_hpet() 149 "Failed to force enable HPET\n"); in ich_force_enable_hpet() 152 dev_printk(KERN_DEBUG, &dev->dev, "Force enabled HPET at " in ich_force_enable_hpet() [all …]
|
D | tsc.c | 19 #include <asm/hpet.h> 353 static u64 tsc_read_refs(u64 *p, int hpet) in tsc_read_refs() argument 361 if (hpet) in tsc_read_refs() 373 * Calculate the TSC frequency from HPET reference 750 * calibrate cpu using pit, hpet, and ptimer methods. They are available 758 int hpet = is_hpet_enabled(), i, loopmin; in pit_hpet_ptimer_calibrate_cpu() local 776 * 2) Reference counter. If available we use the HPET or the in pit_hpet_ptimer_calibrate_cpu() 795 * hpet/pmtimer when available. Then do the PIT in pit_hpet_ptimer_calibrate_cpu() 800 tsc1 = tsc_read_refs(&ref1, hpet); in pit_hpet_ptimer_calibrate_cpu() 802 tsc2 = tsc_read_refs(&ref2, hpet); in pit_hpet_ptimer_calibrate_cpu() [all …]
|
D | time.c | 25 #include <asm/hpet.h> 53 * Default timer interrupt handler for PIT/HPET 88 * Before PIT/HPET init, select the interrupt mode. This is required in x86_late_time_init() 97 * After PIT/HPET timers init, set up the final interrupt mode for in x86_late_time_init()
|
D | i8253.c | 12 #include <asm/hpet.h> 17 * HPET replaces the PIT, when enabled. So we need to know, which of 57 * - when HPET is enabled in init_pit_clocksource()
|
D | early-quirks.c | 26 #include <asm/hpet.h> 94 * wrong unless HPET is enabled. in nvidia_bugs() 626 pr_info("x86/hpet: Will disable the HPET for this platform because it's not reliable\n"); in force_disable_hpet() 720 * HPET on the current version of the Baytrail platform has accuracy
|
/Linux-v6.6/drivers/char/ |
D | hpet.c | 36 #include <linux/hpet.h> 44 * See HPET spec revision 1. 49 #define HPET_RANGE_SIZE 1024 /* from HPET spec */ 77 .name = "hpet", 86 /* A lock for concurrent access by app and isr hpet activity. */ 93 struct hpet __iomem *hd_hpet; 107 struct hpet __iomem *hp_hpet; 145 struct hpet __iomem *hpet = devp->hd_hpet; in hpet_interrupt() local 150 mc = read_counter(&hpet->hpet_mc); in hpet_interrupt() 159 * where t is the interval in hpet ticks for the given freq, in hpet_interrupt() [all …]
|
D | Kconfig | 350 config HPET config 351 bool "HPET - High Precision Event Timer" if (X86 || IA64) 355 If you say Y here, you will have a miscdevice named "/dev/hpet/". Each 356 open selects one of the timers supported by the HPET. The timers are 360 bool "Allow mmap of HPET" 362 depends on HPET 365 the HPET registers. 368 bool "Enable HPET MMAP access by default" 372 In some hardware implementations, the page containing HPET
|
/Linux-v6.6/Documentation/timers/ |
D | hpet.rst | 5 The High Precision Event Timer (HPET) hardware follows a specification 8 Each HPET has one fixed-rate counter (at 10+ MHz, hence "High Precision") 15 HPET devices can support two interrupt routing modes. In one mode, the 17 role. Many x86 BIOS writers don't route HPET interrupts at all, which 22 The driver supports detection of HPET driver allocation and initialization 23 of the HPET before the driver module_init routine is called. This enables 24 platform code which uses timer 0 or 1 as the main timer to intercept HPET 26 arch/x86/kernel/hpet.c.
|
D | index.rst | 11 hpet
|
/Linux-v6.6/arch/mips/loongson64/ |
D | hpet.c | 9 #include <asm/hpet.h> 191 * hpet address assignation and irq setting should be done in bios. 207 /* set hpet base address */ in hpet_setup() 210 /* enable decoding of access to HPET MMIO*/ in hpet_setup() 213 /* HPET irq enable */ in hpet_setup() 228 cd->name = "hpet"; in setup_hpet_timer() 245 if (request_irq(HPET_T0_IRQ, hpet_irq_handler, flags, "hpet", NULL)) in setup_hpet_timer() 246 pr_err("Failed to request irq %d (hpet)\n", HPET_T0_IRQ); in setup_hpet_timer() 247 pr_info("hpet clock event device register\n"); in setup_hpet_timer() 266 .name = "hpet", [all …]
|
D | Kconfig | 5 bool "RS780/SBX00 HPET Timer" 10 This option enables the hpet timer of AMD RS780/SBX00.
|
D | Makefile | 10 obj-$(CONFIG_RS780_HPET) += hpet.o
|
/Linux-v6.6/include/linux/ |
D | hpet.h | 5 #include <uapi/linux/hpet.h> 9 * Offsets into HPET Registers 12 struct hpet { struct 43 * HPET general capabilities register 56 * HPET general configuration register
|
/Linux-v6.6/arch/x86/include/asm/ |
D | hpet.h | 56 /* Max HPET Period is 10^8 femto sec as in HPET spec */ 59 * Min HPET period is 10^5 femto sec just for safety. If it is less than this, 60 * then 32 bit HPET counter wrapsaround in less than 0.5 sec. 64 /* hpet memory map physical address */
|
/Linux-v6.6/arch/mips/include/asm/ |
D | hpet.h | 58 /* Max HPET Period is 10^8 femto sec as in HPET spec */ 61 * Min HPET period is 10^5 femto sec just for safety. If it is less than this, 62 * then 32 bit HPET counter wrapsaround in less than 0.5 sec.
|
/Linux-v6.6/Documentation/devicetree/bindings/x86/ |
D | timer.txt | 4 * High Precision Event Timer (HPET) 6 compatible = "intel,ce4100-hpet";
|
/Linux-v6.6/Documentation/virt/kvm/x86/ |
D | timekeeping.rst | 195 system chipset, sometimes by an HPET and some frankenstein IRQ routing. 291 2.4. HPET 294 HPET is quite complex, and was originally intended to replace the PIT / RTC 297 systems designated as legacy free may support only the HPET as a hardware timer 300 The HPET spec is rather loose and vague, requiring at least 3 hardware timers, 305 In general, the HPET is recommended as a high precision (compared to PIT /RTC) 306 time source which is independent of local variation (as there is only one HPET 307 in any given system). The HPET is also memory-mapped, and its presence is 310 Detailed specification of the HPET is beyond the current scope of this 588 An additional concern is that timers based off the TSC (or HPET, if the raw bus
|
/Linux-v6.6/samples/timers/ |
D | hpet_example.c | 16 #include <linux/hpet.h> 59 fprintf(stderr, "-hpet: requires command\n"); in main() 68 fprintf(stderr, "-hpet: executing %s\n", in main()
|
/Linux-v6.6/drivers/rtc/ |
D | rtc-cmos.c | 51 * Use ACPI SCI to replace HPET interrupt for RTC Alarm event 117 * HPET #1 hijacking the IRQ for this RTC, and being unavailable for 121 * emulation of hardware RTC IRQ facilities using HPET #1. We don't 122 * want to use HPET for anything except those IRQs though... 125 #include <asm/hpet.h> 178 /* Don't use HPET for RTC Alarm event if ACPI Fixed event is used */ 505 * FIXME the HPET alarm glue currently ignores day_alrm in cmos_set_alarm_callback() 706 /* When the HPET interrupt handler calls us, the interrupt in cmos_interrupt() 708 * always clear irq status, even when HPET is in the way. in cmos_interrupt() 710 * Note that HPET and RTC are almost certainly out of phase, in cmos_interrupt() [all …]
|
/Linux-v6.6/arch/x86/kernel/acpi/ |
D | boot.c | 951 #include <asm/hpet.h> 960 pr_warn("HPET timers must be located in memory.\n"); in acpi_parse_hpet() 968 * Some broken BIOSes advertise HPET at 0x0. We really do not in acpi_parse_hpet() 972 pr_warn("HPET id: %#x base: %#lx is invalid\n", hpet_tbl->id, hpet_address); in acpi_parse_hpet() 977 * Some even more broken BIOSes advertise HPET at in acpi_parse_hpet() 983 …pr_warn("HPET id: %#x base: 0xfed0000000000000 is bogus, try hpet=force on the kernel command line… in acpi_parse_hpet() 988 pr_warn("HPET id: %#x base: 0xfed0000000000000 fixed up to 0xfed00000.\n", in acpi_parse_hpet() 993 pr_info("HPET id: %#x base: %#lx\n", hpet_tbl->id, hpet_address); in acpi_parse_hpet() 996 * Allocate and initialize the HPET firmware resource for adding into in acpi_parse_hpet() 1008 snprintf((char *)hpet_res->name, HPET_RESOURCE_NAME_SIZE, "HPET %u", in acpi_parse_hpet() [all …]
|
/Linux-v6.6/Documentation/core-api/ |
D | printk-index.rst | 52 <6> arch/x86/kernel/hpet.c:144 _hpet_print_config "hpet: %s(%d):\n"
|
/Linux-v6.6/arch/x86/kernel/apic/ |
D | msi.c | 3 * Support of MSI, HPET and DMAR interrupts. 15 #include <linux/hpet.h> 18 #include <asm/hpet.h>
|
/Linux-v6.6/arch/mips/loongson2ef/common/ |
D | time.c | 11 #include <asm/hpet.h>
|
/Linux-v6.6/include/uapi/linux/ |
D | hpet.h | 24 #define MAX_HPET_TBS 8 /* maximum hpet timer blocks */
|