28a29
> #include "base/trace.hh"
58c59
< Packet *
---
> void
62,63c63,65
< transmitList.pop_front();
< return pkt;
---
> if (Port::sendTiming(pkt)) {
> transmitList.pop_front();
> }
76a79
>
118a122,123
> DPRINTF(DMA, "Received response Packet %#x with senderState: %#x\n",
> pkt, pkt->senderState);
120c125,126
< state->completionEvent->schedule(pkt->time - pkt->req->getTime());
---
> assert(state);
> state->completionEvent->process();
123a130
> DPRINTF(DMA, "Received response Packet %#x with no senderState\n", pkt);
128c135
< return Packet::Success;
---
> return true;
136,144d142
< DmaPort::SendEvent::process()
< {
< if (port->Port::sendTiming(packet))
< return;
<
< port->transmitList.push_back(packet);
< }
<
< Packet *
148,149c146,155
< transmitList.pop_front();
< return pkt;
---
> DPRINTF(DMA, "Retry on Packet %#x with senderState: %#x\n",
> pkt, pkt->senderState);
> if (sendTiming(pkt)) {
> DPRINTF(DMA, "-- Done\n");
> transmitList.pop_front();
> pendingCount--;
> assert(pendingCount >= 0);
> } else {
> DPRINTF(DMA, "-- Failed, queued\n");
> }
195,198c201,212
< if (state == Timing) {
< if (!sendTiming(pkt))
< transmitList.push_back(&packet);
< } else if (state == Atomic) {*/
---
> if (state == Timing) { */
> DPRINTF(DMA, "Attempting to send Packet %#x with senderState: %#x\n",
> pkt, pkt->senderState);
> if (!sendTiming(pkt)) {
> transmitList.push_back(pkt);
> DPRINTF(DMA, "-- Failed: queued\n");
> } else {
> DPRINTF(DMA, "-- Done\n");
> pendingCount--;
> assert(pendingCount >= 0);
> }
> /* } else if (state == Atomic) {
201a216
> assert(state);
209c224
< /* } else if (state == Functional) {
---
> } else if (state == Functional) {