Messages in this thread | | | Date | Fri, 07 Nov 2003 10:56:48 -0800 | From | David Brownell <> | Subject | Re: [linux-usb-devel] Re: [Bug 1412] Copy from USB1 CF/SM reader stalls, no actual content is read (only directory structure) |
| |
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
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |