coherent_xbar.cc (11130:45a23e44e93d) | coherent_xbar.cc (11131:22e739752f47) |
---|---|
1/* 2 * Copyright (c) 2011-2015 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 --- 221 unchanged lines hidden (view full) --- 230 const bool expect_response = pkt->needsResponse() && 231 !pkt->memInhibitAsserted(); 232 233 // since it is a normal request, attempt to send the packet 234 bool success = masterPorts[master_port_id]->sendTimingReq(pkt); 235 236 if (snoopFilter && !system->bypassCaches()) { 237 // Let the snoop filter know about the success of the send operation | 1/* 2 * Copyright (c) 2011-2015 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 --- 221 unchanged lines hidden (view full) --- 230 const bool expect_response = pkt->needsResponse() && 231 !pkt->memInhibitAsserted(); 232 233 // since it is a normal request, attempt to send the packet 234 bool success = masterPorts[master_port_id]->sendTimingReq(pkt); 235 236 if (snoopFilter && !system->bypassCaches()) { 237 // Let the snoop filter know about the success of the send operation |
238 snoopFilter->updateRequest(pkt, *src_port, !success); | 238 snoopFilter->finishRequest(!success, pkt); |
239 } 240 241 // check if we were successful in sending the packet onwards 242 if (!success) { 243 // express snoops and inhibited packets should never be forced 244 // to retry 245 assert(!is_express_snoop); 246 assert(!pkt->memInhibitAsserted()); --- 358 unchanged lines hidden (view full) --- 605 " SF size: %i lat: %i\n", __func__, 606 slavePorts[slave_port_id]->name(), pkt->cmdString(), 607 pkt->getAddr(), sf_res.first.size(), sf_res.second); 608 609 // let the snoop filter know about the success of the send 610 // operation, and do it even before sending it onwards to 611 // avoid situations where atomic upward snoops sneak in 612 // between and change the filter state | 239 } 240 241 // check if we were successful in sending the packet onwards 242 if (!success) { 243 // express snoops and inhibited packets should never be forced 244 // to retry 245 assert(!is_express_snoop); 246 assert(!pkt->memInhibitAsserted()); --- 358 unchanged lines hidden (view full) --- 605 " SF size: %i lat: %i\n", __func__, 606 slavePorts[slave_port_id]->name(), pkt->cmdString(), 607 pkt->getAddr(), sf_res.first.size(), sf_res.second); 608 609 // let the snoop filter know about the success of the send 610 // operation, and do it even before sending it onwards to 611 // avoid situations where atomic upward snoops sneak in 612 // between and change the filter state |
613 snoopFilter->updateRequest(pkt, *slavePorts[slave_port_id], false); | 613 snoopFilter->finishRequest(false, pkt); |
614 615 snoop_result = forwardAtomic(pkt, slave_port_id, InvalidPortID, 616 sf_res.first); 617 } else { 618 snoop_result = forwardAtomic(pkt, slave_port_id); 619 } 620 snoop_response_cmd = snoop_result.first; 621 snoop_response_latency += snoop_result.second; --- 266 unchanged lines hidden --- | 614 615 snoop_result = forwardAtomic(pkt, slave_port_id, InvalidPortID, 616 sf_res.first); 617 } else { 618 snoop_result = forwardAtomic(pkt, slave_port_id); 619 } 620 snoop_response_cmd = snoop_result.first; 621 snoop_response_latency += snoop_result.second; --- 266 unchanged lines hidden --- |