Deleted Added
sdiff udiff text old ( 11184:07b0dacf27d6 ) new ( 11284:b3926db25371 )
full compact
1#include "base/random.hh"
2#include "debug/HMCController.hh"
3#include "mem/hmc_controller.hh"
4
5HMCController::HMCController(const HMCControllerParams* p) :
6 NoncoherentXBar(p),
7 n_master_ports(p->port_master_connection_count),
8 rr_counter(0)

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

76 calcPacketTiming(pkt, xbar_delay);
77
78 // determine how long to be layer is busy
79 Tick packetFinishTime = clockEdge(Cycles(1)) + pkt->payloadDelay;
80
81 // before forwarding the packet (and possibly altering it),
82 // remember if we are expecting a response
83 const bool expect_response = pkt->needsResponse() &&
84 !pkt->cacheResponding();
85
86 // since it is a normal request, attempt to send the packet
87 bool success = masterPorts[master_port_id]->sendTimingReq(pkt);
88
89 if (!success) {
90 DPRINTF(HMCController, "recvTimingReq: src %s %s 0x%x RETRY\n",
91 src_port->name(), pkt->cmdString(), pkt->getAddr());
92
93 // restore the header delay as it is additive
94 pkt->headerDelay = old_header_delay;
95
96 // occupy until the header is sent
97 reqLayers[master_port_id]->failedTiming(src_port,

--- 20 unchanged lines hidden ---