summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Binkert <binkertn@umich.edu>2004-07-23 12:19:27 -0400
committerNathan Binkert <binkertn@umich.edu>2004-07-23 12:19:27 -0400
commit0650e4a43f45b68aebc2e06c01bda1ac0e094e5e (patch)
tree5925cc74a125fc3181d0547112323cd2313e0a60
parent70eb684500254815432dae4767096fef9200920a (diff)
downloadgem5-0650e4a43f45b68aebc2e06c01bda1ac0e094e5e.tar.xz
When a packet has finished transmitting, kick the state
machine too. The fifo may have been full and we want to get another packet into it if we can. --HG-- extra : convert_revision : 8f57294bd18f5eccb900118f2de83a4ccfd20dbb
-rw-r--r--dev/ns_gige.hh8
1 files changed, 7 insertions, 1 deletions
diff --git a/dev/ns_gige.hh b/dev/ns_gige.hh
index 79ae00e64..6405dc634 100644
--- a/dev/ns_gige.hh
+++ b/dev/ns_gige.hh
@@ -284,7 +284,13 @@ class NSGigE : public PciDev
* Retransmit event
*/
void transmit();
- typedef EventWrapper<NSGigE, &NSGigE::transmit> TxEvent;
+ void txEventTransmit()
+ {
+ transmit();
+ if (txState == txFifoBlock)
+ txKick();
+ }
+ typedef EventWrapper<NSGigE, &NSGigE::txEventTransmit> TxEvent;
friend class TxEvent;
TxEvent txEvent;