Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 09 Feb 2009 09:51:28 -0800
From:      Marcel Moolenaar <xcllnt@mac.com>
To:        John Baldwin <jhb@freebsd.org>
Cc:        svn-src-head@freebsd.org, Scott Long <scottl@samsco.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, "M. Warner Losh" <imp@bsdimp.com>
Subject:   Re: svn commit: r188350 - in head/sys: amd64/amd64 arm/arm dev/usb2/core i386/i386 ia64/ia64 sys
Message-ID:  <2EA5FEEB-E676-4D1B-9700-399C783F4590@mac.com>
In-Reply-To: <200902090923.45887.jhb@freebsd.org>
References:  <200902082254.n18MsxVt037307@svn.freebsd.org> <498F8015.8000704@samsco.org> <94616FBD-4638-4C51-990C-06A943B1BA2A@mac.com> <200902090923.45887.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

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?

-- 
Marcel Moolenaar
xcllnt@mac.com






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2EA5FEEB-E676-4D1B-9700-399C783F4590>