#
340a7f6a |
| 30-Jun-2004 |
Nate Lawson <njl@FreeBSD.org> |
Disable the EC GPE in the shutdown path. This is correct but is not known to fix any bug.
|
#
5fcc8a58 |
| 29-Jun-2004 |
Nate Lawson <njl@FreeBSD.org> |
Use the acpi_id_probe() method instead of acpi_MatchHid(), which is now static.
|
#
636af382 |
| 28-Jun-2004 |
Nate Lawson <njl@FreeBSD.org> |
While booting, use DELAY() for waiting for the EC to respond instead of msleep(). Until we're finally up, msleep is a no-op.
Explained by: peter
|
#
91233413 |
| 14-Jun-2004 |
Nate Lawson <njl@FreeBSD.org> |
Add support to ACPI to manage its own resources. Previously, resource allocation was passed up to nexus. Now, we probe sysresource objects and manage the resources they describe in a local rman poo
Add support to ACPI to manage its own resources. Previously, resource 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.
show more ...
|
#
fe12f24b |
| 30-May-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add missing <sys/module.h> includes
|
Revision tags: release/4.10.0_cvs, release/4.10.0 |
|
#
f3fc4f8b |
| 25-May-2004 |
Nate Lawson <njl@FreeBSD.org> |
Changes to implement 20040514:
* Add calls to AcpiSetGpeType. We use wake/run as the type for lid and button switches since wake-only causes Thinkpads to immediately wake on the second suspend. No
Changes to implement 20040514:
* Add calls to AcpiSetGpeType. We use wake/run as the type for lid and button switches since wake-only causes Thinkpads to immediately wake on the second suspend. Note that with wake/run, some systems return both wake and device-specific notifies so we don't register for system notifies for lid and button switches. * Remove the hw.acpi.osi_method tunable since it is not needed. * Always print unknown notifies for all types. * Add more cleanup for the EC if it fails to attach. * Use the GPE handle now that we parse it. This allows GPEs to be defined in AML GPE blocks. * Always use ACPI_NOT_ISR since it's ok to acquire a mutex in our thread which processes queued requests.
show more ...
|
#
0025fb0f |
| 14-May-2004 |
Nate Lawson <njl@FreeBSD.org> |
Add support for GPE being a package of { reference, gpe bit }. Rework the ECDT probe to pass all the parameters in a temporary struct. Note why we are mostly ok evaluating _GLK so early.
|
#
c868ac7d |
| 13-May-2004 |
Nate Lawson <njl@FreeBSD.org> |
Add support for retrieving _GLK in the ECDT probe. Now we no longer always use the global lock at the beginning of the ECDT probe. Instead, we use the handle from the ECDT to call _GLK. Also, unif
Add support for retrieving _GLK in the ECDT probe. Now we no longer always use the global lock at the beginning of the ECDT probe. Instead, we use the handle from the ECDT to call _GLK. Also, unify the device description.
show more ...
|
#
b7d13479 |
| 14-Apr-2004 |
Nate Lawson <njl@FreeBSD.org> |
Update the name for edge triggered for the 20040402 import.
|
#
64278df5 |
| 09-Apr-2004 |
Nate Lawson <njl@FreeBSD.org> |
Add MODULE_DEPEND entries so some of these drivers can eventually be loaded separately from ACPI (i.e., embedded use).
|
#
5f96beb9 |
| 17-Mar-2004 |
Nate Lawson <njl@FreeBSD.org> |
Convert callers to the new bus_alloc_resource_any(9) API.
Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde
|
#
4ed391b8 |
| 04-Mar-2004 |
Nate Lawson <njl@FreeBSD.org> |
Fix an off-by-one error and rework our EC space handler. Writing to address 0xFF would fail previously as AE_BAD_PARAMETER. It's unknown if this caused any actual problems.
|
#
c310653e |
| 03-Mar-2004 |
Nate Lawson <njl@FreeBSD.org> |
Change to acpi_{Get,Set}Integer to provide both methods. Convert all callers to the new API.
Submitted by: Mark Santcroos <marks@ripe.net>
|
Revision tags: release/5.2.1_cvs, release/5.2.1, release/5.2.0_cvs, release/5.2.0 |
|
#
16844a97 |
| 03-Jan-2004 |
Nate Lawson <njl@FreeBSD.org> |
Delete the region we are passed if that is the requested operation. This should fix the problem with removing an address space handler although we don't currently use that capability so it's unlikely
Delete the region we are passed if that is the requested operation. This should fix the problem with removing an address space handler although we don't currently use that capability so it's unlikely anyone saw this problem.
show more ...
|
Revision tags: release/4.9.0_cvs, release/4.9.0 |
|
#
656b9dd5 |
| 26-Sep-2003 |
Nate Lawson <njl@FreeBSD.org> |
Consistently print attach messages.
|
#
c87cfaed |
| 15-Sep-2003 |
Nate Lawson <njl@FreeBSD.org> |
Bump the EC timeout from 50 to 100 ms. I believe the underlying issue is global lock contention as symptoms only appear under heavy load (i.e. the nightly periodic run).
|
#
aad970f1 |
| 24-Aug-2003 |
David E. O'Brien <obrien@FreeBSD.org> |
Use __FBSDID(). Also some minor style cleanups.
|
#
a329ebca |
| 30-Jul-2003 |
Nate Lawson <njl@FreeBSD.org> |
Add and document the hw.acpi.ec.poll_timeout tunable.
|
#
44904c40 |
| 25-Jul-2003 |
Nate Lawson <njl@FreeBSD.org> |
Add an informational debugging printf of the maximum time spent in EcEventWait(). If you get AE_HARDWARE_NO_RESPONSE errors, please enable this info by setting hw.acpi.verbose=1 in loader.conf.
|
#
c72508e2 |
| 20-Jul-2003 |
Nate Lawson <njl@FreeBSD.org> |
Do not call acpi_MatchHid() for all probe cases since it accesses the namespace. To compensate for it only being used in the !ECDT case, use a more robust approach to indicate a device was probed vi
Do not call acpi_MatchHid() for all probe cases since it accesses the namespace. To compensate for it only being used in the !ECDT case, use a more robust approach to indicate a device was probed via ECDT by setting the private ivar to be &acpi_ec_devclass. Without the acpi_MatchHid() call now, it might have been possible for a non-EC device to have had its magic match our previous flag.
Pointed out by: takawata
show more ...
|
#
3a371f32 |
| 20-Jul-2003 |
Nate Lawson <njl@FreeBSD.org> |
Close a race condition by passing status retrieved via a non-SCI call to EcGpeQueryHandler on to any waiting threads through the softc. Similar behavior was in the original version.
Also: * Merge E
Close a race condition by passing status retrieved via a non-SCI call to EcGpeQueryHandler on to any waiting threads through the softc. Similar behavior was in the original version.
Also: * Merge EcQuery into EcGpeQueryHandler to simplify locking * Hold EcLock from the initial read of the CSR down to the wakeup or until after the query command has been processed. * ec_gpebit only needs to be a UINT8
show more ...
|
#
f8335e3a |
| 20-Jul-2003 |
Nate Lawson <njl@FreeBSD.org> |
Add ECDT (ACPI 2.0) support. This allows the EC to be enabled before the namespace has been evaluated. Machines with ACPI 2.0 expect this behavior and have AML which calls EC functions early in the
Add ECDT (ACPI 2.0) support. This allows the EC to be enabled before the 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
show more ...
|
#
ff40920e |
| 15-Jul-2003 |
Nate Lawson <njl@FreeBSD.org> |
Change the msleep part of EcWaitEvent to be a separate loop, fixing a problem that for some very slow ECs (~6 ms occasionally) causes a timeout. Also finish resource cleanup in the error case in att
Change the msleep part of EcWaitEvent to be a separate loop, fixing a problem that for some very slow ECs (~6 ms occasionally) causes a timeout. Also finish resource cleanup in the error case in attach.
Tested by: ume
show more ...
|
#
6fca9360 |
| 14-Jul-2003 |
Nate Lawson <njl@FreeBSD.org> |
Update code to work with 0619 dist
* Use ACPI_BUFFER as the type for AcpiGetObjectInfo * Remove AcpiEnableEvent/AcpiClearEvent for ACPI_EVENT_FIXED (power/sleep buttons) as they are no longer need
Update code to work with 0619 dist
* Use ACPI_BUFFER as the type for AcpiGetObjectInfo * Remove AcpiEnableEvent/AcpiClearEvent for ACPI_EVENT_FIXED (power/sleep buttons) as they are no longer needed * Change calls to use the new GPE functions * Add AcpiOs*Lock functions
show more ...
|
#
1f04e8f5 |
| 10-Jul-2003 |
Nate Lawson <njl@FreeBSD.org> |
Rewrite much of the embedded controller driver. * Always use polled mode. The intr approach did not work for many controllers and required the hw.acpi.ec.event_driven workaround. * Only use an edg
Rewrite much of the embedded controller driver. * Always use polled mode. The intr approach did not work for many controllers and required the hw.acpi.ec.event_driven workaround. * Only use an edge (not level) triggered GPE handler * Add sc->ec_mtx for locking operations to a single EC. There were many race conditions earlier between an SCI event and EcRead/Write. * Use 1 ms as the global lock timeout * Only acquire global lock if _GLK != 0 * Update EcWaitEvent to use an incremental backoff delay in its poll loop. Wait 50 ms max instead of 10. Most ECs respond in < 5 us (50 us when heavily loaded). However, some time out occasionally even with a 10 ms timeout. For delays past 1 ms, use msleep instead of DELAY to give SCI interrupts a chance to occur. * Add EcCommand to send a command and wait for the appropriate event. * The hw.acpi.ec.event_driven tunable is no longer applicable and has been removed.
Ideas from: Linux
show more ...
|