CVSROOT: /cvs Module name: src Changes by: d...@cvs.openbsd.org 2024/08/20 18:56:58
Modified files: sys/dev/pci : if_rge.c Log message: be more careful about bus_dmamap_syncs for rx ring descriptors. this is very similar to the changes made for tx where we fill in everything except the OWN flag on the rx descriptor, call bus_dmamap_sync as a barrier for the hw, and then flip the ownership of the OWN bit. this avoids the potential for the hw to see the own bit before other things in the descriptor, such as the address and length of the buffer. while here, trim code that's not currently used. we don't currently support rxing one packet by assembling buffers from multiple descriptors, so stop fiddling with the queue mbuf head and tail pointers. delete rge_discard_rxbuf() cos it looks like a leftover from code which tries to reuse mbufs on the rx ring. we free mbufs when there's an error and let the rxr stuff refill. ok patrick@ no objections from kevlo@