bridge.cc (9549:95a536fae9ac) bridge.cc (9648:f10eb34e3e38)
1/*
2 * Copyright (c) 2011-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

--- 263 unchanged lines hidden (view full) ---

272 transmitList.pop_front();
273 DPRINTF(Bridge, "trySend request successful\n");
274
275 // If there are more packets to send, schedule event to try again.
276 if (!transmitList.empty()) {
277 req = transmitList.front();
278 DPRINTF(Bridge, "Scheduling next send\n");
279 bridge.schedule(sendEvent, std::max(req.tick,
1/*
2 * Copyright (c) 2011-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

--- 263 unchanged lines hidden (view full) ---

272 transmitList.pop_front();
273 DPRINTF(Bridge, "trySend request successful\n");
274
275 // If there are more packets to send, schedule event to try again.
276 if (!transmitList.empty()) {
277 req = transmitList.front();
278 DPRINTF(Bridge, "Scheduling next send\n");
279 bridge.schedule(sendEvent, std::max(req.tick,
280 bridge.nextCycle()));
280 bridge.clockEdge()));
281 }
282
283 // if we have stalled a request due to a full request queue,
284 // then send a retry at this point, also note that if the
285 // request we stalled was waiting for the response queue
286 // rather than the request queue we might stall it again
287 slavePort.retryStalledReq();
288 }

--- 24 unchanged lines hidden (view full) ---

313 assert(outstandingResponses != 0);
314 --outstandingResponses;
315
316 // If there are more packets to send, schedule event to try again.
317 if (!transmitList.empty()) {
318 resp = transmitList.front();
319 DPRINTF(Bridge, "Scheduling next send\n");
320 bridge.schedule(sendEvent, std::max(resp.tick,
281 }
282
283 // if we have stalled a request due to a full request queue,
284 // then send a retry at this point, also note that if the
285 // request we stalled was waiting for the response queue
286 // rather than the request queue we might stall it again
287 slavePort.retryStalledReq();
288 }

--- 24 unchanged lines hidden (view full) ---

313 assert(outstandingResponses != 0);
314 --outstandingResponses;
315
316 // If there are more packets to send, schedule event to try again.
317 if (!transmitList.empty()) {
318 resp = transmitList.front();
319 DPRINTF(Bridge, "Scheduling next send\n");
320 bridge.schedule(sendEvent, std::max(resp.tick,
321 bridge.nextCycle()));
321 bridge.clockEdge()));
322 }
323
324 // if there is space in the request queue and we were stalling
325 // a request, it will definitely be possible to accept it now
326 // since there is guaranteed space in the response queue
327 if (!masterPort.reqQueueFull() && retryReq) {
328 DPRINTF(Bridge, "Request waiting for retry, now retrying\n");
329 retryReq = false;

--- 88 unchanged lines hidden ---
322 }
323
324 // if there is space in the request queue and we were stalling
325 // a request, it will definitely be possible to accept it now
326 // since there is guaranteed space in the response queue
327 if (!masterPort.reqQueueFull() && retryReq) {
328 DPRINTF(Bridge, "Request waiting for retry, now retrying\n");
329 retryReq = false;

--- 88 unchanged lines hidden ---