From owner-freebsd-arch@freebsd.org Tue Aug 16 09:37:51 2016 Return-Path: Delivered-To: freebsd-arch@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1B825BBB6F3; Tue, 16 Aug 2016 09:37:51 +0000 (UTC) (envelope-from andrew@fubar.geek.nz) Received: from kif.fubar.geek.nz (kif.fubar.geek.nz [178.62.119.249]) by mx1.freebsd.org (Postfix) with ESMTP id D7A081719; Tue, 16 Aug 2016 09:37:50 +0000 (UTC) (envelope-from andrew@fubar.geek.nz) Received: from zapp (global-5-141.nat-2.net.cam.ac.uk [131.111.5.141]) by kif.fubar.geek.nz (Postfix) with ESMTPSA id BBB38D78E6; Tue, 16 Aug 2016 09:37:49 +0000 (UTC) Date: Tue, 16 Aug 2016 10:37:46 +0100 From: Andrew Turner To: Nathan Whitehorn Cc: Michal Meloun , "freebsd-arm@freebsd.org" , Svatopluk Kraus , "freebsd-arch@freebsd.org" Subject: Re: INTRNG (Was: svn commit: r301453....) Message-ID: <20160816103746.6fca94e4@zapp> In-Reply-To: References: <201606051620.u55GKD5S066398@repo.freebsd.org> <57976867.6080705@FreeBSD.org> <5798E104.5020104@FreeBSD.org> <579A25BB.8070206@FreeBSD.org> <30790e40-58b4-3371-c0f0-b7545571f389@freebsd.org> <579AFFC5.1040005@FreeBSD.org> <579CD355.1050203@FreeBSD.org> <460fa0b3-ddb7-6247-2412-3d75a589d5e7@freebsd.org> <579CF7C8.1040302@FreeBSD.org> <24107713-6d50-c21d-ccf1-7dbdb36cc484@freebsd.org> <579E1BE2.7020500@FreeBSD.org> <7f053bb8-ab03-e46c-1c72-d757348e4e54@freebsd.org> <57A09F34.4050400@FreeBSD.org> <57A30B72.7070809@FreeBSD.org> <1946069a-d0f9-2c19-80a5-0b490682574b@freebsd.org> <57A5F480.20309@FreeBSD.org> X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.29; amd64-portbld-freebsd11.0) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Aug 2016 09:37:51 -0000 On Fri, 12 Aug 2016 08:31:06 -0700 Nathan Whitehorn wrote: > One other non-urgent question about PCI code: > > There's a new function ofw_bus_msimap() that does not seem to > implement any particular part of any real binding standard. There's > a .txt file in the device-tree repo, but many (most?, all?) PCI > bridges don't seem to implement MSI that way. This is out-of-scope > for the immediate discussion, but it would be good to fix later. If > there are indeed only a handful of bridges that do MSI that way, it > should probably be moved into the PCI bridge drivers that do use it. The ofw_bus_msimap() implements the standard FDT MSI properties to find the needed MSI/MSI-X controller. See [1] for the binding document. > > Similarly, dev/pci/pci_host_generic.c isn't actually generic and is > instead a driver for some particular ARM bridges. It should be moved > at some point under sys/arm. Most of the code in it also duplicates > dev/ofw/ofwpci.c (but with some added bugs in handling the "ranges" > property). I don't see why. There is nothing ARM specific in it. I also have patches to use it with ACPI as the existing driver makes assumptions about PCI that may not be true on all platforms. Andrew [1] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/pci/pci-msi.txt