Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/sys/dev/ic
On Sat, Dec 08, 2007 at 03:45:43PM +0000, Izumi Tsutsui wrote:
>
> Module Name: src
> Committed By: tsutsui
> Date: Sat Dec 8 15:45:43 UTC 2007
>
> Modified Files:
> src/sys/dev/ic: i82557.c i82557reg.h i82557var.h
>
> Log Message:
> Pull several fixes from OpenBSD's fxp.c:
>
> Rev 1.41:
> > use a nop with I bit set at the end of the tx chain. This avoids a race
> > between status update and clearing the suspend bit on machines which can't
> > write data smaller than 32bits at a time.
> This should fix PR port-alpha/30560.
It looks to me like this problem can be solved more simply by
reading/writing the cb_status and cb_command fields simultaneously as
one 32-bit word.
BTW, it looks to me like there are some DMA barriers missing
from fxp. After fxp examines a transmit descriptor and finds
that the completion bit, FXP_CB_STATUS_C, is clear, it should
bus_dmamap_sync(BUS_DMASYNC_PREREAD) the descriptor.
BTW, what is the cacheline size on the Alpha? Are the transmit
descriptors cacheline-aligned?
Dave
--
David Young OJC Technologies
dyoung%ojctech.com@localhost Urbana, IL * (217) 278-3933 ext 24
Home |
Main Index |
Thread Index |
Old Index