acpi_pmtmr.h 635 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef _ACPI_PMTMR_H_
  2. #define _ACPI_PMTMR_H_
  3. #include <linux/clocksource.h>
  4. /* Number of PMTMR ticks expected during calibration run */
  5. #define PMTMR_TICKS_PER_SEC 3579545
  6. /* limit it to 24 bits */
  7. #define ACPI_PM_MASK CLOCKSOURCE_MASK(24)
  8. /* Overrun value */
  9. #define ACPI_PM_OVRRUN (1<<24)
  10. #ifdef CONFIG_X86_PM_TIMER
  11. extern u32 acpi_pm_read_verified(void);
  12. extern u32 pmtmr_ioport;
  13. static inline u32 acpi_pm_read_early(void)
  14. {
  15. if (!pmtmr_ioport)
  16. return 0;
  17. /* mask the output to 24 bits */
  18. return acpi_pm_read_verified() & ACPI_PM_MASK;
  19. }
  20. #else
  21. static inline u32 acpi_pm_read_early(void)
  22. {
  23. return 0;
  24. }
  25. #endif
  26. #endif