Age | Commit message (Collapse) | Author |
|
adding more filter properties without cluttering the struct.
OK mpi@, anton@
|
|
Do not include <sys/kthread.h> where it is not needed and stop including
<sys/proc.h> in it.
ok visa@, anton@
|
|
no _BQC method. But we need it to attach, since it provides
the events for the brightness keys. Thus, make acpivout(4)
attach enough to register the event handler, but return early
so that it doesn't register itself as ws_[gs]et_param.
ok kettenis@
|
|
calling the ACPI methods. On some machines, like my X395,
those ACPI methods don't allow changing the brightness, so
this allows acpivout(4) to e.g. use amdgpu(4)'s code.
In comparison to the previously committed and backed out
version we now schedule the brightness change on the ACPI
task queue so that we don't run into any recursive locking
issues. Additionally the diff has been modified according
to the recent commit where we make sure that a 5% brightness
change does not result in the same brightness level.
ok jcs@ kn@
|
|
Tested by and ok jcs@
|
|
have no interrupt handler registered.
Avoids interrupt storm on Matebook D reported by brynet@
From James Hastings. ok kettenis@ brynet@
|
|
Not all machines provide levels that scale linearly, e.g. an ThinkPad X230
has 16 levels of exponential scale that end with [50, 67, 100].
Make acpivout_find_brightness() return the BCL's index instead of its value
such that acpivout_brightness_step() is able to fall back to the lower next
value by index in case the 5% heuristic fails.
Tested by Tracey Emery with an T470s
OK patrick jcs
|
|
ok bluhm@
|
|
_SRV method if present.
tested by sthen@
ok jmatthew@
|
|
make the structs const so that the data are put in .rodata.
OK mpi@, deraadt@, anton@, bluhm@
|
|
ok kn@
|
|
don't depend on indirect inclusion from acpidev.h
|
|
AMD SoCs/chipsets.
From James Hastings
|
|
ACPI lock and when we call our own ws_[gs]et_param functions we cannot
take the lock again, because it's non-recursive. Thus we need to find
another way, like not taking the lock if we already have it. But the
solutions need to be discussed first, so back it out in the meantime.
|
|
calling the ACPI methods. On some machines, like my X395,
those ACPI methods don't allow changing the brightness, so
this allows acpivout(4) to e.g. use amdgpu(4)'s code.
ok kettenis@
|
|
backlight controls so that acpivout can. This allows using all of
the fine-grained backlight BCL steps defined in ACPI (usually 100)
instead of the dozen or so available through acpithinkpad's
proprietary ACPI or CMOS interfaces.
This is also needed for future amdgpu work.
|
|
adjust by 1 BCL level as there may be 100 levels. Find the next
brightness level that is at least 5% up or down and use that.
ok kettenis
|
|
Early in the release cycle is the right time to do this.
"yes please" jcs@. ok deraadt@
|
|
|
|
ok deraadt@, jsg@
|
|
ok patrick@
|
|
Several machines have broken AML which reads past the end the end
of an array. Previously this was an aml_die/panic. acpica just warns
on such accesses, so this diff makes us do the same.
ok kettenis, jcs, deraadt
|
|
|
|
after 6.6 as been released. The acpireg.h change stays behind.
|
|
few additional quirks though, and attaching the PCI busses is delayed to
replicate the existing code more closely. That may be changed in the
future. Also tweak how we handle MSI support and respect to ACPI flag
that says we shouldn't attempt to use MSIs.
Some fallout is expected.
ok patrick@
|
|
msr/pat, clock-startup, firmware upgrade, fpu initialization, and cpu
soft-state initialization in the same order. That kind of chaos is
crazy and fragile. Improve the acpi resume call sequence and unify order
of the operations.
|
|
- Put function prototypes in more logical places.
- Inroduce a ipmi_attach_common() function.
- Move all the SMBIOS related code to the end of the file and only
compile it in on amd64 & i386.
ok jmatthew@ and deraadt@
|
|
|
|
ok deraadt@, jsg@
|
|
Avoid printing a confusing "irq 0" message in this case.
|
|
recursing into child devices looking for matches.
This ensures that when walking nodes with acpi_inidev, a method like
\_SB_.PCI0._INI will be executed before \_SB_.PCI0.I2C1.TPL1._INI.
This matches how ACPICA walks nodes and a commonly-used DSDT
template assumes that \OSYS has been initialized in \_SB_.PCI0._INI
before being used by other device _INI methods.
This should also help to execute \_INI and \_SB_._INI first, if
present, which ACPICA does explicitly.
Tested in snaps, ok deraadt
|
|
operators can take a data argument of Integer, String, or Buffer
types, not just Integer.
ok kettenis, deraadt
|
|
If an interrupt is received, turn off polling and rely on
interrupts. This may happen after S3 resume.
Also properly shut down polling during suspend and start it up again
on resume only after dwiic is back in action.
|
|
to be overridden from ACPI
|
|
passing GPE_DIRECT which directly executes the supplied callback and
clears a level interrupt rather than going through acpi_taskq which
can be slow when other driver callbacks are in the queue.
This should not be used for GPE handlers that need to do anything
ACPI-related.
ok kettenis
|
|
Lake SoC. From James Hastings.
|
|
Lake SoC.
From James Hastings
ok kettenis@
|
|
ok mlarkin@
|
|
skip PCI host bridges and devices that aren't there.
ok patrick@
|
|
ok patrick@
|
|
noticed by deraadt
|
|
several printfs here seem to have mismatched newlines?
|
|
|
|
|
|
using them. Fixes machines with ancient ACPI 1.0 (such as recent
hypervisors).
ok deraadt@
|
|
representation from the FADT. Mostly fixes the Lanner NCA-1510.
ok lteo@, mlarkin@, deraadt@
|
|
ok kettenis@
|
|
|
|
|
|
ok deraadt@
|