Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/sys/dev/pci
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.
Home |
Main Index |
Thread Index |
Old Index