Mike Smith
32d18aa566
Allow the ACPI subsystem to be disabled with a hint.
...
Avoid fully initialising the ACPI namespace if we are attempting to avoid
parts of it. This is a workaround for some systems that still crash
the interpreter.
Implement the ISA_IVAR_LOGICALID for ISA compatibility. Implement stubs
for other PnP ID-related ivars.
2001-09-07 02:57:29 +00:00
Mike Smith
0a8c6c7f24
Move OsdEnvironment.c into MD code; searching for the ACPI tables is not
...
portable.
2001-09-07 02:55:00 +00:00
Mike Smith
1dffb34a9a
Initialise the adapter status to an invalid state, so that the initial check
...
of the adapter object will always result in a change event.
This fixes the problem where a laptop booted without an AC adapter ran
at 100% CPU speed by default.
Submitted by: "Christopher N . Harrell" <cnh@netvmg.com>
2001-09-06 23:33:22 +00:00
John Baldwin
0c7da7acfa
Add a hack to acpi_EvaluateInteger() to handle the case of a method
...
returning a Buffer that contains an Integer rather an an Integer directly.
Submitted by: msmith
Approved by: msmith
2001-09-06 23:16:55 +00:00
Mike Smith
cb97ee57c0
Allocate system resource IRQs as shareable; this is the typical case.
2001-09-06 22:34:40 +00:00
Mitsuru IWASAKI
dbad09ef38
Just print a message in acpi_tz_monitor() only when new active state
...
is different from the previous active state.
This reduce tons of 'acpi_tz0: _AC0: temperature 64.0 >= setpoint 64.0'
messages.
Reviewed by: msmith
2001-09-04 15:40:12 +00:00
Mitsuru IWASAKI
dd081ed5d0
Fix typo; CTLFLAG_RO -> CTLFLAG_RD.
2001-09-02 06:28:20 +00:00
Mike Smith
dde24897d2
Add a MODULE_VERSION declaration. This should prevent duplicate loading
...
of the module, and allows other modules to depend on and link against
the ACPI module.
Add a sysctl that allows us to retrieve the ACPI CA version number as
well.
2001-09-01 22:41:53 +00:00
Mike Smith
2a4684aa19
Don't claim memory resources owned by a PNP0C01 device ("system memory")
...
as some systems claim the entire physical address space is owned by it.
2001-08-31 22:59:04 +00:00
Mike Smith
05c03ed9b8
Don't activate placeholder resources; it can be very expensive in the
...
SYS_RES_MEMORY case, and it shouldn't be necessary.
2001-08-31 18:08:50 +00:00
Takanori Watanabe
ff741bef86
Call OS-independent resume routine to execute _WAK .. etc.
...
This should also recover GPE bit,comment says, though not implemented yet.
2001-08-31 05:36:48 +00:00
Mike Smith
bc0f21954b
Add support for attaching PnP-aware ISA drivers to ACPI.
...
Always parse ACPI device resource settings (current resources only)
and attach the resources to the device before probe/attaching.
2001-08-30 00:50:58 +00:00
Mike Smith
832183ba00
Retarget the resource parser slightly. We only fetch current resources
...
for the device now (we should really just be parsing a passed-in resource
buffer).
Wrap long lines so this is (more) readable.
Support Address16 and Address32 resources, in the CONSUMER case.
Support DRQs so that we can handle ISA devices.
Support ExtendedIrqs (we ignore most of their attributes)
Add a placeholder device for system memory and system resources. This
takes the place of the nexus placeholder, which only attaches to ISA.
2001-08-30 00:49:34 +00:00
Mike Smith
d5519f129a
Note that now that some ISA devices will attach to ACPI, we need to
...
keep the ivar indexes that ISA uses free.
2001-08-30 00:45:42 +00:00
Mike Smith
2668fa394a
Don't parse our resources ourself, the ACPI core code must do it.
2001-08-30 00:45:12 +00:00
Mike Smith
93b9ee69f5
Nuke the (fairly bogus) attachment of *all* ACPI devices to ISA.
2001-08-30 00:44:29 +00:00
Mike Smith
f48bf2d715
Add missing acpi_disabled() call so that this driver can be disabled.
2001-08-30 00:44:01 +00:00
Mike Smith
4c1cdee628
Updates to match the ACPI CA 20010816 import:
...
- New debug macro (ACPI_DEBUG_PRINT), reducing debug-case code size.
- New debug level/subsystem codes.
2001-08-26 22:50:15 +00:00
Mitsuru IWASAKI
eb5b463449
Fix error checking about device state transition from D0 to D3.
...
Turn off the resources listed in _PR0 to go to D3 if we don't have _PR3/_PS3.
Reviewed by: msmith
2001-08-21 18:22:40 +00:00
Mike Smith
6d3d1a8100
Remove noisy printfs from the notify handler; having these go off
...
every couple of seconds is not useful.
2001-08-21 09:06:02 +00:00
Mike Smith
b2c98acc5e
The Intel 440MX ACPI timer seems to work properly, so add it to the list
...
here. Restructure slightly so that adding more devices is easier.
Submitted by: Jose Gabriel J Marcelino <gabriel@maquina.com>
2001-08-05 23:20:32 +00:00
Mike Smith
feade91944
Reverse the logic here again with regards to "trusted" ACPI timer
...
implementations. More of them seem to be broken, so only "trust"
timers we know work.
2001-08-03 09:52:53 +00:00
Mike Smith
d93b034fe9
Shoud build resources in the _CRS buffer. Oops.
...
Submitted by: "neckpain@nettaxi.com" <neckpain@nettaxi.com>
2001-08-03 08:38:49 +00:00
Mike Smith
a692219d8a
Move the resource pointer when we reallocate the buffer.
...
Submitted by: "neckpain@nettaxi.com" <neckpain@nettaxi.com>
2001-08-03 08:38:11 +00:00
Mike Smith
f16527bb44
The current resource buffer returned from an interrupt link device
...
in the case where there are no interrupts routed for it does not
contain enough space to use it to route an interrupt. In the case
where we need to route an interrupt, throw away the returned buffer
and create a new one containing the interrupt we want.
2001-07-30 09:01:18 +00:00
Mike Smith
6d63101a75
- Prevent the ACPI code from being loaded as a module other than at
...
boot time. Loading as a module once the system is up and running
doesn't make any sense.
- Fix acpi_FindIndexedResource (it would only check the first resource),
changes the calling interface.
- Add a new helper function (acpi_AppendBufferResource) to help building
buffers containing resources.
2001-07-30 08:59:43 +00:00
Mike Smith
d8a9fe36a1
Minor updates (no functional changes)
...
- Remove the beer-ware license (reqested by phk)
- Reorganise so that the PIIX4 workaround code is kept together, and
switch the workaround function via the timecounter struct, saving
a compare in the read-timecounter codepath. Also indicate that
the workaround is active by changing the timecounter hardware string.
2001-07-30 08:57:55 +00:00
Mike Smith
7b60d04d2c
The ACPI timer register corruption problem is resolved in the PIIX4
...
starting with the PIIX4M. Restrict enabling the workaround to those
chips known to be buggy.
2001-07-27 09:01:13 +00:00
Mitsuru IWASAKI
44df042b35
Better checking of duplicated interrupt handler installation.
...
Reviewed by: msmith
2001-07-25 16:13:30 +00:00
Mitsuru IWASAKI
5394e6a026
Some minor fixes.
...
- Set system power profile only when AC-line status has canged.
- Get initial AC-line status after whole system is up.
Reviewed by: msmith
2001-07-25 16:08:58 +00:00
Mitsuru IWASAKI
56d8cb57b9
Don't do sleep state transition if specified sleep state is not
...
supported by the system.
2001-07-22 19:13:54 +00:00
Mike Smith
bfae45aa43
Convert from acpi_strerror() to AcpiFormatException()
...
Fix dangling include of the dear departed acpi_ecreg.h
2001-07-21 10:24:37 +00:00
Mike Smith
9d839ea8e4
Update the OSD module to match the ACPI CA 20010717 import.
...
Submitted by: "Grover, Andrew" <andrew.grover@intel.com> (OsdHardware.c)
2001-07-21 04:10:01 +00:00
Mike Smith
787fa5b805
Implement a "proper" timecounter hung off the ACPI timer device.
...
This code is based on the mp_clock code by phk. It attempts to
detect the PIIX4 (see comments for details) and use a workaround
for its problems.
This code is experimental, and could use some testing and review by a
timekeeping enthusiast.
2001-07-21 04:08:42 +00:00
Mike Smith
da3b867e37
Merge the EC register definitions into the EC module proper, they're not
...
used anywhere else.
AcpiOsSleepUsec() -> AcpiOsStall()
2001-07-21 04:06:44 +00:00
Mike Smith
ad5dc75bb4
Use our saved copy of the FADT rather than fetching it again.
2001-07-21 04:05:32 +00:00
Mike Smith
67ce16735b
Don't call ourselves a "control method" anything, that's not useful.
...
Move the "button pressed" diagnostics to the point where we can print
out which button was actually pressed.
2001-07-21 04:05:08 +00:00
Mike Smith
acf72ef4f1
The API for loading tables changed (we no longer explicitly search for the
...
RSDP, it's now found via a callback).
AcpiOsSleepUsec() went away, use AcpiOsSleep() instead (we could use
AcpiOsStall() too)
AcpiFormatException() was changed to make more sense (it behaves like
our old acpi_strerror() did), so throw acpi_strerror() away (still
#defined in acpivar.h though, we need to sweep these seperately).
2001-07-21 04:04:03 +00:00
Mike Smith
f7ae7f1d00
We haven't used this for ages, and we're not going to either.
2001-07-20 09:44:55 +00:00
Takanori Watanabe
6161544ca7
Add ACPI S2-S4BIOS Suspend/Resume code.
...
Some problems may remain.
Reviewed by:iwasaki
2001-07-20 06:07:34 +00:00
Mike Smith
dfcd35dd08
Whoops; we get an ACPI_OBJECT back from evaluating a method, not
...
an ACPI_OPERAND_OBJECT. Fix this so that the power resource type
can be properly checked, and we can get the system level and
resource order.
2001-07-09 21:24:59 +00:00
Mike Smith
83ac9b3bab
Nuke the ACPI APIC driver. The ACPI CA infrastructure it depended on
...
is gone, and it's not coming back, and the whole driver needed to be
rethrought to deal with a major chicken-and-egg consideration.
2001-07-07 22:23:56 +00:00
Mitsuru IWASAKI
f0987736ef
Fix typo in acpi_cpu_attach() and correct range checking in
...
acpi_cpu_speed_sysctl().
2001-07-07 18:39:13 +00:00
Mike Smith
fec754d4b4
Kill the old processor driver; the ACPI CA functions it depended on
...
are not coming back any time soon. Implement a new 'acpi_cpu' driver
with support for CPU throttling and power policies.
2001-07-07 10:27:17 +00:00
Mike Smith
7d3bcec9fb
Add acpi_GetTableIntoBuffer, to aid in fetching tables.
2001-07-07 10:20:17 +00:00
Mike Smith
db302f9945
Get the ACPI softc before we potentially dereference it.
2001-07-07 10:18:10 +00:00
Mike Smith
30185bcabe
Quiet the complaint about the _SCP method if it doesn't exist; it's
...
not mandatory.
2001-07-07 10:17:22 +00:00
Mike Smith
8077a62b9c
Oops, have to use AcpiSetCurrentResources, not invoke the _SRS method
...
directly.
2001-07-07 10:12:06 +00:00
Mike Smith
4a54f77582
Add support for user-requested override of cooling levels.
...
Monitor the system power profile, and use _SCP to adjust thermal zones
accordingly.
Simplify the behaviour of the timeout routine, and add some temporary
debugging.
2001-07-07 01:49:15 +00:00
Mike Smith
59c82e8fd0
Add support for system power profiles; select "performance" when AC power
...
is available and "economy" when it is not.
2001-07-07 01:46:40 +00:00