1/* 2 * Copyright (c) 2012 ARM Limited 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 117 unchanged lines hidden (view full) --- 126 masterId(s->getMasterId(dev->name())), 127 pendingCount(0), actionInProgress(0), drainEvent(NULL), 128 backoffTime(0), minBackoffDelay(min_backoff), 129 maxBackoffDelay(max_backoff), inRetry(false), recvSnoops(recv_snoops), 130 backoffEvent(this) 131{ } 132 133bool |
134DmaPort::recvTimingResp(PacketPtr pkt) |
135{ |
136 if (pkt->wasNacked()) { 137 DPRINTF(DMA, "Received nacked %s addr %#x\n", 138 pkt->cmdString(), pkt->getAddr()); 139 140 if (backoffTime < minBackoffDelay) 141 backoffTime = minBackoffDelay; 142 else if (backoffTime < maxBackoffDelay) 143 backoffTime <<= 1; --- 84 unchanged lines hidden (view full) --- 228DmaPort::recvRetry() 229{ 230 assert(transmitList.size()); 231 bool result = true; 232 do { 233 PacketPtr pkt = transmitList.front(); 234 DPRINTF(DMA, "Retry on %s addr %#x\n", 235 pkt->cmdString(), pkt->getAddr()); |
236 result = sendTimingReq(pkt); |
237 if (result) { 238 DPRINTF(DMA, "-- Done\n"); 239 transmitList.pop_front(); 240 inRetry = false; 241 } else { 242 inRetry = true; 243 DPRINTF(DMA, "-- Failed, queued\n"); 244 } --- 69 unchanged lines hidden (view full) --- 314 return; 315 } 316 317 DPRINTF(DMA, "Attempting to send %s addr %#x\n", 318 pkt->cmdString(), pkt->getAddr()); 319 320 bool result; 321 do { |
322 result = sendTimingReq(pkt); |
323 if (result) { 324 transmitList.pop_front(); 325 DPRINTF(DMA, "-- Done\n"); 326 } else { 327 inRetry = true; 328 DPRINTF(DMA, "-- Failed: queued\n"); 329 } 330 } while (result && !backoffTime && transmitList.size()); --- 60 unchanged lines hidden --- |