From owner-svn-src-head@FreeBSD.ORG Mon Feb 9 19:01:01 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5F2E11065697 for ; Mon, 9 Feb 2009 19:01:01 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from ebb.errno.com (ebb.errno.com [69.12.149.25]) by mx1.freebsd.org (Postfix) with ESMTP id 138048FC2D for ; Mon, 9 Feb 2009 19:01:01 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from trouble.errno.com (trouble.errno.com [10.0.0.248]) (authenticated bits=0) by ebb.errno.com (8.13.6/8.12.6) with ESMTP id n19J0sgO020987 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 9 Feb 2009 11:00:55 -0800 (PST) (envelope-from sam@freebsd.org) Message-ID: <49907D66.9010405@freebsd.org> Date: Mon, 09 Feb 2009 11:00:54 -0800 From: Sam Leffler Organization: FreeBSD Project User-Agent: Thunderbird 2.0.0.18 (X11/20081209) MIME-Version: 1.0 To: Scott Long References: <94616FBD-4638-4C51-990C-06A943B1BA2A@mac.com> <200902090923.45887.jhb@freebsd.org> <2EA5FEEB-E676-4D1B-9700-399C783F4590@mac.com> <20090209.113053.65361811.imp@bsdimp.com> <49907B32.8080307@samsco.org> In-Reply-To: <49907B32.8080307@samsco.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-DCC-URT-Metrics: ebb.errno.com; whitelist Cc: src-committers@freebsd.org, jhb@freebsd.org, svn-src-all@freebsd.org, xcllnt@mac.com, svn-src-head@freebsd.org, "M. Warner Losh" Subject: Re: svn commit: r188350 - in head/sys: amd64/amd64 arm/arm dev/usb2/core i386/i386 ia64/ia64 sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Feb 2009 19:01:03 -0000 Scott Long wrote: > M. Warner Losh wrote: >> In message: <2EA5FEEB-E676-4D1B-9700-399C783F4590@mac.com> >> Marcel Moolenaar writes: >> : : On Feb 9, 2009, at 6:23 AM, John Baldwin wrote: >> : : > On Monday 09 February 2009 12:37:53 am Marcel Moolenaar wrote: >> : >> >> : >> On Feb 8, 2009, at 5:00 PM, Scott Long wrote: >> : >> >> : >>> Busdma allows you to request bouncing for realignment. >> : >> >> : >> How exactly? >> : > >> : > The 'align' parameter to bus_dma_tag_create(). If your hardware >> : > needs buffers >> : > to be aligned on a 4-byte boundary and you bus_dmamap_load() a >> buffer >> : > where 'addr % 4 != 0', then the buffer is bounced. Since by >> default : > the new >> : > buffer starts on a page boundary, it satifies the 'addr % 4'. >> : : But according to the man page, bounce buffering may not >> : be implemented or not be applicable to a platform. It >> : seems to me that you cannot depend on this side-effect >> : in a generic driver. Are you guys talking only in terms >> : of i386 or is this generally applicable? >> >> There's no bounce buffering on MIPS right now, for example... There >> likely should be, but it isn't there now. >> >> Warner > > So yes, it's only available really on amd64 and i386 at the moment. > No reason why it can't be available elsewhere, and I'm working on > factoring > all of the bounce logic out into an MD file so it can be made available. > For architectures that use an IOMMU, there's probably no reason why > re-alignment can't use the IOMMU instead of bouncing. ARM does bounce buffers. Looks like it'll bounce for mis-aligned data. Sam