diff options
| author | mhitch <mhitch@NetBSD.org> | 2001-11-11 18:47:03 +0000 |
|---|---|---|
| committer | mhitch <mhitch@NetBSD.org> | 2001-11-11 18:47:03 +0000 |
| commit | c873b07b2d93f7fda976c661bae86b23fad166cf (patch) | |
| tree | 7b4b58e4d446792eebb996c9953b7696e6dfa710 /sys/dev/ic | |
| parent | 944fcd0d8398b16616da2442cc22ea6fbcd7be55 (diff) | |
After modifying transmit descriptors, write-back cache needs to be flushed.
Fixes DEFTA on R4x00 DECstations.
Diffstat (limited to 'sys/dev/ic')
| -rw-r--r-- | sys/dev/ic/pdq.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/dev/ic/pdq.c b/sys/dev/ic/pdq.c index a9afe95237d..1af110d1acd 100644 --- a/sys/dev/ic/pdq.c +++ b/sys/dev/ic/pdq.c @@ -1,4 +1,4 @@ -/* $NetBSD: pdq.c,v 1.31 2001/06/13 10:46:03 wiz Exp $ */ +/* $NetBSD: pdq.c,v 1.32 2001/11/11 18:47:03 mhitch Exp $ */ /*- * Copyright (c) 1995,1996 Matt Thomas <matt@3am-software.com> @@ -1013,9 +1013,13 @@ pdq_queue_transmit_data( * Everything went fine. Finish it up. */ tx->tx_descriptor_count[tx->tx_producer] = tx->tx_free - freecnt; - if (PDQ_RX_FC_OFFSET != PDQ_OS_HDR_OFFSET) + if (PDQ_RX_FC_OFFSET != PDQ_OS_HDR_OFFSET) { dbp->pdqdb_transmits[tx->tx_producer].txd_sop = 1; + PDQ_OS_DESC_PRESYNC(pdq, &dbp->pdqdb_transmits[tx->tx_producer], + sizeof(pdq_txdesc_t)); + } eop->txd_eop = 1; + PDQ_OS_DESC_PRESYNC(pdq, eop, sizeof(pdq_txdesc_t)); PDQ_OS_DATABUF_ENQUEUE(&tx->tx_txq, pdu); tx->tx_producer = producer; tx->tx_free = freecnt; |
