acpi_pmtmr.h 672 B

12345678910111213141516171819202122232425262728293031323334353637383940
  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. extern void pmtimer_wait(unsigned);
  21. #else
  22. static inline u32 acpi_pm_read_early(void)
  23. {
  24. return 0;
  25. }
  26. #endif
  27. #endif