1/* 2 * Copyright (c) 2019 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 --- 143 unchanged lines hidden (view full) --- 152 153 if (xlateSlotsRemaining==0 || 154 (pkt->isWrite() && wrBufSlotsRemaining < nbeats)) 155 { 156 deviceNeedsRetry = true; 157 return false; 158 } 159 |
160 if (pkt->isWrite()) 161 wrBufSlotsRemaining -= nbeats; 162 163 std::string proc_name = csprintf("%s.port", name()); 164 SMMUTranslationProcess *proc = 165 new SMMUTranslationProcess(proc_name, *smmu, *this); 166 proc->beginTransaction(SMMUTranslRequest::fromPacket(pkt)); 167 --- 29 unchanged lines hidden (view full) --- 197 // @todo: We need to pay for this and not just zero it out 198 pkt->headerDelay = pkt->payloadDelay = 0; 199 200 if (xlateSlotsRemaining == 0) { 201 deviceNeedsRetry = true; 202 return false; 203 } 204 |
205 std::string proc_name = csprintf("%s.atsport", name()); 206 const bool ats_request = true; 207 SMMUTranslationProcess *proc = 208 new SMMUTranslationProcess(proc_name, *smmu, *this); 209 proc->beginTransaction(SMMUTranslRequest::fromPacket(pkt, ats_request)); 210 211 smmu->runProcessTiming(proc, pkt); 212 --- 48 unchanged lines hidden --- |