kernel/eka/include/drivers/dma_v2.h
changeset 189 a5496987b1da
parent 135 5e441a173c63
child 199 189ece41fa29
equal deleted inserted replaced
177:a232af6b0b1f 189:a5496987b1da
  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