Ian Dowse wrote:

iedowse     2006-05-28 05:27:09 UTC

  FreeBSD src repository

  Modified files:
sys/dev/usb ehci.c ehci_pci.c ohci.c ohci_pci.c ohcireg.h ohcivar.h sl811hs.c sl811hsvar.h uhci.c uhci_pci.c uhcivar.h usb_mem.c usbdi.c usbdivar.h Log:
  Use the limited scatter-gather capabilities of ehci, ohci and uhci
  host controllers to avoid the need to allocate any multi-page
  physically contiguous memory blocks. This makes it possible to use
  USB devices reliably on low-memory systems or when memory is too
  fragmented for contiguous allocations to succeed.
The USB subsystem now uses bus_dmamap_load() directly on the buffers
  supplied by USB peripheral drivers, so this also avoids having to
  copy data back and forth before and after transfers. The ehci and
  ohci controllers support scatter/gather as long as the buffer is
  contiguous in the virtual address space. For uhci the hardware
  cannot handle a physical address discontinuity within a USB packet,
  so it is necessary to copy small memory fragments at times.

Excellent work, good job!

Scott

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to