smmu_v3_slaveifc.cc (14039:4991b2a345a1) | smmu_v3_slaveifc.cc (14063:fc05dc40f6d1) |
---|---|
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 | 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 xlateSlotsRemaining--; | |
161 if (pkt->isWrite()) 162 wrBufSlotsRemaining -= nbeats; 163 164 std::string proc_name = csprintf("%s.port", name()); 165 SMMUTranslationProcess *proc = 166 new SMMUTranslationProcess(proc_name, *smmu, *this); 167 proc->beginTransaction(SMMUTranslRequest::fromPacket(pkt)); 168 --- 29 unchanged lines hidden (view full) --- 198 // @todo: We need to pay for this and not just zero it out 199 pkt->headerDelay = pkt->payloadDelay = 0; 200 201 if (xlateSlotsRemaining == 0) { 202 deviceNeedsRetry = true; 203 return false; 204 } 205 | 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 |
206 xlateSlotsRemaining--; 207 | |
208 std::string proc_name = csprintf("%s.atsport", name()); 209 const bool ats_request = true; 210 SMMUTranslationProcess *proc = 211 new SMMUTranslationProcess(proc_name, *smmu, *this); 212 proc->beginTransaction(SMMUTranslRequest::fromPacket(pkt, ats_request)); 213 214 smmu->runProcessTiming(proc, pkt); 215 --- 48 unchanged lines hidden --- | 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 --- |