equal
deleted
inserted
replaced
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 |