kernel/eka/include/drivers/dma_v2.h
changeset 231 75252ea6123b
parent 199 189ece41fa29
child 243 c7a0ce20c48c
equal deleted inserted replaced
202:9aca3be14c27 231:75252ea6123b
   745 			@released
   745 			@released
   746 		*/
   746 		*/
   747 		TInt iDesCount;
   747 		TInt iDesCount;
   748 		/** DFC queue used to service DMA interrupts.
   748 		/** DFC queue used to service DMA interrupts.
   749 
   749 
   750 			The DFC thread priority must be higher than any client thread
       
   751 			priority to avoid a situation where a transfer completes while
       
   752 			being cancelled and another transfer is started before the DFC
       
   753 			thread gets a chance to run. This would lead to a stray DFC.
       
   754 
       
   755 			@released
   750 			@released
   756 		*/
   751 		*/
   757 		TDfcQue* iDfcQ;
   752 		TDfcQue* iDfcQ;
   758 		/** DFC priority.
   753 		/** DFC priority.
   759 
   754 
  1289 	enum {KCancelFlagMask = 0x40000000};   // bit 30 - cancel flag
  1284 	enum {KCancelFlagMask = 0x40000000};   // bit 30 - cancel flag
  1290 	enum {KDfcCountMask = 0x3FFFFFFF};	   // bits 0-29 - number of queued DFCs
  1285 	enum {KDfcCountMask = 0x3FFFFFFF};	   // bits 0-29 - number of queued DFCs
  1291 	SDblQue iReqQ;			// being/about to be transferred request queue
  1286 	SDblQue iReqQ;			// being/about to be transferred request queue
  1292 	TInt iReqCount;			// number of requests attached to this channel
  1287 	TInt iReqCount;			// number of requests attached to this channel
  1293 	TInt iQueuedRequests; 	// number of requests currently queued on this channel
  1288 	TInt iQueuedRequests; 	// number of requests currently queued on this channel
       
  1289 	TBool iCallQueuedRequestFn;	// call QueuedRequestCountChanged? (default: true)
  1294 
  1290 
  1295 private:
  1291 private:
  1296 	TDmaCancelInfo* iCancelInfo; // ...
  1292 	TDmaCancelInfo* iCancelInfo; // ...
  1297 	TBool iRedoRequest;		// client ISR callback wants a redo of request
  1293 	TBool iRedoRequest;		// client ISR callback wants a redo of request
  1298 	TBool iIsrCbRequest;	// request on queue using ISR callback
  1294 	TBool iIsrCbRequest;	// request on queue using ISR callback