Date: Mon, 14 Jun 2004 09:12:15 -0600 (MDT) From: "M. Warner Losh" <imp@bsdimp.com> To: nate@root.org Cc: current@freebsd.org Subject: 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 Message-ID: <20040614.091215.18218220.imp@bsdimp.com> In-Reply-To: <20040613220241.N17008@root.org> References: <20040613225307.8238716A4D4@hub.freebsd.org> <20040613220241.N17008@root.org>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20040613220241.N17008@root.org>
Nate Lawson <nate@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040614.091215.18218220.imp>
