History log of /openbsd/sys/dev/acpi/acpi.c (Results 1 – 25 of 430)
Revision Date Author Comments
# 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 ...


12345678910>>...18