Re: (FWD) Serious busdma bug in -current in relation to USB harware.
On Nov 8, 2008, at 4:53 AM, Hans Petter Selasky wrote:
> On Saturday 08 November 2008, Alexander Motin wrote:[color=green]
>> Hans Petter Selasky wrote:[color=darkred]
>>> Change 152649 by hselasky@hselasky_laptop001 on 2008/11/08 09:09:50
>>> Fix a serious BUSDMA bug: The initial virtual page offset is
>>> not retained on the bounce pages, which is what the EHCI and
>>> the OHCI expects.[/color]
>> I'm sorry, but are you sure with this? If bounce page will have the
>> page offset as original data, then how bus_dma_tag_create()'s
>> parameter expected to work? What if data are misaligned, but hardware
>> require alignment?[/color]
> I'm not saying that my patch is fully correct for all cases, but at
> least it
> solves the USB case. USB uses an alignment of 1-byte for data.[/color]
Another way to look at it is that USB (at least EHCI) uses page-aligned
data and that for the first descriptor you can optionally add an offset
within the page. Effectively this gives you 1-byte alignment, but it
comes with the restriction that on crossing the page boundary, all data
comes from offset 0 on subsequent pages.
[email]email@example.com[/email] mailing list
To unsubscribe, send any mail to "firstname.lastname@example.org"