| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
actually used. For most ACPI devices this means deferring the call
until bus_alloc_resource().
- Add a function acpi_config_intr() to call BUS_CONFIG_INTR() for an
ACPI IRQ resource using the trigger mode and polarity information
stored in the ACPI resource object.
- Add a function acpi_lookup_irq_resource() to lookup the ACPI IRQ
resource that corresponds to a specified rid and new-bus resource.
- Have the ACPI PCI bridge driver call BUS_CONFIG_INTR() on interrupts
that it routes through link devices.
- Remove needactivate variable from acpi_alloc_resource() by changing the
function not modify the flags variable but just mask off RF_ACTIVE when
calling rman_reserve_resource().
Reviewed by: njl (1, an earlier version)
|
|
|
|
| |
Bump __FreeBSD_version accordingly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
allocation was passed up to nexus. Now, we probe sysresource objects and
manage the resources they describe in a local rman pool. This helps
devices which attach/detach varying resources (like the _CST object) and
module loads/unloads. The allocation/release routines now check to see if
the resource is described in a child sysresource object and if so,
allocate from the local rman. Sysresource objects add their resources to
the pool and reserve them upon boot. This means sysresources need to be
probed before other ACPI devices.
Changes include:
* Add ordering to the child device probe. The current order is: system
resource objects, embedded controllers, then everything else.
* Make acpi_MatchHid take a handle instead of a device_t arg.
* Replace acpi_{get,set}_resource with the generic equivalents.
|
|
|
|
|
| |
useful. If ACPI-CA allowed null object handlers, we wouldn't need the
placeholder function.
|
| |
|
|
|
|
|
|
|
| |
based on the destination sleep state. Add a method to restore the old
state on resume. This is needed for the case of suspending to a very low
state disabling a GPE (i.e. S4), resuming, and then suspending to a higher
state (i.e. S3). This case should now keep the proper GPEs enabled.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
acpi_wake_init:
Evaluate _PRW and set the GPE type
acpi_wake_set_enable:
Enable or disable a device's GPE.
acpi_wake_sleep_prep:
Perform any last-minute changes to the device to prepare it for
entering the given sleep state.
Also, walk the entire namespace when transitioning to a sleep state,
disabling any GPEs which aren't appropriate for the given state. Transition
acpi_lid and acpi_button to the new API.
This clears the way for non-ACPI-aware devices to wake the system (i.e.
modems) and fixes a problem where systems power up after shutdown when a
GPE is triggered.
|
|
|
|
|
|
|
| |
return value for BUS_READ_IVAR and thus don't generate the proper NULL
in cases where a device (i.e. on PCI) does not have a handle.
Found by: peadar, tjr
|
|
|
|
| |
ourselves.
|
|
|
|
|
| |
sleep button. Change the default for the lid switch to NONE. This can
be overridden in /etc/sysctl.conf as desired.
|
|
|
|
|
|
|
|
|
| |
gadgets (hotkeys, lcd, ...) on Asus laptops. I aim to closely track the
acpi4asus project which implements these features in the Linux kernel.
If this breaks your laptop, please let me know how it does it :-)
Approved by: njl (mentor)
|
|
|
|
|
|
| |
globally available. acpi_TimerDelta() subtracts two readings from the
ACPI PM timer and returns the difference. It properly distinguishes between
24-bit and 32-bit timers and handles wraparound.
|
| |
|
| |
|
|
|
|
|
| |
rev 1.44 and acpi.c rev 1.96). Now gcc can handle larger inlines and we
really need external drivers to be able to read their acpi ivars.
|
|
|
|
|
|
|
|
|
|
|
| |
This is just groundwork for changing sysresource behavior.
PR:
Submitted by:
Reviewed by:
Approved by:
Obtained from:
MFC after:
|
|
|
|
| |
Pointed out by: le
|
|
|
|
|
|
| |
callers to the new API.
Submitted by: Mark Santcroos <marks@ripe.net>
|
|
|
|
|
|
| |
Sort acpi debug values. Change "disable" to "disabled" to match rest of
the kernel. Remove debugging from acpi_toshiba since it was only used for
probe/attach.
|
|
|
|
| |
with ACPI-CA is identical now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
systems define power/sleep buttons in both places but only deliver
notifies to the ones defined in the AML.
Also, reduce length of various function handler names.
PR:
Submitted by:
Reviewed by:
Approved by:
Obtained from:
MFC after:
|
|
|
|
|
|
|
| |
pleasant experience (for certain definition of 'pleasant').
Submitted by: Mark Santcroos <marks@ripe.net>
Approved by: njl (mentor)
|
|
|
|
|
|
|
| |
that other modules can call to initialize ACPI-CA before the new-bus probe
and change acpi_identify() to call it.
Reviewed by: njl
|
|
|
|
| |
acpi_toshiba(4) driver with ACPI_DEBUG and thus fix LINT on i386.
|
|
|
|
| |
print an error message. Update all callers of the package routines.
|
|
|
|
|
| |
various data types from them. This is loosely based on the acpi_cmbat
macros (by Mike Smith) and will eventually replace them.
|
|
|
|
| |
the InterruptLevel used for the SCI.
|
|
|
|
|
| |
userland whenever events occur. See the example in devd.conf below
to see how to use it.
|
|
|
|
|
|
|
| |
method. This is necessary on ia64 where it's known that serial interfaces
described in the ACPI namespace may not have the well-known IRQs assigned
to them. This confuses us in thinking they are PCI based interrupts and
wrongly program the APIC.
|
|
|
|
| |
since inlining failed due to the size of BUS_*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
namespace has been evaluated. Machines with ACPI 2.0 expect this behavior
and have AML which calls EC functions early in the boot process. If the
ECDT is not available, fall back to original probe behavior.
Other minor changes:
* Add GPE bit and GLK usage to the device announcement
* Always use the global lock in the ECDT case, but potentially downgrade to
not using it if _GLK is 0 once the namespace is available. This is
announced with "Changing GLK from 1 to 0"
* Remove the acpi_object_list definitions which were earlier deprecated
Ideas from: takawata
|
| |
|
|
|
|
| |
Approved by: re (rwatson/bmah)
|
|
|
|
|
|
|
|
|
|
|
| |
* AcpiOsDerivePciId(): finds a bus number, given the slot/func and the
acpi parse tree.
* AcpiOsPredefinedOverride(): use the sysctl hw.acpi.os_name to
override the value for _OS.
Ideas from: takawata, jhb
Reviewed by: takawata, marcel
Tested on: i386, ia64
|
|
|
|
| |
Sponsored by: DARPA, Network Associates Laboratories
|
|
|
|
| |
Approved by: re(jhb)
|
|
|
|
|
|
| |
not defined.
To make previous default behavior (ACPI_MAX_THREADS undefined), define
option ACPI_MAX_THREADS as 0.
|
|
|
|
|
|
|
| |
#if's in all the other ACPI source files.
- Use splhigh() for the ACPI subsystem lock on 4-stable.
Sponsored by: The Weather Channel
|
|
|
|
|
| |
the interrupt model in use so that ACPI can properly route interrupts for
machines using APIC's or SAPIC's.
|
| |
|
|
|
|
|
| |
seconds) before ACPI sleep. Some machines might need this to sleep
by Hot-key.
|
|
|
|
|
|
|
| |
This is required for some Thinkpad (and maybe VAIO) machines to wake
the system up from sleep.
Currently partially implemented, more complete implementation will come later.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes other power-management system (APM for now) to be able to
generate power profile change events (ie. AC-line status changes), and
other kernel components, not only the ACPI components, can be notified
the events.
- move subroutines in acpi_powerprofile.c (removed) to kern/subr_power.c
- call power_profile_set_state() also from APM driver when AC-line
status changes
- add call-back function for Crusoe LongRun controlling on power
profile changes for a example
|
|
|
|
|
|
| |
Obsolete the acpi_GetInto* interfaces.
Fix a typo to be less appropriate.
|
|
|
|
|
| |
in one object for one resource. Array of values in a object means
possible values for the object.
|
| |
|
|
|
|
| |
not ACPI_NO_THREADS.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Temporary fix a bug of Intel ACPI CA core code.
- Add OS layer ACPI mutex support. This can be disabled by
specifying option ACPI_NO_SEMAPHORES.
- Add ACPI threading support. Now that we have a dedicate taskqueue for
ACPI tasks and more ACPI task threads can be created by specifying option
ACPI_MAX_THREADS.
- Change acpi_EvaluateIntoBuffer() behavior slightly to reuse given
caller's buffer unless AE_BUFFER_OVERFLOW occurs. Also CM battery's
evaluations were changed to use acpi_EvaluateIntoBuffer().
- Add new utility function acpi_ConvertBufferToInteger().
- Add simple locking for CM battery and temperature updating.
- Fix a minor problem on EC locking.
- Make the thermal zone polling rate to be changeable.
- Change minor things on AcpiOsSignal(); in ACPI_SIGNAL_FATAL case,
entering Debugger is easier to investigate the problem rather than panic.
|
|
|
|
|
|
|
|
| |
some Toshiba and Thinkpad laptops.
Wakeup event is generated by power button or sleep button on some
laptops but this also generates SCI interrupt, and shutdown the system
as result. So this is introduced so that acpi driver ignore given
requests for certain period.
|