Add entity for takawata.

This commit is contained in:
Tom Rhodes 2004-12-16 18:12:13 +00:00
parent 929bf4daa5
commit 19610009e8
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/www/; revision=23239
2 changed files with 401 additions and 2 deletions

View file

@ -6,7 +6,7 @@ allows multiple documents to use the abbreviated entities, and allows
us to update author names, or the representation of those names (such
as adding email addresses), by just editing a single file.
$FreeBSD: www/en/developers.sgml,v 1.88 2004/10/22 10:19:02 rwatson Exp $
$FreeBSD: www/en/developers.sgml,v 1.89 2004/11/07 15:06:37 simon Exp $
-->
@ -142,6 +142,7 @@ $FreeBSD: www/en/developers.sgml,v 1.88 2004/10/22 10:19:02 rwatson Exp $
<!ENTITY a.sos "S&oslash;ren Schmidt">
<!ENTITY a.stefanf "Stefan Farfeleder">
<!ENTITY a.steve "Steve Price">
<!ENTITY a.takawata "Takanori Watanabe">
<!ENTITY a.tanimura "Seigo Tanimura">
<!ENTITY a.tegge "Tor Egge">
<!ENTITY a.tjr "Tim&nbsp;J.&nbsp;Robbins">

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" [
<!ENTITY base CDATA "../..">
<!ENTITY date "$FreeBSD: www/en/projects/acpi/index.sgml,v 1.1 2004/04/18 20:34:26 marks Exp $">
<!ENTITY date "$FreeBSD: www/en/projects/acpi/index.sgml,v 1.2 2004/12/16 16:43:09 trhodes Exp $">
<!ENTITY title "FreeBSD ACPI project">
<!ENTITY email 'marks'>
<!ENTITY acpi-mail 'freebsd-acpi@FreeBSD.org'>
@ -171,8 +171,406 @@
<td> &nbsp; </td>
</tr>
</tbody>
</table>
<a name="medium-priority"></a>
<h3>Medium Priority Tasks</h3>
<table>
<tbody>
<tr>
<td> Hotkey/backlight/sound generic driver Add a driver
that generalizes the various device-specific ways of
adjusting backlight, sound volume, hotkey support, etc.
It should provide generic sysctls for these and attach to
the hw-specific drivers (acpi_video, acpi_asus, acpi_toshiba,
etc.) </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.wip; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Fujitsu driver -- Driver for Fujitsu laptop extras. Just needs
to be cleaned up (use acpi_UserNotify instead of the signal
stuff) and imported. </td>
<td> &a.marks; </td>
<td> &nbsp; </td>
<td> &status.wip; </td>
<td> See <a href="http://www.stalker.org/~sean/freebsd-p2040/FujiApp/index.html">
Seans driver</a>. </td>
</tr>
</tbody>
</table>
<a name="low-priority"></a>
<h3>Low Priority Tasks</h3>
<table>
<tbody>
<tr>
<td> Implement X suspend/resume notification. Currently,
the X server on FreeBSD is not notified of a suspend.
We explicitly switch to a VTY on syscons before resume
to get the server to save and then restore all the registers.
This works for many systems but not if the display is left in
less initialized at resume than the VTY switch code can handle.
There is an interface (in the X server bsd_apm.c) for doing ioctls
to find out about the suspend. First, check if this file is
built on FreeBSD as it appears to only be built on NetBSD.
Then implement the ioctls in both apm and acpi (on the apm
compat device).
<a href="http://www.root.org/~nate/freebsd/bsd_apm.diff">Here is a
patch</a> to help the X file compile. For acpi, we don't want
a user process dying to hold up the suspend process so implement
the notification with a timeout. That is, if the kernel generates
a APM_STANDBY_REQ notification and it doesn't receive a
APM_IOC_STANDBY within say 5 seconds, continue the suspend process.
This is needed for standby when X isn't running, for instance, or
when an emergency suspend is generated by a battery going
critical.</td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Examine the two video resume hacks (int 0x10, lcall 0xc000).
Linux has begun to test calling the "lcall" VESA reset after
PCI devices (including the video card) have been fully resumed,
including power state set to PS0. This works for many Radeon
cards but fails for others. We could implement this in vm86
calls from a proper video driver resume method. Also, implement
the int 10h resume hack that Linux has since we don't have that yet.
It is unclear how effective it is but some systems do require it. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Check our DWORD access to EC regions, including endianness.
Currently, we treat DWORD access as little-endian, which makes
sense on PCs. It's really not correct to do use access other than
BYTE for EC space but some ASL uses DWORD. Also, we should test
what happens for AnyAccess reads/writes to EC space since some
ASL does this too. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> ACPI-CA should really enable GPEs before calling \_WAK.
Currently it does the opposite. This does not match the ACPI
spec where \_WAK should be called after the system is up
and running (\_BFS is what should be called as soon as
possible after waking.) </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Potential ASL bug: We may need to work around some systems
having the S3 object listed under the LPC bus device (PNP0A03)
instead of root (\). This is ACPI-CA's responsibility. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> For systems that fail to power off, try using the suspend code
(acpi_SetSleepState) instead. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> See if we can enable EC access early even if an ECDT is not
present. The _INI method for some ECs accesses the EC region
even though _REG has not been called since the region is not
initialized yet. It's likely that Windows hard-codes the EC
resources and enables the region before initializing the device
even though this is not allowed by the spec. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Implement reset register functionality for rebooting systems
that lack a keyboard controller (see ACPI v2 FADT->ResetRegister). </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Be sure not to try to disable ACPI on systems that do not have
SMI_CMD or ACPI_ENABLE/DISABLE values in the FADT. The ia64 machines
specify ACPI-only (no legacy mode) so they have 0 for these
values and we shouldn't enable/disable ACPI on them. Doing so
gives a "failed to switch modes" warning but no real problems,
apparently. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Check our implementation of AcpiOsDerivePciId().
It is probably not quite right. Compare against Linux. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Run instructions on cpu0 for suspend/resume. We currently do
this for shutdown in kern_shutdown.c:boot(). This will also be
required for SMP cpufreq drivers that set the frequency via a
CPU-specific MSR. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Implement passive cooling in ACPI thermal. It should use the
cpufreq interface to cool the processor, based on the various _PSV
settings. Also, we need to implement variable polling intervals
for thermal zones based on both the passive settings and polling
explicitly specified in the ASL. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Traverse local reference (scope) types in namespace when probing
devices. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> IBM Thinkpad extras driver -- Driver for Thinkpad hotkeys. </td>
<td> &a.takawata; </td>
<td> &nbsp; </td>
<td> &status.done; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Call _S0D on resume (power up?) </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Implement support for _PRS/_SRS and dependent functions.
This will allow serial port configuration to occur. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Fix stray irq 9 on reboot --
AcpiTerminate -&gt; AcpiEvTerminate unhooks the SCI and then we
get a stray irq. Debug why. Also, disable/ re-enable acpi gives
"SCI already attached". Check flags for AcpiDisable vs.
AcpiTerminate. This looks uncommon and doesn't cause any problems
so I am ignoring it for now. </td>
<td> &a.njl; </td>
<td> &nbsp; </td>
<td> &status.wip; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Add EC burst mode -- Code was written before to add burst mode to
the EC. Unfortunately, it had to be disabled since it did not
appear to work on all systems. I am guessing that some systems
do not function correctly without burst mode, so I will add it
back with some logic to fallback if it fails. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Add smart battery support -- Smart batteries use the SMBus
to communicate data instead of the embedded controller for
control-method batteries. Newer ACER laptops have this and
it will be needed for battery status on them. This is rather
difficult since it involves interfacing with the SMBus drivers
(likely need some kobj methods for this.) </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Intel firmware seems to describe the PCI root bridge where
chipset configuration space lives with _STA==0x8. The spec
says this means "functional, but not present". The current
code ignores things that are "not present"
(<a href="https://sourceforge.net/mailarchive/message.php?msg_id=6923358">
msg</a>). It is suggested that this should be handled by not
attaching a driver to the device (i.e. bridge) but probe its children.
Present on Big Sur and Bull systems. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td>Re-work device wake setup to not be recursive.
The acpi_wake_sysctl_walk() syscall has to call itself to
handle child devices on other busses (PCI). This should
probably be changed to be a DEVMETHOD. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> device_power -- Add a "power" argument to devctl(8)
that allows a device to be set into various low power or
off states. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> device_eject -- Add a devctl(8) program that has an
"eject" argument. Allow users to eject various object
names ("/dev/cdrom", "/mnt/flashdrive", "wi0", "pci0:2:0").
Call the appropriate _EJD and _EJx methods if appropriate.</td>
<td> &a.imp;, &a.jhb;, and &a.takawata; </td>
<td> &nbsp; </td>
<td> &status.wip; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> suspend to disk -- Implement a suspend/resume from disk
mechanism. Possibly use the dump functions to dump pages to
disk, then use ACPI to put the system in S4 or power-off.
Resume would require changes to the loader to load the memory
image directly and then begin executing again. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> HP/Toshiba Satellite driver -- Enabling the extra
one-touch/multimedia keys, console blanking, battery and
temperature reporting, etc. Get an idea of what is needed from
the <a href="http://sourceforge.net/projects/omke/>Linux OMKE project">
</a>. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> ASL capture bootable CD-R -- Build a set of scripts to
generate a bootable CD-R. It should have a GENERIC kernel
and acpidump/iasl as well as all support libraries. Replace
init with a script such that booting the CD generates an
acpidump -t -d &gt; machine.asl and dmesg &gt; machine.dmesg in
an MFS partition. Then burn this info to a second track on the
CD-R. This will make an easy way to take a batch of CDRWs to
the local computer store, place them in the CDRW drive, boot
FreeBSD and get the ASL. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> ASL Explorer -- Graphical utility for examining the output
of acpidump(8). Contact &a.njl; for info about the design if you
are interested in implementing this. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Document acpi kernel interfaces -- Document the interfaces
for drivers found in acpivar.h. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> KTR support for ACPI debug messages -- Use the KTR logging
facility instead of printf for ACPI debugging messages. This
would allow more verbose messages and fast dumping. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Add support for the real-time clock (RTC) to use to wake
or power-on systems at a certain time of day. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
<tr>
<td> Quiesce USB when no device is attached (see Linux UHCI) --
this would help such systems use C3 more, saving power with
USB loaded. While at it, fix uhci suspend/resume. </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td> &status.new; </td>
<td> &nbsp; </td>
</tr>
</tbody>
</table>
<a name="platform-status"></a>