Module Name: src Committed By: riastradh Date: Sat Aug 6 15:38:42 UTC 2022
Modified Files: src/sys/dev/pci: if_sip.c Log Message: sip(4): Tidy up DMA syncs. - No membar_producer in sip_init_rxdesc -- use bus_dmamap_sync with BUS_DMASYNC_PREWRITE to order updates to the DMA descriptors. - Omit needless membar_producer in sip_init_txdesc -- the hardware will not look at any of these descriptors until we set CMDSTS_OWN on the first one in the sequence, which is done later in the caller, sipcom_start. - In gsip_rxintr, make sure to read cmdsts _before_ extsts, by separating them with BUS_DMASYNC_PREREAD. Otherwise, the CPU might reorder the loads and read a stale extsts first before witnessing an updated cmdsts with the CMDSTS_OWN bit that transfers ownership of the rx packet to us. To generate a diff of this commit: cvs rdiff -u -r1.186 -r1.187 src/sys/dev/pci/if_sip.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.