Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Oct 2005 07:54:40 -0600
From:      Scott Long <scottl@samsco.org>
To:        Dinesh Nair <dinesh@alphaque.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: correct use of bus_dmamap_sync
Message-ID:  <4360DC20.90700@samsco.org>
In-Reply-To: <43606A0F.5000704@alphaque.com>
References:  <435E3003.4050609@alphaque.com>	<200510251610.53127.jhb@freebsd.org> <435F1E77.30007@alphaque.com> <200510261320.16175.jhb@freebsd.org> <435FE416.1050703@samsco.org> <43606A0F.5000704@alphaque.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Dinesh Nair wrote:
> 
> On 10/27/05 04:16 Scott Long said the following:
> 
>>>> an example would be using 
>>>> (BUS_DMASYNC_POSTREAD|BUS_DMASYNC_PREWRITE) which
>>>> would be 0x03 in freebsd 4.x and 0x06 in freebsd 5.x. the gotcha is 
>>>> that
>>>> 0x03 in freebsd 4.x is BUS_DMASYNC_POSTWRITE. so therefore,
>>>> BUS_DMASYNC_POSTREAD|BUS_DMASYNC_PREWRITE will be 
>>>> BUS_DMASYNC_POSTWRITE in
>>>> 4.x which in the syscall is actually a no op.
>>>
>>>
>>> Yes, that is fugly.  Just don't use the | versions for now I would 
>>> guess.
>>
>>
>> Trying to maintain source compatibility between 4.x and 5.x/6.x will 
>> make you encounter a whole lot more problems than just this.
> 
> 
> could you elaborate on what busdma related problems there'd be, between 
> 4.x and 5.x/6.x ? do, for example, the inner workings of the bus_dma* 
> syscalls work the same on both ?
> 

I was speaking about driver code in general.  For busdma specifically,
the only difference is the extra arguments to bus_dma_tag_create().

Scott



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4360DC20.90700>