18 Commits

Author SHA1 Message Date
Poul-Henning Kamp
db7e3af111 Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00
Mitsuru IWASAKI
6a8954b084 Fix StallOp implementaion. I've noticed that StallOp corresponds to
OsdSleepUsec(), SleepOp corresponds to OsdSleep() by reading ACPICA
source code.
 - Add OsdSleepUsec() which uses DELAY() simply.
 - Change unit of acpi_sleep() argument; microseconds to milliseconds.
2000-10-02 08:58:50 +00:00
Mitsuru IWASAKI
3ea2027588 - Add acpi_disable_events() and set it with EVENTHANDLER_REGISTER in order to
avoid power on again problem after acpi_soft_off() calling.
 - Implement SleepOp/StallOp in AML interpreter.  Also provide ACPICA
   compatibility.
 - Minor changes on __inline function declaration in acpica_osd.h
   (obtained from NetBSD porting).
2000-09-30 22:37:24 +00:00
Mike Smith
96f5284585 More updates to the ACPI code:
- Move all register I/O into acpi_io.c
 - Move event handling into acpi_event.c
 - Reorganise headers into acpivar/acpireg/acpiio
 - Move find-RSDT and find-ACPI-owned-memory into acpi_machdep
 - Allocate all resources (except those detailed only by AML)
   as real resources.  Add infrastructure that will make adding
   resource support to AML code easy.
 - Remove all ACPI #ifdefs in non-ACPI code
 - Removed unnecessary includes
 - Minor style and commenting fixes

Reviewed by:	iwasaki
2000-09-30 20:12:27 +00:00
Mike Smith
13b19f6885 Whitespace, spelling and comments cleanup. Try to bring this a little
closer to a consistent style without going totally overboard.  Preserve
the 8-space indents even though I loathe them.
2000-09-27 05:43:54 +00:00
Mike Smith
81a324e8b0 Shut up some debugging messages that appear to have been left on by
default.

Fix the identify/probe/attach cycle somewhat.  Now in acpi_identify we
parse enough of the RSDT/FACP to find the communications port and
interrupt so that we can establish these as resources on the acpi device.

Pass the softc to acpi_queue_event so that it doesn't dereference NULL
when acpi_intr is invoked in the attach routine (because devclass_get_softc
isn't going to work yet).

Account for our allocated resources properly so that we can free them
if required.
2000-09-27 01:40:47 +00:00
Mitsuru IWASAKI
d4c2a7c9ac Add code for device wake capability during sleeping state.
- Add acpi_gpe_enable_bit() to manipulate GPE enable registers based
  on _PRW objects.
 - Add acpi_set_device_wakecap().  This will manipulate related
   PowerResource objects and execute _PSW method of the device.
 - Cleanup and some small fixes.

This code was implemented based on 7.2.1 _PRW in spec mainly.
2000-09-26 20:21:19 +00:00
Takanori Watanabe
e126cbaaca Clear intrrupt before kthread gets ready.
Submitted by:	iwasaki
2000-09-26 12:39:37 +00:00
Takanori Watanabe
0aaa98f3a5 Add event queueing kernel thread and GPE related code. 2000-09-26 12:09:57 +00:00
Mitsuru IWASAKI
d9e2f78b50 Ignore power button and sleep button events for 5 sec.
Wakeup event is generated by power button and/or sleep button on some
laptops but this also generates SCI interrupt, and shutdown the system
as result.  So this kind of mechanism is introduced so that acpi
driver ignore given events for certain period.
2000-09-20 01:53:11 +00:00
Mitsuru IWASAKI
32d817d227 Add acpi_send_pm_event() to inform all devices that the system is
going to sleep and back from sleep.
Also re-enabling some acpi registers on wakeup.
2000-09-14 23:29:37 +00:00
Mitsuru IWASAKI
09ab664412 Add ACPI_BUS_SPACE stuff definitions in acpi_machdep.h.
Change to include this file rather than acpica_osd.h to use
only ACPI_BUS_SPACE stuff.
2000-09-02 15:06:54 +00:00
Mitsuru IWASAKI
6861bd8822 Change the probing order priority of acpi so that acpi is probed after
pcib instance is initialized because accesses to PCI_Config region can
occur during ACPI initialization.
Note that this is a short term solution, more consideration will be
required in order to integrate ACPI into the newbus probe sequence.
2000-09-01 20:37:07 +00:00
Mitsuru IWASAKI
bb579ecba0 Cleanup on power off code under ACPI.
- Remove DELAY() kludge before power off.
 - Move EVENTHANDLER_REGISTER to acpi_attach().
 - Pass RB_POWEROFF flag to shutdown_nice().

Reviewed by:	msmith
2000-08-31 11:15:03 +00:00
Mitsuru IWASAKI
51b6d45826 Refine implementation of PowerResource manipulation sub-routines.
- Add new funcions for device state stuff;
   acpi_get_current_device_state() and acpi_set_device_state()
 - Add new funcions for power resource stuff;
   acpi_powerres_init(), acpi_powerres_debug(),
   acpi_get_current_powerres_state() and acpi_set_powerres_state()

These were implemented based on 7.1, 7.2, 7.2.2, 7.2.3, 7.2.4, 7.3,
7.3.3, 7.4, 7.4.1, 7.4.2, 7.4.3 and 7.5 of ACPI spec 1.0b.
2000-08-29 20:38:31 +00:00
Mitsuru IWASAKI
001bdb7c40 A lot of changes on acpi driver code.
- The "Osd*" stuff went away from acpi driver code, use the bus_space
   functions directly instead.
 - Fix minor english bugs.
   acpi_registers_input  -> acpi_register_input
   acpi_registers_output -> acpi_register_output
 - Remove all magic numbers for the sleeping states.  We now have
   #defines for these.
 - NULL is treated the same as the return from aml_get_rootname in
   aml_find_from_namespace().

Suggested by:	msmith

Thanks mike!
2000-08-29 20:30:54 +00:00
Mitsuru IWASAKI
d7c0bff411 Move acpi_softc into acpi.h to be shared from additional files.
Add PowerResource manipulation code; acpi_powerres.c.  (more files to
be created something like acpi_battery, acpi_thermal.c...)
2000-08-25 19:04:16 +00:00
Takanori Watanabe
681cfb39e1 Add orthogonal part of ACPI support code.
This does not come effect until non-orthogonal part is commited.

Approved by: jkh
Obtained from:	ACPI for FreeBSD CVS repository.
2000-08-24 09:33:30 +00:00