Revision tags: release/4.2.0 |
|
#
15e32d5d |
| 28-Oct-2000 |
Mike Smith <msmith@FreeBSD.org> |
Initial FreeBSD OSPM (operating system power management) modules for ACPICA. Most of these are still works in progress. Support exists for:
- Fixed feature and control method power, lid and sleep
Initial FreeBSD OSPM (operating system power management) modules for ACPICA. Most of these are still works in progress. Support exists for:
- Fixed feature and control method power, lid and sleep buttons. - Detection of ISA PnP devices using ACPI namespace. - Detection of PCI root busses using ACPI namespace. - CPU throttling and sleep states (incomplete) - Thermal monitoring and cooling control (incomplete) - Interface to platform embedded controllers (mostly complete) - ACPI timer (incomplete) - Simple userland control of sleep states. - Shutdown and poweroff.
show more ...
|
#
7e857dd1 |
| 12-Jun-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
- Merge from HEAD
|
#
129d3046 |
| 05-Jun-2009 |
Jung-uk Kim <jkim@FreeBSD.org> |
Import ACPICA 20090521.
|
#
aaac7452 |
| 03-Jun-2009 |
Jung-uk Kim <jkim@FreeBSD.org> |
Chase ACPICA API changes (for kernel and boot loader).
|
Revision tags: release/6.4.0_cvs, release/6.4.0 |
|
#
d78d9a64 |
| 25-Nov-2008 |
Ganbold Tsagaankhuu <ganbold@FreeBSD.org> |
Remove unused variable.
Found with: Coverity Prevent(tm) CID: 3678
Approved by: njl
|
Revision tags: release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0, release/6.2.0_cvs, release/6.2.0, release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0 |
|
#
d37d99c4 |
| 03-Dec-2005 |
John Baldwin <jhb@FreeBSD.org> |
Force any hardwire-routed interrupts to level trigger and active low polarity. Some machines route PCI IRQs to an ISA IRQ but fail to include an interrupt override entry to set the polarity and trig
Force any hardwire-routed interrupts to level trigger and active low polarity. Some machines route PCI IRQs to an ISA IRQ but fail to include an interrupt override entry to set the polarity and trigger of the given ISA IRQ in their MADT table.
PR: usb/74989 Reported by: Julien Gabel jpeg at thilelli dot net MFC after: 1 week
show more ...
|
#
80f049d3 |
| 02-Dec-2005 |
John Baldwin <jhb@FreeBSD.org> |
Add a missing newline to a printf.
MFC after: 1 week
|
#
f25bdd3b |
| 07-Nov-2005 |
John Baldwin <jhb@FreeBSD.org> |
Work around at least one busted BIOS. If we get a source index in a _PRT entry that is not zero, assume that it is really a hard-wired IRQ (commonly used for APIC routing) and not a source index. I
Work around at least one busted BIOS. If we get a source index in a _PRT entry that is not zero, assume that it is really a hard-wired IRQ (commonly used for APIC routing) and not a source index. In practice, we've only ever seen source indices of 0 for legitimate non-hard-wired _PRT entries.
Reviewed by: njl Tested by: Alex Lyashkov shadow at psoft dot net MFC after: 2 weeks
show more ...
|
Revision tags: release/6.0.0_cvs, release/6.0.0 |
|
#
2a191126 |
| 11-Sep-2005 |
David E. O'Brien <obrien@FreeBSD.org> |
Canonize the include of acpi.h.
|
Revision tags: release/5.4.0_cvs, release/5.4.0 |
|
#
18e6466b |
| 08-Mar-2005 |
John Baldwin <jhb@FreeBSD.org> |
- If we fail to find an entry in the PRT, output a warning message. - Fix a bug in the same condition where we forgot to drop the ACPI pcib lock. This fixes hangs after the pcib0 attach on some ma
- If we fail to find an entry in the PRT, output a warning message. - Fix a bug in the same condition where we forgot to drop the ACPI pcib lock. This fixes hangs after the pcib0 attach on some machines.
Tested by: sos (2)
show more ...
|
#
286fceb5 |
| 27-Jan-2005 |
Nate Lawson <njl@FreeBSD.org> |
Consistently use pcib for a printf.
|
Revision tags: release/4.11.0_cvs, release/4.11.0 |
|
#
5e15a081 |
| 18-Jan-2005 |
John Baldwin <jhb@FreeBSD.org> |
For the sake of consistency, look up link devices relative to the root object (/) rather than the pci bus object when walking the _PRT to force attach devices. We already look up relative to the roo
For the sake of consistency, look up link devices relative to the root object (/) rather than the pci bus object when walking the _PRT to force attach devices. We already look up relative to the root object when doing interrupt routing.
Suggested by: njl
show more ...
|
#
d05fa56b |
| 27-Dec-2004 |
Nate Lawson <njl@FreeBSD.org> |
Remove trailing whitespace.
|
#
5e1ba6d4 |
| 23-Nov-2004 |
John Baldwin <jhb@FreeBSD.org> |
Rework the ACPI PCI link code. - Use a new-bus device driver for the ACPI PCI link devices. The devices are called pci_linkX. The driver includes suspend/resume support so that the ACPI bridge
Rework the ACPI PCI link code. - Use a new-bus device driver for the ACPI PCI link devices. The devices are called pci_linkX. The driver includes suspend/resume support so that the ACPI bridge drivers no longer have to poke the links to get them to handle suspend/resume. Also, the code to handle which IRQs a link is routed to and choosing an IRQ when a link is not already routed is all contained in the link driver. The PCI bridge drivers now ask the link driver which IRQ to use once they determine that a _PRT entry does not use a hardwired interrupt number. - The new link driver includes support for multiple IRQ resources per link device as well as preserving any non-IRQ resources when adjusting the IRQ that a link is routed to. - The entire approach to routing when using a link device is now link-centric rather than pci bus/device/pin specific. Thus, when using a tunable to override the default IRQ settings, one now uses a single tunable to route an entire link rather than routing a single device that uses the link (which has great foot-shooting potential if the user tries to route the same link to two different IRQs using two different pci bus/device/pin hints). For example, to adjust the IRQ that \_SB_.LNKA uses, one would set 'hw.pci.link.LNKA.irq=10' from the loader. - As a side effect of having the link driver, unused link devices will now be disabled when they are probed. - The algorithm for choosing an IRQ for a link that doesn't already have an IRQ assigned is now much closer to the one used in $PIR routing. When a link is routed via an ISA IRQ, only known-good IRQs that the BIOS has already used are used for routing instead of using probabilities to guess at which IRQs are probably not used by an ISA device. One change from $PIR is that the SCI is always considered a viable ISA IRQ, so that if the BIOS does not setup any IRQs the kernel will degenerate to routing all interrupts over the SCI. For non ISA IRQs, interrupts are picked from the possible pool using a simplistic weighting algorithm.
Tested by: ru, scottl, others on acpi@ Reviewed by: njl
show more ...
|
#
20447d54 |
| 11-Nov-2004 |
John Baldwin <jhb@FreeBSD.org> |
Only warn about missing _PRT tables if bootverbose is set. I've yet to see a bridge without a _PRT were a _PRT was needed. Instead, the warning in dmesg is a false warning and only serves to cause
Only warn about missing _PRT tables if bootverbose is set. I've yet to see a bridge without a _PRT were a _PRT was needed. Instead, the warning in dmesg is a false warning and only serves to cause unnecessary concern.
MFC after: 1 week
show more ...
|
Revision tags: release/5.3.0_cvs, release/5.3.0 |
|
#
bbf7c27a |
| 13-Aug-2004 |
Nate Lawson <njl@FreeBSD.org> |
MPSAFE locking
* Serialize calls to acpi_pcib_route_interrupt(). * Note that acpi_pcib_attach() should not be called concurrently.
|
#
12f57103 |
| 12-Aug-2004 |
Nate Lawson <njl@FreeBSD.org> |
Only print the link name if there is a link. For the hardwired case, don't bother printing it. This fixes a panic and acpi_name() has been more robust as well.
Bug from: Tai-hwa Liang <avatar-at-m
Only print the link name if there is a link. For the hardwired case, don't bother printing it. This fixes a panic and acpi_name() has been more robust as well.
Bug from: Tai-hwa Liang <avatar-at-mmlab.cse.yzu.edu.tw>
show more ...
|
#
310953d9 |
| 12-Aug-2004 |
Nate Lawson <njl@FreeBSD.org> |
Fix the PRT entry code in acpi_pci_link to always add the entry, even if there is no irq link. Since we now use the stored copy of PRT, not the one that used to be passed into acpi_pcib_route_interr
Fix the PRT entry code in acpi_pci_link to always add the entry, even if there is no irq link. Since we now use the stored copy of PRT, not the one that used to be passed into acpi_pcib_route_interrupt(), we need it in the list. [1]
Fix a bug in acpi_pci_find_prt() where we weren't checking the bus, thus choosing the wrong PRT entry to use for routing the link. Also, add a printf for the case where the PRT entry is not found as this should not happen.
Tested by: marcel [1]
show more ...
|
#
e4116e93 |
| 11-Aug-2004 |
Nate Lawson <njl@FreeBSD.org> |
Re-work ACPI PCI IRQ routing (_PRT, link devices). The old approach was incomplete in that the PRT routing was not aware of link programming. Fix this by doing all routing through the link devices.
Re-work ACPI PCI IRQ routing (_PRT, link devices). The old approach was incomplete in that the PRT routing was not aware of link programming. Fix this by doing all routing through the link devices. The new algorithm for setting up links is:
1. Read _CRS to get current setting. If invalid (not in _PRS), then set to 0. 2. Attempt to call _DIS on the link. If successful, mark the link as not routed. Otherwise, assume it still is.
Then when a routing request occurs:
3. Update weights for all IRQs 4. Attempt to route the initial IRQ if valid 5. If that fails, walk through the sorted list, attempting to route IRQs. 6. Configure the trigger/polarity based on _PRS.
Other changes: * Add acpi_pci_find_prt() to look up the PRT entry for a given device and acpi_pci_link_route() to select/route the best IRQ for it. * Remove duplicated code in acpi_pcib_route_interrupt() that picked the first IRQ from _PRS. * Remove unneeded arguments from acpi_pcib_resume() and friends. * Ignore _STA on link devices but report if it seems strange. * Add a prt_source handle to the PRT structure since the ACPI struct ACPI_PCI_ROUTING_TABLE uses a fixed-size entry for it. We'll need to dynamically size this object if we want to use it the same way ACPI-CA does. Null-terminate the source.
Tested by: Luo Hong <luohong99_at_mails.tsinghua.edu.cn>, Jeffrey Katcher <jmkatcher_at_yahoo.com> Info from: jhb, Len Brown (Intel)
show more ...
|
#
39981fed |
| 01-Jul-2004 |
John Baldwin <jhb@FreeBSD.org> |
Trim a few things from the dmesg output and stick them under bootverbose to cut down on the clutter including PCI interrupt routing, MTRR, pcibios, etc.
Discussed with: USENIX Cabal
|
#
95957f62 |
| 23-Jun-2004 |
John Baldwin <jhb@FreeBSD.org> |
- Defer BUS_CONFIG_INTR() on ACPI IRQ resources until the resources are actually used. For most ACPI devices this means deferring the call until bus_alloc_resource(). - Add a function acpi_con
- Defer BUS_CONFIG_INTR() on ACPI IRQ resources until the resources are actually used. For most ACPI devices this means deferring the call until bus_alloc_resource(). - Add a function acpi_config_intr() to call BUS_CONFIG_INTR() for an ACPI IRQ resource using the trigger mode and polarity information stored in the ACPI resource object. - Add a function acpi_lookup_irq_resource() to lookup the ACPI IRQ resource that corresponds to a specified rid and new-bus resource. - Have the ACPI PCI bridge driver call BUS_CONFIG_INTR() on interrupts that it routes through link devices. - Remove needactivate variable from acpi_alloc_resource() by changing the function not modify the flags variable but just mask off RF_ACTIVE when calling rman_reserve_resource().
Reviewed by: njl (1, an earlier version)
show more ...
|
#
4dc4ea26 |
| 07-Jun-2004 |
John Baldwin <jhb@FreeBSD.org> |
- Use PCI_INVALID_IRQ macro rather than a magic number. - Remove obsolete comment about APIC_IO routing.
|
Revision tags: release/4.10.0_cvs, release/4.10.0 |
|
#
869ec176 |
| 06-May-2004 |
Nate Lawson <njl@FreeBSD.org> |
Make unnecessary globals static and remove unused includes.
Pointed out by: cscout
|
#
4ed2b85d |
| 19-Apr-2004 |
Nate Lawson <njl@FreeBSD.org> |
Add a temporary workaround for acpi_AppendBufferResource() returning with a NULL crsbuf pointer. This shouldn't happen if it returns AE_OK. We'll figure out why this is happening later.
Submitted
Add a temporary workaround for acpi_AppendBufferResource() returning with a NULL crsbuf pointer. This shouldn't happen if it returns AE_OK. We'll figure out why this is happening later.
Submitted by: Bruno Ducrot <ducrot@poupinou.org>
show more ...
|
#
e548abe7 |
| 22-Mar-2004 |
Nate Lawson <njl@FreeBSD.org> |
Use the correct length for appending an extended irq resource. This may have broken APIC routing. This bug has been present since rev 1.33.
|