Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 May 2006 09:21:47 -0600
From:      Scott Long <scottl@samsco.org>
To:        Ian Dowse <iedowse@FreeBSD.org>
Cc:        cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/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
Message-ID:  <4479C00B.8090504@samsco.org>
In-Reply-To: <200605280527.k4S5R9Qi076598@repoman.freebsd.org>
References:  <200605280527.k4S5R9Qi076598@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4479C00B.8090504>