Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/sys/dev/usb
On Sat, Jun 28, 2008 at 05:42:53PM +0000, Manuel Bouyer wrote:
> Log Message:
> Add appropriate bus_dmamap_sync() calls to uhci(4), ohci(4) and ehci(4),
> as proposed on tech-kern@.
> While all DMA memory used in the USB framework is mapped BUS_DMAMAP_COHERENT
> (including data memory, which is memcpy'd from/to USB-private buffers),
> the CPU can reorder loads or stores from/to main memory, causing the
> controller to have an incoherent view of the DMA descriptors lists for a
> short time. bus_dmamap_sync() should contain memory barriers that prevents
> the CPU from reordering load/store. Note that BUS_DMAMAP_COHERENT is
> still required for the DMA descriptor lists - these can't work properly
> with software cache coherency.
> This fixes "host controller process error/host controller halted" errors
> I'm occasionally seeing with a umodem device on uhci on x86.
> Thanks to Michael Lorenz for testing it on his O2, and Izumi Tsutsui on
> his Cobalt Qube 2700.
Do you think this is likely to help with kern/37590 and its relatives?
--
David A. Holland
dholland%netbsd.org@localhost
Home |
Main Index |
Thread Index |
Old Index