svn commit: r302782 - in head/sys: dev/acpica i386/isa
Jung-uk Kim
jkim at FreeBSD.org
Wed Jul 13 19:16:33 UTC 2016
Author: jkim
Date: Wed Jul 13 19:16:32 2016
New Revision: 302782
URL: https://svnweb.freebsd.org/changeset/base/302782
Log:
Remove a tunable and always reset system clock while resuming with ACPI.
Requested by: bde (long ago)
Modified:
head/sys/dev/acpica/acpi.c
head/sys/i386/isa/pmtimer.c
Modified: head/sys/dev/acpica/acpi.c
==============================================================================
--- head/sys/dev/acpica/acpi.c Wed Jul 13 19:02:59 2016 (r302781)
+++ head/sys/dev/acpica/acpi.c Wed Jul 13 19:16:32 2016 (r302782)
@@ -280,14 +280,6 @@ TUNABLE_INT("debug.acpi.default_register
SYSCTL_INT(_debug_acpi, OID_AUTO, default_register_width, CTLFLAG_RDTUN,
&acpi_ignore_reg_width, 1, "Ignore register widths set by FADT");
-#ifdef __amd64__
-/* Reset system clock while resuming. XXX Remove once tested. */
-static int acpi_reset_clock = 1;
-TUNABLE_INT("debug.acpi.reset_clock", &acpi_reset_clock);
-SYSCTL_INT(_debug_acpi, OID_AUTO, reset_clock, CTLFLAG_RW,
- &acpi_reset_clock, 1, "Reset system clock while resuming.");
-#endif
-
/* Allow users to override quirks. */
TUNABLE_INT("debug.acpi.quirks", &acpi_quirks);
@@ -3027,9 +3019,6 @@ backout:
static void
acpi_resync_clock(struct acpi_softc *sc)
{
-#ifdef __amd64__
- if (!acpi_reset_clock)
- return;
/*
* Warm up timecounter again and reset system clock.
@@ -3037,7 +3026,6 @@ acpi_resync_clock(struct acpi_softc *sc)
(void)timecounter->tc_get_timecount(timecounter);
(void)timecounter->tc_get_timecount(timecounter);
inittodr(time_second + sc->acpi_sleep_delay);
-#endif
}
/* Enable or disable the device's wake GPE. */
Modified: head/sys/i386/isa/pmtimer.c
==============================================================================
--- head/sys/i386/isa/pmtimer.c Wed Jul 13 19:02:59 2016 (r302781)
+++ head/sys/i386/isa/pmtimer.c Wed Jul 13 19:16:32 2016 (r302782)
@@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$");
#include <sys/bus.h>
#include <sys/kernel.h>
#include <sys/module.h>
+#include <sys/power.h>
#include <sys/syslog.h>
#include <machine/clock.h>
@@ -83,6 +84,9 @@ static int
pmtimer_suspend(device_t dev)
{
+ if (power_pm_get_type() == POWER_PM_TYPE_ACPI)
+ return (0);
+
microtime(&diff_time);
inittodr(0);
microtime(&suspend_time);
@@ -96,6 +100,9 @@ pmtimer_resume(device_t dev)
u_int second, minute, hour;
struct timeval resume_time, tmp_time;
+ if (power_pm_get_type() == POWER_PM_TYPE_ACPI)
+ return (0);
+
/* modified for adjkerntz */
timer_restore(); /* restore the all timers */
inittodr(0); /* adjust time to RTC */
More information about the svn-src-head
mailing list