#
2be4e471 |
| 22-Mar-2007 |
Jung-uk Kim <jkim@FreeBSD.org> |
Catch up with ACPI-CA 20070320 import.
|
Revision tags: release/6.2.0_cvs, release/6.2.0 |
|
#
907b6777 |
| 07-Jan-2007 |
Nate Lawson <njl@FreeBSD.org> |
Re-work Cx handling to be per-cpu and asymmetrical, fixing support on modern dual-core systems as well.
- Parse the _CST packages for each cpu and track all the states individually, on a per-cpu bas
Re-work Cx handling to be per-cpu and asymmetrical, fixing support on modern dual-core systems as well.
- Parse the _CST packages for each cpu and track all the states individually, on a per-cpu basis.
- Revert to generic FADT/P_BLK based Cx control if the _CST package is not present on all cpus. In that case, the new driver will still support per-cpu Cx state handling. The driver will determine the highest Cx level that can be supported by all the cpus and configure the available Cx state based on that.
- Fixed the case where multiple cpus in the system share the same registers for Cx state handling. To do that, added a new flag parameter to the acpi_PkgGas and acpi_bus_alloc_gas functions that enable the caller to add the RF_SHAREABLE flag. This flag could also be useful to other callers (acpi_throttle?) in the tree but this change is not yet made.
- For Core Duo cpus, both cores seems to be taken out of C3 state when any one of the cores need to transition out. This broke the short sleep detection logic. It is disabled now if there is more than one cpu in the system for now as it fixed it in my case. This quirk may need to be re-enabled later differently.
- Added support to control cx_lowest on a per-cpu basis. There is still a generic cx_lowest to enable changing cx_lowest for all cpus with a single sysctl and for ease of use. Sample output for the new sysctl:
dev.cpu.0.cx_supported: C1/1 C2/1 C3/57 dev.cpu.0.cx_lowest: C3 dev.cpu.0.cx_usage: 0.00% 43.16% 56.83% dev.cpu.1.cx_supported: C1/1 C2/1 C3/57 dev.cpu.1.cx_lowest: C3 dev.cpu.1.cx_usage: 0.00% 45.65% 54.34% hw.acpi.cpu.cx_lowest: C3
This work was done by Stephane E. Potvin with some simple reworking by myself. Thank you.
Submitted by: Stephane E. Potvin <sepotvin / videotron.ca> MFC after: 2 weeks
show more ...
|
#
d1b16e18 |
| 29-Jul-2006 |
Nate Lawson <njl@FreeBSD.org> |
Add a new sysctl, hw.acpi.handle_reboot. If set, acpi will attempt to perform the reboot action via the reset register instead of our legacy method. Default is 0 (use legacy). This is needed becau
Add a new sysctl, hw.acpi.handle_reboot. If set, acpi will attempt to perform the reboot action via the reset register instead of our legacy method. Default is 0 (use legacy). This is needed because some systems hang on reboot even though they claim to support the reset register.
MFC after: 2 days
show more ...
|
#
4c452688 |
| 12-Jun-2006 |
Nate Lawson <njl@FreeBSD.org> |
Check in file missed in last commit. It made it into the MFC properly though.
|
Revision tags: release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0 |
|
#
c4a9fa45 |
| 06-Dec-2005 |
Nate Lawson <njl@FreeBSD.org> |
Add KTR support and move some performance debugging variables in the EC to KTR. We're reusing the KTR_DEV level.
|
Revision tags: release/6.0.0_cvs, release/6.0.0 |
|
#
e8d472a7 |
| 01-Nov-2005 |
Jung-uk Kim <jkim@FreeBSD.org> |
Catch up with ACPI-CA 20051021 import
|
#
6a4810bd |
| 01-Nov-2005 |
Scott Long <scottl@FreeBSD.org> |
Move HPET debugging under ACPI_TIMER in order to save a bitfield.
|
#
5be4c55f |
| 01-Nov-2005 |
Scott Long <scottl@FreeBSD.org> |
Add proper debugging infrastructure for acpi_hpet.c.
|
#
76f6fe4f |
| 23-Jul-2005 |
Nate Lawson <njl@FreeBSD.org> |
Rewrite the acpi_battery interface to allow for other battery types (i.e., smart battery) and fix various bugs found during the cleanup.
API changes: * kernel access: Access to individual batteries
Rewrite the acpi_battery interface to allow for other battery types (i.e., smart battery) and fix various bugs found during the cleanup.
API changes: * kernel access: Access to individual batteries is now via devclass_find("battery"). Introduce new methods ACPI_BATT_GET_STATUS (for _BST-formatted data) and ACPI_BATT_GET_INFO (for _BIF-formatted data). The helper function acpi_battery_get_battinfo() now takes a device_t instead of a unit # argument. If dev is NULL, this signifies all batteries.
* ioctl access: The ACPIIO_BATT_GET_TYPE and ACPIIO_BATT_GET_BATTDESC ioctls have been removed. Since there is now no need for a mapping between "virtual" unit and physical unit, usermode programs can just specify the unit directly and skip the old translation steps. In fact, acpiconf(8) was actually already doing this and virtual unit was the same as physical unit in all cases since there was previously only one battery type (acpi_cmbat). Additionally, we now map the ACPIIO_BATT_GET_BIF and ACPIIO_BATT_GET_BST ioctls for all batteries, if they provide the associated methods.
* apm compatibility device/ioctls: no change * sysctl: no change
Since most third-party applications use the apm(4) compat interface, there should be very few affected applications (if any).
Reviewed by: bruno MFC after: 5 days
show more ...
|
#
8518ed9e |
| 09-May-2005 |
Mark Santcroos <marks@FreeBSD.org> |
Simplify the ACPI taskqueue implementation. Use a thread queue type instead of swi. This allows us to use the taskqueue_thread_* functions instead of rolling our own. It also avoids a double trip thr
Simplify the ACPI taskqueue implementation. Use a thread queue type instead of swi. This allows us to use the taskqueue_thread_* functions instead of rolling our own. It also avoids a double trip through the queue.
Submitted by: njl Reviewed by: sam
show more ...
|
Revision tags: release/5.4.0_cvs, release/5.4.0 |
|
#
98cc1619 |
| 21-Apr-2005 |
Nate Lawson <njl@FreeBSD.org> |
Add the tunable "debug.acpi.max_threads" to allow users to set the number of task threads to start on boot. Go back to a default of 3 threads to work around lost battery state problems. Users that
Add the tunable "debug.acpi.max_threads" to allow users to set the number of task threads to start on boot. Go back to a default of 3 threads to work around lost battery state problems. Users that need a setting of 1 can set this via the tunable. I am investigating the underlying issues and this tunable can be removed once they are solved.
MFC after: 2 days
show more ...
|
#
bce92885 |
| 10-Apr-2005 |
Nate Lawson <njl@FreeBSD.org> |
Fix support for _PDC by using the proper version/length format for the buffer. Also, reference the Intel document where the _PDC values were found. This now supports ACPI-assisted SpeedStep on my b
Fix support for _PDC by using the proper version/length format for the buffer. Also, reference the Intel document where the _PDC values were found. This now supports ACPI-assisted SpeedStep on my borrowed T42.
show more ...
|
#
b29224c2 |
| 04-Apr-2005 |
Nate Lawson <njl@FreeBSD.org> |
Add the acpi_get_features() method. This method is called on child drivers to see what features they may support before calling identify/probe/attach. This is necessary because the ACPI 3.0 spec req
Add the acpi_get_features() method. This method is called on child drivers to see what features they may support before calling identify/probe/attach. This is necessary because the ACPI 3.0 spec requires driver support be advertised before running any methods. For now, the flags are as specified in for the _PDC and _OSC methods but we can support private flags as needed.
Add an implementation of this for acpi_cpu. It checks all its children (notably cpufreq drivers) and calls the _PDC method to report the results.
show more ...
|
#
b8a16648 |
| 27-Mar-2005 |
Nate Lawson <njl@FreeBSD.org> |
Serialize task queue by starting only one thread instead of three. This may help with various interdependencies between subsystems. More testing is needed to understand what the underlying issues a
Serialize task queue by starting only one thread instead of three. This may help with various interdependencies between subsystems. More testing is needed to understand what the underlying issues are here.
Tested by: Juho Vuori MFC after: 2 days
show more ...
|
#
dad97fee |
| 02-Mar-2005 |
David E. O'Brien <obrien@FreeBSD.org> |
Fix SCM ID's.
|
#
2d810618 |
| 02-Mar-2005 |
Nate Lawson <njl@FreeBSD.org> |
Protect acpivar.h with _KERNEL. No user parts inside currently.
|
#
a885159f |
| 28-Feb-2005 |
Nate Lawson <njl@FreeBSD.org> |
Protect against multiple includes and use _KERNEL to protect the PCI fns.
|
#
373dd876 |
| 22-Feb-2005 |
John Baldwin <jhb@FreeBSD.org> |
- Add a new quirk to indicate that pin 0 of the first I/O APIC is really IRQ 0 and not an ExtINT pin. The MADT enumerators ignore the PC-AT flag and ignore overrides that map IRQ 0 to pin 2 when
- Add a new quirk to indicate that pin 0 of the first I/O APIC is really IRQ 0 and not an ExtINT pin. The MADT enumerators ignore the PC-AT flag and ignore overrides that map IRQ 0 to pin 2 when this quirk is present. - Add a block comment above the quirks to document each quirk so that we can use more verbose descriptions quirks.
MFC after: 2 weeks
show more ...
|
#
e1c4bf3f |
| 05-Feb-2005 |
Nate Lawson <njl@FreeBSD.org> |
Convert the acpi_bus_alloc_gas() and acpi_PkgGas() APIs to output the memory type. This is needed if the resource is to be released later. The RID is still also present, though less necessary since
Convert the acpi_bus_alloc_gas() and acpi_PkgGas() APIs to output the memory type. This is needed if the resource is to be released later. The RID is still also present, though less necessary since rman_get_rid() can be used to obtain it from the resource.
show more ...
|
Revision tags: release/4.11.0_cvs, release/4.11.0 |
|
#
276cd921 |
| 14-Dec-2004 |
Nate Lawson <njl@FreeBSD.org> |
Unify ACPI_DEBUG support for all OEM drivers under ACPI_OEM. Since more than one will never be supported on the same platform, this does not hurt debugging.
MFC after: 3 days
|
#
82d4da0f |
| 13-Dec-2004 |
Scott Long <scottl@FreeBSD.org> |
Allow the acpi_ibm module to be built with ACPI_DEBUG.
|
Revision tags: release/5.3.0_cvs, release/5.3.0 |
|
#
4f8c4e4d |
| 08-Oct-2004 |
Nate Lawson <njl@FreeBSD.org> |
Update a quirk for the ASUS P5A to disable the timer. It appears to work fine with acpi but the timer runs twice as fast. Note that the main problem (system doesn't work properly with acpi disabled
Update a quirk for the ASUS P5A to disable the timer. It appears to work fine with acpi but the timer runs twice as fast. Note that the main problem (system doesn't work properly with acpi disabled) should be fixed separately.
Changes: * Add a quirk to disable the timer * Merge the P5A and P5A-B quirks since they appear to be based on the same ASL.
PR: i386/72450 Tested by: Kevin Oberman <oberman es.net> MFC after: 3 days
show more ...
|
#
e0a93586 |
| 22-Sep-2004 |
John Baldwin <jhb@FreeBSD.org> |
Add a couple of macros to extract the PCI slot (device) and function from an ACPI _ADR value and use that rather than inlining the same shifts and masks everywhere.
|
#
adad4744 |
| 23-Aug-2004 |
Nate Lawson <njl@FreeBSD.org> |
Rework sysresource management. Instead of having each sysresource object hold its own values, pass them up to the parent (acpi0) and merge/uniq them on the way. After the namespace evaluation, acpi
Rework sysresource management. Instead of having each sysresource object hold its own values, pass them up to the parent (acpi0) and merge/uniq them on the way. After the namespace evaluation, acpi will reserve these resources and manage them via rman before bus_generic_probe() and bus_generic_attach(). This is necessary because some systems specify conflicting resources in separate sysresource objects. It's also cleaner in that the interface between sysresource and acpi is now merely the parent's resource list. This code handles the following cases:
1. Unique resource: add it to the parent via bus_set_resource(). 2. New wholly contained in old: discard new. 3. New tail overlaps old head: grow old head downward. AND/OR 4. New head overlaps old tail: grow old tail upward.
Tested by: Pawel Worach <sajd_at_telia.com> Tested by: Radek Kozlowski <radek_at_raadradd.com> MFC after: 5 days
show more ...
|
#
e079f949 |
| 18-Aug-2004 |
Nate Lawson <njl@FreeBSD.org> |
Remove the ACPIIO_ENABLE and ACPIIO_DISABLE ioctls as well as all callers. These ioctls attempted to enable and disable the ACPI interpreter at runtime. In practice, it is not possible to boot with
Remove the ACPIIO_ENABLE and ACPIIO_DISABLE ioctls as well as all callers. These ioctls attempted to enable and disable the ACPI interpreter at runtime. In practice, it is not possible to boot with ACPI and then disable it on many systems and trying to do so can cause crashes, interrupt storms, etc. Binary compatibility with userland is retained.
MFC after: 2 days
show more ...
|