#
50b7f1f5 |
| 02-Jun-2024 |
kettenis <kettenis@openbsd.org> |
Power down PCI devices in S0 as well. Needed for suspend-to-idle.
ok mglocker@
|
#
ba5ad174 |
| 29-May-2024 |
kettenis <kettenis@openbsd.org> |
Implement the guts for "suspend-to-idle" on amd64. This enables suspend on machines that don't support S3. In its current state it doesn't save a lot of power, but this should improve over time. I
Implement the guts for "suspend-to-idle" on amd64. This enables suspend on machines that don't support S3. In its current state it doesn't save a lot of power, but this should improve over time. Implementation of wakeup methods is incomplete which means that some machine can't resume at the moment.
ok mglocker@, mlarkin@, stsp@, deraadt@
show more ...
|
#
8a0aee6c |
| 13-May-2024 |
kettenis <kettenis@openbsd.org> |
Ignore button events in the first 10 seconds after resume. On some ACPI implementations pressing the power button to wake up a machine will cause a power button notification to happen for that butto
Ignore button events in the first 10 seconds after resume. On some ACPI implementations pressing the power button to wake up a machine will cause a power button notification to happen for that button press This would initiate a power down, which isn't the user's intent.
Based on earlier diffs from deraadt@ and James Cook.
ok mlarkin@, "I'm not opposed" cheloha@
show more ...
|
#
0f9e9ec2 |
| 13-May-2024 |
jsg <jsg@openbsd.org> |
remove prototypes with no matching function ok mpi@
|
#
4fd5269d |
| 08-Jan-2024 |
kettenis <kettenis@openbsd.org> |
Implement RootPathString support in the LoadTable() AML function. Fixes booting OpenBSD on some (ancient?) Hyper-V version.
Tested by Henryk Paluch ok mlarkin@
|
#
c7569092 |
| 08-Jul-2023 |
tobhe <tobhe@openbsd.org> |
Move /dev/apm related acpi code to acpi_apm.c which is only built on amd64 and i386. This is the first step towards a machine independent safe sleep API.
tested by yasuoka@ bluhm@ ok deraadt@ ketten
Move /dev/apm related acpi code to acpi_apm.c which is only built on amd64 and i386. This is the first step towards a machine independent safe sleep API.
tested by yasuoka@ bluhm@ ok deraadt@ kettenis@
show more ...
|
#
3e37c391 |
| 07-Jul-2023 |
claudio <claudio@openbsd.org> |
Add support for multiple batteries to acpithinkpad setchargestart and setchargestop. With this laptops like x270 or x240 properly set the thresholds for both batteries. Tested by kn@ and jmatthew@ OK
Add support for multiple batteries to acpithinkpad setchargestart and setchargestop. With this laptops like x270 or x240 properly set the thresholds for both batteries. Tested by kn@ and jmatthew@ OK kettenis@
show more ...
|
#
40f0948b |
| 06-Jul-2023 |
deraadt <deraadt@openbsd.org> |
moving acpiioctl to a different file than acpiopen is not going to work for ramdisks. noticed by anton. this must be reconsidered.
|
#
c64df681 |
| 05-Jul-2023 |
tobhe <tobhe@openbsd.org> |
Move acpiioctl to acpi_x86.c, it is only used up on i386 and amd64.
ok kettenis@ deraadt@
|
#
d8f86d59 |
| 29-Jun-2023 |
dv <dv@openbsd.org> |
acpi(4)/acpibtn(4): use opt-in approach for wakeup GPEs
Previously, any discovered GPE that could be enabled for wake was being enabled prior to entering ACPI-based S3 or S4. On some newer machines,
acpi(4)/acpibtn(4): use opt-in approach for wakeup GPEs
Previously, any discovered GPE that could be enabled for wake was being enabled prior to entering ACPI-based S3 or S4. On some newer machines, this caused S3-based suspend to break as some devices we don't fully control (e.g. lack of driver) might be capable of waking the system and will do so almost instantly if the GPE is enabled for wake up (i.e. the so called "instant wake" issue).
This changes to a model of having device drivers explicitly opt into using their GPE for wake up.
The first driver to explicitly toggle a GPE for wake is acpibtn(4).
Variations of the above have been in snapshots for 2 weeks, so tested by many.
ok deraadt@
show more ...
|
#
338d44a6 |
| 15-Mar-2023 |
kettenis <kettenis@openbsd.org> |
Add missing nameref resolving for the _DEP() package elements that indicate dependencies between ACPI devices.
ok dlg@, deraadt@
|
#
c78098b6 |
| 10-Feb-2023 |
visa <visa@openbsd.org> |
Adjust knote(9) API
Make knote(9) lock the knote list internally, and add knote_locked(9) for the typical situation where the list is already locked.
Remove the KNOTE(9) macro to simplify the API.
Adjust knote(9) API
Make knote(9) lock the knote list internally, and add knote_locked(9) for the typical situation where the list is already locked.
Remove the KNOTE(9) macro to simplify the API.
Manual page OK jmc@ OK mpi@ mvs@
show more ...
|
#
093f7b02 |
| 13-Sep-2022 |
kettenis <kettenis@openbsd.org> |
Split out the code that collects data from acpiac(4), acpibat(4) and acpisbs(4) for apm(4) and hook it up to the arm64 version of apm(4) on systems with ACPI.
ok kn@
|
#
15328e98 |
| 12-Sep-2022 |
kettenis <kettenis@openbsd.org> |
Add support for level-triggered GPIO events.
ok mlarkin@
|
#
8f365b07 |
| 10-Sep-2022 |
kettenis <kettenis@openbsd.org> |
Don't restrict GPIO events to pin numbers below 256. With the _EVT() method events corresponding to larger numbers are possible.
Fixes lid state detection on the x13s.
ok patrick@
|
#
17b371d9 |
| 03-Sep-2022 |
kettenis <kettenis@openbsd.org> |
Make sure we don't suspend if we have no way to wake up the machine. The idea is that device drivers that can wake up the machine register themselves by calling device_register_wakeup(). To prevent
Make sure we don't suspend if we have no way to wake up the machine. The idea is that device drivers that can wake up the machine register themselves by calling device_register_wakeup(). To prevent regressions on amd64, we let acpi(4) register itself as a wakeup device if the AML for the machine defines wakeup devices. This may be refined in the future.
This diff will prevent people from suspending their arm64 SBCs without having a way to wake them up. For now the only driver that registers itself is axppmic(4), which means that at this moment only SBCs with an allwinner A64 or H5 SoC will actually support suspend/resume.
ok mlarkin@, deraadt@
show more ...
|
#
9108e412 |
| 10-Aug-2022 |
patrick <patrick@openbsd.org> |
Provide the AML root in ACPI's softc so that drivers that need access don't have to declare it using extern.
Suggested by and with feedback from kettenis@ Tested by deraadt@ on arm64, amd64 and i386
Provide the AML root in ACPI's softc so that drivers that need access don't have to declare it using extern.
Suggested by and with feedback from kettenis@ Tested by deraadt@ on arm64, amd64 and i386 Tested by bluhm@ on amd64 and i386
show more ...
|
#
2d1c1d29 |
| 17-Feb-2022 |
jsg <jsg@openbsd.org> |
reduce includes
|
#
9890585b |
| 10-Feb-2022 |
visa <visa@openbsd.org> |
Embed klist head in acpi_softc to avoid explicit malloc.
OK kettenis@
|
#
5d4cdd1c |
| 09-Feb-2022 |
deraadt <deraadt@openbsd.org> |
Move x86-only stubs used by kern/subr_suspend.c into dev/acpi/acpi_x86.c for sharing between i386 and amd64. ok mlarkin kettenis
|
#
ad814436 |
| 08-Feb-2022 |
deraadt <deraadt@openbsd.org> |
The suspend/resume code is a sticky mess of MI, MD, and ACPI sequencing. This splits out the MI sequencing, backing it with per-architecture helper functions. Further steps will be neccesary because
The suspend/resume code is a sticky mess of MI, MD, and ACPI sequencing. 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
show more ...
|
#
21389ece |
| 04-Feb-2022 |
robert <robert@openbsd.org> |
set the APM_BATT_CHARGING state if the battery is being charged and try to calculate the remaining time to be fully charged
ok jca@
|
#
f48369e0 |
| 02-Feb-2022 |
deraadt <deraadt@openbsd.org> |
acpi_addtask() calls malloc() w/ M_NOWAIT (because some calls come from interrupt context), this however means occasional resource shortage will result in callbacks registration failing, and unknown
acpi_addtask() calls malloc() w/ M_NOWAIT (because some calls come from 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
show more ...
|
#
6b5677e6 |
| 01-Feb-2022 |
deraadt <deraadt@openbsd.org> |
GPE_DIRECT is calling the AML parser from interrupt context, which is not permitted. Luckily nothing is using GPE_DIRECT anymore, so this code can be deleted. ok kettenis
|
#
e0cbaa99 |
| 26-Jan-2022 |
kettenis <kettenis@openbsd.org> |
An ACPI device needs to be both present and enabled for it to function. So only attempt to attach hardware that has both bits enabled. This fixes an issue where com(4) would attach for a disabled se
An ACPI device needs to be both present and enabled for it to function. 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@
show more ...
|