summaryrefslogtreecommitdiffstats
path: root/sys/dev/acpica
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/acpica')
-rw-r--r--sys/dev/acpica/acpi_timer.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/dev/acpica/acpi_timer.c b/sys/dev/acpica/acpi_timer.c
index 80e6d18..b974f1f 100644
--- a/sys/dev/acpica/acpi_timer.c
+++ b/sys/dev/acpica/acpi_timer.c
@@ -189,6 +189,7 @@ acpi_timer_probe(device_t dev)
else
acpi_timer_timecounter.tc_counter_mask = 0x00ffffff;
acpi_timer_timecounter.tc_frequency = acpi_timer_frequency;
+ acpi_timer_timecounter.tc_flags = TC_FLAGS_SUSPEND_SAFE;
if (testenv("debug.acpi.timer_test"))
acpi_timer_boot_test();
@@ -285,6 +286,14 @@ acpi_timer_suspend_handler(struct timecounter *newtc)
acpi_timer_eh = NULL;
}
+ if ((timecounter->tc_flags & TC_FLAGS_SUSPEND_SAFE) != 0) {
+ /*
+ * If we are using a suspend safe timecounter, don't
+ * save/restore it across suspend/resume.
+ */
+ return;
+ }
+
KASSERT(newtc == &acpi_timer_timecounter,
("acpi_timer_suspend_handler: wrong timecounter"));
OpenPOWER on IntegriCloud