From owner-p4-projects@FreeBSD.ORG Thu May 13 18:11:01 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7417D16A4D0; Thu, 13 May 2004 18:11:01 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3608D16A4CE; Thu, 13 May 2004 18:11:01 -0700 (PDT) Received: from sana.init-main.com (104.194.138.210.bn.2iij.net [210.138.194.104]) by mx1.FreeBSD.org (Postfix) with ESMTP id 36DCF43D31; Thu, 13 May 2004 18:10:58 -0700 (PDT) (envelope-from takawata@init-main.com) Received: from init-main.com (localhost [127.0.0.1]) by sana.init-main.com (8.12.11/8.12.9) with ESMTP id i4E19Lqe024455; Fri, 14 May 2004 10:09:22 +0900 (JST) (envelope-from takawata@init-main.com) Message-Id: <200405140109.i4E19Lqe024455@sana.init-main.com> To: Nate Lawson In-reply-to: Your message of "Thu, 13 May 2004 14:51:58 MST." <20040513144346.W91362@root.org> Date: Fri, 14 May 2004 10:09:21 +0900 From: Takanori Watanabe cc: takawata@freebsd.org cc: perforce@freebsd.org cc: jhb@freebsd.org Subject: Re: PERFORCE change 52156 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 May 2004 01:11:02 -0000 In message <20040513144346.W91362@root.org>, Nate Lawson さんいわく: >On Thu, 13 May 2004, Takanori Watanabe wrote: >> In message <20040512174010.L85042@root.org>, Nate Lawson wrote: >> >You bring up a problem that I've been having also. When I commit the ACPI >> >performance states driver, it needs to be able to get an ACPI handle. My >> >solution to this is to have multiple drivers with the same name. Only the >> >acpi one will supply a handle to the processor object. >> >legacy mode: >> >legacy0 >> > cpu0 (implemented in legacy.c) >> > speedstep0 >> > >> >acpi mode: >> >acpi0 >> > cpu0 (implemented in acpi_cpu.c) >> > acpi_perf0 >> > speedstep0 >> > >> >In the legacy case, acpi_perf's probe method will be called but it will >> >return ENXIO because the non-acpi cpu0 will always return NULL for the >> >ACPI_HANDLE ivar. It's kind of lame because it requires two different >> >drivers to implement the same ivars but it's the only way I could figure >> >out to allow both non-acpi and acpi-based cpufreq drivers attach. >> >> In this case, pci1 and its children know ACPI handle, if >> ACPI vga extension is appeard in the name space tree. >> You will see this by devinfo(8) with -v option. So the >> role of video0 driver is manage child drivers. >> All request may forwarded to the grand parent. > >I guess I haven't looked closely enough at acpi_pci.c. So it calls child >probe based on _ADR data in child ACPI objects via WalkNamespace? Does it >then call normal pci config register probe for devices that don't appear >in the acpi namespace? Basically ACPI aware PCI devices are probed by pci config register as usual.(ACPI namespace does not describe enough information to determine drivers) But after adding device has finished, walk name space and attach acpi handle if _ADR matches the device objects that has probed. Then if a PCI bridge knows ACPI handle, the PCI bridge is attached as ACPI-aware PCI bridge.