From owner-svn-src-projects@FreeBSD.ORG Mon May 7 00:39:48 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 63314106564A; Mon, 7 May 2012 00:39:48 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4E4A68FC08; Mon, 7 May 2012 00:39:48 +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 q470dmsd038881; Mon, 7 May 2012 00:39:48 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q470dm5X038879; Mon, 7 May 2012 00:39:48 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201205070039.q470dm5X038879@svn.freebsd.org> From: Marcel Moolenaar Date: Mon, 7 May 2012 00:39:48 +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: r235115 - projects/altix2/sys/ia64/sgisn 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: Mon, 07 May 2012 00:39:48 -0000 Author: marcel Date: Mon May 7 00:39:47 2012 New Revision: 235115 URL: http://svn.freebsd.org/changeset/base/235115 Log: Create a tag to bound the address range. On the Altix, we only have 36-bits in a physical memory address per node. Modified: projects/altix2/sys/ia64/sgisn/sgisn_shub.c Modified: projects/altix2/sys/ia64/sgisn/sgisn_shub.c ============================================================================== --- projects/altix2/sys/ia64/sgisn/sgisn_shub.c Sun May 6 23:17:07 2012 (r235114) +++ projects/altix2/sys/ia64/sgisn/sgisn_shub.c Mon May 7 00:39:47 2012 (r235115) @@ -32,6 +32,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -59,6 +60,7 @@ struct sgisn_shub_softc { bus_addr_t sc_mmraddr; bus_space_tag_t sc_tag; bus_space_handle_t sc_hndl; + busdma_tag_t sc_dmatag; u_int sc_domain; u_int sc_hubtype; /* SHub type (0=SHub1, 1=SHub2) */ u_int sc_nasid_mask; @@ -351,6 +353,7 @@ sgisn_shub_attach(device_t dev) void *ptr; u_long addr; u_int bus, seg, wdgt; + int error; sc = device_get_softc(dev); sc->sc_dev = dev; @@ -395,6 +398,15 @@ sgisn_shub_attach(device_t dev) device_printf(dev, "NASID=%#x\n", sc->sc_nasid); /* + * Create a DMA tag to contribute constraints for our children. + */ + addr = 1UL << (sc->sc_nasid_shft - 2); + error = busdma_tag_create(dev, addr - 1UL, 1, 0, addr, ~0U, addr, 0, + &sc->sc_dmatag); + if (error) + return (error); + + /* * Allocate contiguous memory, local to the SHub, for collecting * SHub information from the PROM and for discovering the PCI * host controllers connected to the SHub.