equal
deleted
inserted
replaced
277 { |
277 { |
278 /** Identifier used by PSL to select channel to open */ |
278 /** Identifier used by PSL to select channel to open */ |
279 TUint32 iCookie; |
279 TUint32 iCookie; |
280 /** Number of descriptors this channel can use */ |
280 /** Number of descriptors this channel can use */ |
281 TInt iDesCount; |
281 TInt iDesCount; |
282 /** DFC queue used to service DMA interrupts. The DFC thread |
282 /** DFC queue used to service DMA interrupts */ |
283 priority must be higher than any client thread priority to |
|
284 avoid a situation where a transfer completes while being |
|
285 cancelled and another transfer is started before the DFC |
|
286 thread gets a chance to run. This would lead to a stray |
|
287 DFC. |
|
288 */ |
|
289 TDfcQue* iDfcQ; |
283 TDfcQue* iDfcQ; |
290 /** DFC priority */ |
284 /** DFC priority */ |
291 TUint8 iDfcPriority; |
285 TUint8 iDfcPriority; |
292 }; |
286 }; |
293 public: |
287 public: |
435 enum { KCancelFlagMask = 0x40000000 }; // bit 30 - cancel flag |
429 enum { KCancelFlagMask = 0x40000000 }; // bit 30 - cancel flag |
436 enum { KDfcCountMask = 0x3FFFFFFF }; // bits 0-29 - number of queued DFCs |
430 enum { KDfcCountMask = 0x3FFFFFFF }; // bits 0-29 - number of queued DFCs |
437 SDblQue iReqQ; // being/about to be transferred request queue |
431 SDblQue iReqQ; // being/about to be transferred request queue |
438 TInt iReqCount; // number of requests attached to this channel |
432 TInt iReqCount; // number of requests attached to this channel |
439 TInt iQueuedRequests; // number of requests currently queued on this channel |
433 TInt iQueuedRequests; // number of requests currently queued on this channel |
|
434 TBool iCallQueuedRequestFn; // call QueuedRequestCountChanged? (default: true) |
440 private: |
435 private: |
441 TDmaCancelInfo* iCancelInfo; |
436 TDmaCancelInfo* iCancelInfo; |
442 __DMA_DECLARE_INVARIANT |
437 __DMA_DECLARE_INVARIANT |
443 }; |
438 }; |
444 |
439 |