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>