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: M. Warner Losh <imp_at_bsdimp.com>
Date: Mon, 14 Jun 2004 09:12:15 -0600 (MDT)
In message: <20040613220241.N17008_at_root.org>
            Nate Lawson <nate_at_root.org> writes:
: 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.

I'll take a look as soon as I upgrade my laptop past these changes.

Warner
Received on Mon Jun 14 2004 - 13:13:39 UTC

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