Bug #1252

busdma fixes

Added by sepherosa over 5 years ago. Updated over 5 years ago.

Status:ClosedStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-
Target version:-

Description

Hi all,

I have done following busdma fixes/enhancement:
- Obey alignment constraints
- Add bounce page support in bus_dmamap_load_mbuf
- Add bounce page support in bus_dmamap_load_uio

Wired NIC drivers using busdma(9) (except vge(4), ale(4) and age(4))
are patched and well tested (by forcing bouncing to lower 512MB).
Wireless NIC drivers' correction is under way, but even without
correction they should just work as expected on our i386 platform (you
may waste some bounce pages due to mis-configured alignment
constraints :). em(4) is relative clean, however, I plan to bring in
newer em(4) driver from Intel, so no work is done on it so far.

I have run it on all of my boxes ever since I started to work on it,
should be safe to test, so I call for testing if you have spare boxes
that are not involved in release work and is running HEAD. Any
reviewing is welcome too.

You could pull it from:
git://leaf.dragonflybsd.org/~sephe/dragonfly.git
busdma branch

gitweb of the above branch:
http://gitweb.dragonflybsd.org/~sephe/dragonfly.git/shortlog/refs/heads/busdma

I plan to push it once 2.2 is branched. The further plan is to
convert rest of the NIC drivers to use busdma(4) during 2.3 time
frame, so we will not be in trouble once our amd64 is ready to go.

Best Regards,
sephe

History

#1 Updated by sepherosa over 5 years ago

committed

Also available in: Atom PDF