linux/include/linux/acpi_pmtmr.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef _ACPI_PMTMR_H_
   3#define _ACPI_PMTMR_H_
   4
   5#include <linux/clocksource.h>
   6
   7/* Number of PMTMR ticks expected during calibration run */
   8#define PMTMR_TICKS_PER_SEC 3579545
   9
  10/* limit it to 24 bits */
  11#define ACPI_PM_MASK CLOCKSOURCE_MASK(24)
  12
  13/* Overrun value */
  14#define ACPI_PM_OVRRUN  (1<<24)
  15
  16#ifdef CONFIG_X86_PM_TIMER
  17
  18extern u32 acpi_pm_read_verified(void);
  19extern u32 pmtmr_ioport;
  20
  21static inline u32 acpi_pm_read_early(void)
  22{
  23        if (!pmtmr_ioport)
  24                return 0;
  25        /* mask the output to 24 bits */
  26        return acpi_pm_read_verified() & ACPI_PM_MASK;
  27}
  28
  29#else
  30
  31static inline u32 acpi_pm_read_early(void)
  32{
  33        return 0;
  34}
  35
  36#endif
  37
  38#endif
  39
  40