From owner-cvs-src@FreeBSD.ORG Wed Dec 14 00:03:47 2005 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D730B16A41F; Wed, 14 Dec 2005 00:03:47 +0000 (GMT) (envelope-from scottl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3AE0343D8B; Wed, 14 Dec 2005 00:03:42 +0000 (GMT) (envelope-from scottl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id jBE03fgt094035; Wed, 14 Dec 2005 00:03:41 GMT (envelope-from scottl@repoman.freebsd.org) Received: (from scottl@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id jBE03fct094034; Wed, 14 Dec 2005 00:03:41 GMT (envelope-from scottl) Message-Id: <200512140003.jBE03fct094034@repoman.freebsd.org> From: Scott Long Date: Wed, 14 Dec 2005 00:03:41 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/dev/ti if_ti.c if_tireg.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Dec 2005 00:03:48 -0000 scottl 2005-12-14 00:03:41 UTC FreeBSD src repository Modified files: sys/dev/ti if_ti.c if_tireg.h Log: Fix the Tigon I/II driver to support 64-bit DMA. In the process, convert it to use busdma. Unlike most of the other drivers, but similar to the if_em driver, pre-allocate the dmamaps at init time instead of allocating them on the fly when descriptors need to be filled. This isn't ideal right now because a map is allocated for every descriptor slot in the tx, rx, mini, and jumbo rings (which is a lot!) in order to simplify the bookkeeping, even though the driver might support filling only a subset of those slots. Luckily, maps are typically NULL on i386 and amd64, so the cost isn't very high. It could be an issue with sparc64, but the driver isn't endian clean either, and that is a much bigger problem to solve first. Note that jumbo frame support is under-tested, and I'm not even sure if it till really works correctly given the evil VM magic that is does. The changes here attempt to preserve the existing semanitcs. Thanks to Martin Nillson for contributing the Netgear card for this work. MFC-After: 3 weeks Revision Changes Path 1.117 +321 -86 src/sys/dev/ti/if_ti.c 1.34 +26 -13 src/sys/dev/ti/if_tireg.h