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 --- |