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>