From owner-svn-src-projects@FreeBSD.ORG Sun Feb 5 00:31:08 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0C90D106566C; Sun, 5 Feb 2012 00:31:08 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D17F48FC0C; Sun, 5 Feb 2012 00:31:07 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q150V73d058587; Sun, 5 Feb 2012 00:31:07 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q150V7tJ058584; Sun, 5 Feb 2012 00:31:07 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201202050031.q150V7tJ058584@svn.freebsd.org> From: Nathan Whitehorn Date: Sun, 5 Feb 2012 00:31:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r231002 - in projects/pseries: dev/ofw powerpc/ofw X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Feb 2012 00:31:08 -0000 Author: nwhitehorn Date: Sun Feb 5 00:31:07 2012 New Revision: 231002 URL: http://svn.freebsd.org/changeset/base/231002 Log: Choose to use a OF_xref_phandle() differently: for interrupt parents, use whatever is in the firmware tree for cross-referencing, and store the PIC id as the xref phandle (as we already do in xics). Modified: projects/pseries/dev/ofw/ofw_bus_subr.c projects/pseries/powerpc/ofw/ofw_pcibus.c Modified: projects/pseries/dev/ofw/ofw_bus_subr.c ============================================================================== --- projects/pseries/dev/ofw/ofw_bus_subr.c Sat Feb 4 23:29:07 2012 (r231001) +++ projects/pseries/dev/ofw/ofw_bus_subr.c Sun Feb 5 00:31:07 2012 (r231002) @@ -285,8 +285,7 @@ ofw_bus_search_intrmap(void *intr, int i i = imapsz; while (i > 0) { bcopy(mptr + physsz + intrsz, &parent, sizeof(parent)); - parent = OF_xref_phandle(parent); - if (OF_searchprop(parent, "#interrupt-cells", + if (OF_searchprop(OF_xref_phandle(parent), "#interrupt-cells", &pintrsz, sizeof(pintrsz)) == -1) pintrsz = 1; /* default */ pintrsz *= sizeof(pcell_t); Modified: projects/pseries/powerpc/ofw/ofw_pcibus.c ============================================================================== --- projects/pseries/powerpc/ofw/ofw_pcibus.c Sat Feb 4 23:29:07 2012 (r231001) +++ projects/pseries/powerpc/ofw/ofw_pcibus.c Sun Feb 5 00:31:07 2012 (r231002) @@ -213,11 +213,10 @@ ofw_pcibus_enum_devtree(device_t dev, u_ icells = 1; OF_getprop(child, "interrupt-parent", &iparent, sizeof(iparent)); - iparent = OF_xref_phandle(iparent); - if (iparent != 0) { - OF_getprop(iparent, "#interrupt-cells", - &icells, sizeof(icells)); + OF_getprop(OF_xref_phandle(iparent), + "#interrupt-cells", &icells, + sizeof(icells)); intr[0] = MAP_IRQ(iparent, intr[0]); } @@ -346,8 +345,6 @@ ofw_pcibus_assign_interrupt(device_t dev iparent = -1; if (OF_getprop(node, "interrupt-parent", &iparent, sizeof(iparent)) < 0) iparent = -1; - else - iparent = OF_xref_phandle(iparent); /* * Any AAPL,interrupts property gets priority and is