Re: cvs commit: src/sys/dev/acpica acpi.c acpi_acad.c acpi_button.c acpi_cmbat.c acpi_ec.c acpi_isab.c acpi_lid.c acpi_pcib_acpi.c acpi_resource.c acpivar.h

From: Nate Lawson <nate_at_root.org>
Date: Sun, 13 Jun 2004 22:07:34 -0700 (PDT)
On Sun, 13 Jun 2004, Nate Lawson wrote:
>   Modified files:
>     sys/dev/acpica       acpi.c acpi_acad.c acpi_button.c
>                          acpi_cmbat.c acpi_ec.c acpi_isab.c
>                          acpi_lid.c acpi_pcib_acpi.c
>                          acpi_resource.c acpivar.h
>   Log:
>   Add support to ACPI to manage its own resources.  Previously, resource
>   allocation was passed up to nexus.  Now, we probe sysresource objects and
>   manage the resources they describe in a local rman pool.  This helps
>   devices which attach/detach varying resources (like the _CST object) and
>   module loads/unloads.  The allocation/release routines now check to see if
>   the resource is described in a child sysresource object and if so,
>   allocate from the local rman.  Sysresource objects add their resources to
>   the pool and reserve them upon boot.  This means sysresources need to be
>   probed before other ACPI devices.
>
>   Changes include:
>   * Add ordering to the child device probe.  The current order is:  system
>   resource objects, embedded controllers, then everything else.
>   * Make acpi_MatchHid take a handle instead of a device_t arg.
>   * Replace acpi_{get,set}_resource with the generic equivalents.
>
>   Revision  Changes    Path
>   1.159     +137 -52   src/sys/dev/acpica/acpi.c
>   1.27      +1 -1      src/sys/dev/acpica/acpi_acad.c
>   1.27      +6 -4      src/sys/dev/acpica/acpi_button.c
>   1.30      +2 -2      src/sys/dev/acpica/acpi_cmbat.c
>   1.52      +1 -1      src/sys/dev/acpica/acpi_ec.c
>   1.8       +3 -1      src/sys/dev/acpica/acpi_isab.c
>   1.23      +1 -1      src/sys/dev/acpica/acpi_lid.c
>   1.35      +1 -1      src/sys/dev/acpica/acpi_pcib_acpi.c
>   1.25      +91 -37    src/sys/dev/acpica/acpi_resource.c
>   1.71      +3 -1      src/sys/dev/acpica/acpivar.h

This has been tested for a little while but may cause some problems.  On
my laptop, all devices work as before but I get this new output:

unknown: <PNP0c01> can't assign resources (memory)
unknown: <PNP0303> can't assign resources (port)
unknown: <PNP0c02> can't assign resources (port)
unknown: <INT0800> can't assign resources (memory)
unknown: <PNP0c02> can't assign resources (memory)
unknown: <IBM3780> can't assign resources (irq)
unknown: <PNP0501> can't assign resources (port)
unknown: <IBM0071> can't assign resources (port)
unknown: <PNP0400> can't assign resources (port)

These messages are wrong since the associated devices have already gotten
their resources.  For instance, IBM3780 (psm0) has successfully gotten irq
12 so PnP ISA shouldn't be trying to probe it.  Here devinfo -r shows that
it's fine:

      psm0
          Interrupt request lines:
              0xc

Perhaps someone more knowledgable with the isa code can help figure this
out.

-Nate
Received on Mon Jun 14 2004 - 03:08:12 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:57 UTC