From owner-svn-src-projects@FreeBSD.ORG Wed Aug 6 14:19:57 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BCFA6E4C for ; Wed, 6 Aug 2014 14:19:57 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9396C20E0 for ; Wed, 6 Aug 2014 14:19:57 +0000 (UTC) Received: from andrew (uid 1231) (envelope-from andrew@FreeBSD.org) id 5d9e by svn.freebsd.org (DragonFly Mail Agent v0.9+); Wed, 06 Aug 2014 14:19:57 +0000 From: Andrew Turner Date: Wed, 6 Aug 2014 14:19:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r269625 - projects/arm64/sys/dev/ofw X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <53e2398d.5d9e.599d9717@svn.freebsd.org> X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.18 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: Wed, 06 Aug 2014 14:19:57 -0000 Author: andrew Date: Wed Aug 6 14:19:57 2014 New Revision: 269625 URL: http://svnweb.freebsd.org/changeset/base/269625 Log: Set the rid correctly when there are multiple ranges and interrupts. If the memory ranges or interrupts have multiple values per entry the rid will depend on the size of these. Modified: projects/arm64/sys/dev/ofw/ofwbus.c Modified: projects/arm64/sys/dev/ofw/ofwbus.c ============================================================================== --- projects/arm64/sys/dev/ofw/ofwbus.c Wed Aug 6 10:38:06 2014 (r269624) +++ projects/arm64/sys/dev/ofw/ofwbus.c Wed Aug 6 14:19:57 2014 (r269625) @@ -437,7 +437,7 @@ ofwbus_setup_dinfo(device_t dev, phandle uint32_t *reg, *intr, icells; uint64_t phys, size; phandle_t iparent; - int i, j; + int i, j, rid; int nintr; int nreg; @@ -466,7 +466,7 @@ ofwbus_setup_dinfo(device_t dev, phandle nreg = 0; } - for (i = 0; i < nreg; i += sc->acells + sc->scells) { + for (i = 0, rid = 0; i < nreg; i += sc->acells + sc->scells, rid++) { phys = size = 0; for (j = 0; j < sc->acells; j++) { phys <<= 32; @@ -478,7 +478,7 @@ ofwbus_setup_dinfo(device_t dev, phandle } /* Skip the dummy reg property of glue devices like ssm(4). */ if (size != 0) - resource_list_add(&ndi->ndi_rl, SYS_RES_MEMORY, i, + resource_list_add(&ndi->ndi_rl, SYS_RES_MEMORY, rid, phys, phys + size - 1, size); } free(reg, M_OFWPROP); @@ -491,10 +491,10 @@ ofwbus_setup_dinfo(device_t dev, phandle sizeof(iparent)); OF_searchencprop(OF_xref_phandle(iparent), "#interrupt-cells", &icells, sizeof(icells)); - for (i = 0; i < nintr; i+= icells) { + for (i = 0, rid = 0; i < nintr; i+= icells, rid++) { intr[i] = ofw_bus_map_intr(dev, iparent, icells, &intr[i]); - resource_list_add(&ndi->ndi_rl, SYS_RES_IRQ, i, intr[i], + resource_list_add(&ndi->ndi_rl, SYS_RES_IRQ, rid, intr[i], intr[i], 1); } free(intr, M_OFWPROP);