dram_ctrl.cc (10492:59f9f18aae0c) dram_ctrl.cc (10509:d5554f97c451)
1/*
2 * Copyright (c) 2010-2014 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

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

732 if (!respQueue.empty()) {
733 assert(respQueue.front()->readyTime >= curTick());
734 assert(!respondEvent.scheduled());
735 schedule(respondEvent, respQueue.front()->readyTime);
736 } else {
737 // if there is nothing left in any queue, signal a drain
738 if (writeQueue.empty() && readQueue.empty() &&
739 drainManager) {
1/*
2 * Copyright (c) 2010-2014 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

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

732 if (!respQueue.empty()) {
733 assert(respQueue.front()->readyTime >= curTick());
734 assert(!respondEvent.scheduled());
735 schedule(respondEvent, respQueue.front()->readyTime);
736 } else {
737 // if there is nothing left in any queue, signal a drain
738 if (writeQueue.empty() && readQueue.empty() &&
739 drainManager) {
740 DPRINTF(Drain, "DRAM controller done draining\n");
740 drainManager->signalDrainDone();
741 drainManager = NULL;
742 }
743 }
744
745 // We have made a location in the queue available at this point,
746 // so if there is a read that was forced to wait, retry now
747 if (retryRdReq) {

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

1285 // if we are draining)
1286 if (!writeQueue.empty() &&
1287 (drainManager || writeQueue.size() > writeLowThreshold)) {
1288
1289 switch_to_writes = true;
1290 } else {
1291 // check if we are drained
1292 if (respQueue.empty () && drainManager) {
741 drainManager->signalDrainDone();
742 drainManager = NULL;
743 }
744 }
745
746 // We have made a location in the queue available at this point,
747 // so if there is a read that was forced to wait, retry now
748 if (retryRdReq) {

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

1286 // if we are draining)
1287 if (!writeQueue.empty() &&
1288 (drainManager || writeQueue.size() > writeLowThreshold)) {
1289
1290 switch_to_writes = true;
1291 } else {
1292 // check if we are drained
1293 if (respQueue.empty () && drainManager) {
1294 DPRINTF(Drain, "DRAM controller done draining\n");
1293 drainManager->signalDrainDone();
1294 drainManager = NULL;
1295 }
1296
1297 // nothing to do, not even any point in scheduling an
1298 // event for the next request
1299 return;
1300 }

--- 842 unchanged lines hidden ---
1295 drainManager->signalDrainDone();
1296 drainManager = NULL;
1297 }
1298
1299 // nothing to do, not even any point in scheduling an
1300 // event for the next request
1301 return;
1302 }

--- 842 unchanged lines hidden ---