Julian Elischer wrote: > > On Wed, 7 Jul 2004, Scott Long wrote: > > >>On Wed, 7 Jul 2004, Poul-Henning Kamp wrote: >> >>>In message <200407072129.15095.mycroft_at_netbsd.org>, "Charles M. Hannum" writes: >>> >>>>On Wednesday 07 July 2004 20:46, Charles M. Hannum wrote: >>>> >>>>>1) You'll need to add an interface for assigning pipes for read and write, >>>>>since there may be more than just bulk pipes (and may be more than one bulk >>>>>pipe in each direction), and we only have have device node to work with. >>>> >>>>Seems I misspoke there. That part looks fine. >>>> >>>>I think you're going to be screwed by the buffer alignment, though. This also >>>>causes some issues with umass if you're not using a bounce buffer. >>> >>>We've already had that issue with ATA for the b�rked Geode controller: >>>physio does nothing for alignment and relies on userland doing something >>>sensible. >>> >>>I think this is pretty reasonable for the kind of hardware-near >>>work that physio is usually employed in (including if we use it for >>>ugen). >>> >>>Obviously, if the alignment is not OK, EINVAL should be returned, >>>and that means that the driver should explicitly check the alignment. >> >>Note that busdma can handle alignment now for loaded buffers by using >>bounce pages. > > > Since we have a relatively highly weighted priority on keeping this > code common with teh NetBSD version, how does that go for NetBSD? > > > >>Scott > > > I honestly don't know if NetBSD busdma honors alignment when loading segments. However, I believe that our usb code has the busdma functionality completely broken out from the common code (in usb_mem.c, IIRC), so it's of little consequence to portability. I was going to mention that different semantics of bus_dmamap_load() between FreeBSD and NetBSD might still cause problems here, but it looks like our usb code still allocates static busdma buffers and copies the packets in/out of these. Wasn't this fixed a while back? ScottReceived on Thu Jul 08 2004 - 04:16:03 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:00 UTC