Jens Axboe wrote:
No that looks alright, given you are allocating low memory pages. The
devices can probably do full 32-bit dma I bet, though.

Typically ... most usb host controllers you'll see are on PCI (OHCI, UHCI, EHCI) with no restrictions, and only some EHCI controllers can do 64-bit DMA. That's all visible in the the dma_mask for each interface in the device with the mass storage support, usually still at its "32-bit dma is ok" pci controller default.

But it seems that most current 2.6 DMA API implementations
have some problems in those areas.  See for example:

  http://marc.theaimsgroup.com/?l=linux-kernel&m=106746453218943&w=2
  http://marc.theaimsgroup.com/?l=linux-usb-devel&m=106789996221347&w=2

That second patch is a partial workaround for the first patch
presumably not getting applied before 2.6.0-final.  Net result,
some systems with gobs of memory and no IOMMU may do needless
buffer copies during USB I/O.

Though a quick glance suggested to me that SCSI infrastructure
is consulting dma_mask directly, instead of using the DMA API
calls which do that.  I'm not sure I'd trust it to be any
more correct, given GIGO ...

- Dave



-------------------------------------------------------
This SF.Net email sponsored by: ApacheCon 2003,
16-19 November in Las Vegas. Learn firsthand the latest
developments in Apache, PHP, Perl, XML, Java, MySQL,
WebDAV, and more! http://www.apachecon.com/
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to