Age | Commit message (Collapse) | Author |
|
A bunch of servers work now.
Really close to a 3-line diff...
ok kettenis
|
|
|
|
|
|
ok deraadt@
|
|
re-creating the original (2 weeks ago) order of last-minute-disk-parking
needs a different approach, hmm.
|
|
than scheduling an acpi thread
|
|
able to react to this suitably.
|
|
with AML parsing outside the acpi thread, the locking-release dance
around wsdisplay_{suspend,resume} can be removed
ok kettenis
|
|
ok deraadt@
|
|
reset the MD state before bailing out. New MD function sleep_abort()
does that.
|
|
Fixes my com0 issues after zzz and ZZZ.
OK kettenis@ miod@
|
|
in sleep_resume(), which seems sensible for other future systems also
|
|
steps, so shuffle the MD steps to reinforce the order.
|
|
accidentally broken with the reorganization of the suspend/resume code that
was committed a few days ago.
ok deraadt@
|
|
|
|
ok deraadt@ gnezdo@
|
|
OK kettenis@
|
|
for sharing between i386 and amd64.
ok mlarkin kettenis
|
|
Microsoft decided to break with basic ACPI standards with the Go 3.
In this case, they don't expose the battery in a standard way, so
acpibat(4) needs to look for the special Microsoft hid.
From mlarkin@, ok kettenis@
|
|
ok miod@
|
|
This splits out the MI sequencing, backing it with per-architecture helper
functions. Further steps will be neccesary because ACPI and MD are too
tightly coupled, but soon we'll be able to use this code for more architectures
(which depends on figuring out the lowest-level cpu sleeping method)
ok kettenis
|
|
to calculate the remaining time to be fully charged
ok jca@
|
|
interrupt context), this however means occasional resource shortage will
result in callbacks registration failing, and unknown consequences for
the task-submitting caller.
Changing this to use pools with a low water mark, decreases the odds
of that problem occuring.
ok kettenis
|
|
not permitted. Luckily nothing is using GPE_DIRECT anymore, so this code
can be deleted.
ok kettenis
|
|
So only attempt to attach hardware that has both bits enabled. This fixes
an issue where com(4) would attach for a disabled serial port leading to
misdetection of the hardware variant and a subsequent hang when /etc/rc
runs ttyflags -a.
ok anton@, deraadt@
|
|
we have passed a modified version of the contents in the capabilities
register if we wanted to override what sdhc(4) would otherwise read.
Unfortunately there's a second capabilities register that we did not
yet take into consideration, which is why to disable DDR50 support we
created a quirk flag in the softc. The sdhc(4) ACPI nodes have a way
to mask and set bits in both of the capabilities register, which is a
flexible approach to solving that issue and using that for our sdhc(4)
drivers even improves readability.
ok kettenis@
|
|
wide and some _DSD properties depend on it.
ok kettenis@
|
|
feedback and ok tb@ jmc@ ok ratchov@
|
|
correct property. While there adjust acpi_getpropint() as well to
increase similarity with acpi_getprop().
ok kettenis@
|
|
|
|
ok kettenis@
|
|
support interrupts via ACPI, so there's need for an ifdef around it.
ok kettenis@
|
|
the com(4) devices to match the traditional order one the ISA bus.
ok patrick@, anton@
|
|
ok anton@, deraadt@
|
|
already does.
|
|
a regression caused by the recent change to start attaching com at acpi
as it turns out that Libreboot exposes console devices lacking crucial
data in their acpi tables. The same console attaches fine over isa,
therefore restore this behavior.
Problem reported by <cipher-hearts at riseup dot net> on bugs@
ok deraadt@ kettenis@
|
|
assignment compared to the the legacy one supported by com over isa.
This causes the console to halt once userland takes over as no
interrupts are received. The actual address and irq can be read from
ACPI, kettenis@ already added support for arm64 which paved the way for
amd64.
Some consoles that previously attached over isa are now expected to
attach over acpi.
Thanks to patrick@ for testing on arm64.
ok kettenis@
|
|
are caught by our ACPI parser. Unfortunately in such cases our reaction was
to start parsing AML somewhere outside our current scope. The intention was
to clamp down the inner scope to the maximum of the outer one. So, rectify it.
This issue has shown up in EDK2's QEMU SBSA target, where the SSDT table was
generated incorrectly. Surprisingly neither Linux nor ACPICA's iASL noticed
that the table was broken.
ok kettenis@ millert@
|
|
From James Hastings
|
|
|
|
ok patrick@, anton@
|
|
ok patrick@, anton@
|
|
|
|
power connected (default is yes when no driver differentiates) then default
to 100% performance. On battery, use the existing auto algorithm (which is
admittedly somewhat unrefined).
This change overrides the system/BIOS speed and puts OpenBSD in control.
As this happens very early during boot, besides speedups in all usage usage
patterns, some surprises: unhibernate and sysupgrade times are cut in half.
note: on a few architectures, the setperf fn pointer is changed late, and
thus the auto algorithm stops timeing out. kettenis and i will look for
a solution.
in snaps for more than a week.
ok kettenis
|
|
Some modern tpm2 devices require or prefer drivers communicate via
the CRB interface and not the TIS/fifo interface. This change adds
basic support for detecting CRB start mode and using CRB to issue
commands required for proper S4 hibernation. As a result, this also
defines a new struct definition for the TPM2 acpi table required
for start mode detection.
This fixes recent S4 regressions on the Surface Go 2 caused by a
change in firmware from Microsoft.
Other CRB start methods may need implementing in the future to
support additional hardware.
tested by deraadt@ and many others, ok kettenis@
|
|
ok jcs@
|
|
Fixes issues with dead touchpads after resume on some machines.
ok jcs@, deraadt@
|
|
platforms where the GPIO pin that is used for the touchpad interrupt
gets reset when entering S3 and isn't properly restored upon resume.
ok deraadt@, jcs@
|
|
(researched by mlarkin). With this, and the latest BIOS which added S3,
the lenovo x1r9 and x1nano can resume.
ok kettenis mlarkin
|
|
compare the data structures with the Linux code which unfortunately is
the only documentation we have for the pin numbers used by ACPI.
While there make the data structures const.
ok jcs@
|