equal
deleted
inserted
replaced
1230 }; |
1230 }; |
1231 |
1231 |
1232 void TFooDmaChannel::QueuedRequestCountChanged() |
1232 void TFooDmaChannel::QueuedRequestCountChanged() |
1233 { |
1233 { |
1234 Kern::MutexWait(*iDmaMutex); |
1234 Kern::MutexWait(*iDmaMutex); |
1235 if ((iQueuedRequests > 0) && (iPrevQueuedRequests == 0)) |
1235 const TInt queued_now = __e32_atomic_load_acq32(&iQueuedRequests); |
|
1236 if ((queued_now > 0) && (iPrevQueuedRequests == 0)) |
1236 { |
1237 { |
1237 IncreasePowerCount(); // Base port specific |
1238 IncreasePowerCount(); // Base port specific |
1238 } |
1239 } |
1239 else if ((iQueuedRequests == 0) && (iPrevQueuedRequests > 0)) |
1240 else if ((queued_now == 0) && (iPrevQueuedRequests > 0)) |
1240 { |
1241 { |
1241 DecreasePowerCount(); // Base port specific |
1242 DecreasePowerCount(); // Base port specific |
1242 } |
1243 } |
1243 iPrevQueuedRequests = iQueuedRequests; |
1244 iPrevQueuedRequests = queued_now; |
1244 Kern::MutexSignal(*iDmaMutex); |
1245 Kern::MutexSignal(*iDmaMutex); |
1245 } |
1246 } |
1246 |
1247 |
1247 @endcode |
1248 @endcode |
1248 |
1249 |