equal
deleted
inserted
replaced
391 }; |
391 }; |
392 |
392 |
393 void TFooDmaChannel::QueuedRequestCountChanged() |
393 void TFooDmaChannel::QueuedRequestCountChanged() |
394 { |
394 { |
395 Kern::MutexWait(*iDmaMutex); |
395 Kern::MutexWait(*iDmaMutex); |
396 if ((iQueuedRequests > 0) && (iPrevQueuedRequests == 0)) |
396 const TInt queued_now = __e32_atomic_load_acq32(&iQueuedRequests); |
|
397 if ((queued_now > 0) && (iPrevQueuedRequests == 0)) |
397 { |
398 { |
398 IncreasePowerCount(); // Base port specific |
399 IncreasePowerCount(); // Base port specific |
399 } |
400 } |
400 else if ((iQueuedRequests == 0) && (iPrevQueuedRequests > 0)) |
401 else if ((queued_now == 0) && (iPrevQueuedRequests > 0)) |
401 { |
402 { |
402 DecreasePowerCount(); // Base port specific |
403 DecreasePowerCount(); // Base port specific |
403 } |
404 } |
404 iPrevQueuedRequests = iQueuedRequests; |
405 iPrevQueuedRequests = queued_now; |
405 Kern::MutexSignal(*iDmaMutex); |
406 Kern::MutexSignal(*iDmaMutex); |
406 } |
407 } |
407 |
408 |
408 @endcode |
409 @endcode |
409 |
410 |