diff -r 206a6eaaeb71 -r 0659d0e1a03c kerneltest/e32test/dmav2/d_dma2.h --- a/kerneltest/e32test/dmav2/d_dma2.h Mon Oct 18 15:31:10 2010 +0100 +++ b/kerneltest/e32test/dmav2/d_dma2.h Wed Oct 20 13:58:28 2010 +0100 @@ -13,7 +13,7 @@ // Description: // e32test\dmav2\d_dma2.h // User-side API for LDD used to test DMAv2 framework. -// +// // #ifndef __D_DMA2_H__ @@ -312,7 +312,8 @@ { _LIT(KOutput, "TAddressParms: src=0x%08x (%d) dst=0x%08x (%d) count=0x%08x (%d)\0"); #ifdef __KERNEL_MODE__ - DmaAppendFormat(aBuf, (const char*)KOutput().Ptr(), iSrcAddr, iSrcAddr, iDstAddr, iDstAddr, iTransferCount, iTransferCount); + DmaAppendFormat(aBuf, (const char*)KOutput().Ptr(), iSrcAddr, iSrcAddr, + iDstAddr, iDstAddr, iTransferCount, iTransferCount); #else aBuf.AppendFormat(KOutput, iSrcAddr, iSrcAddr, iDstAddr, iDstAddr, iTransferCount, iTransferCount); #endif @@ -411,16 +412,16 @@ #ifndef __KERNEL_MODE__ TInt ChannelIsQueueEmpty(TUint aDriverCookie,TBool& aQueueEmpty) { - return DoControl(EIsQueueEmpty, reinterpret_cast(aDriverCookie), &aQueueEmpty); + return DoControl(EIsQueueEmpty, reinterpret_cast(aDriverCookie), &aQueueEmpty); } TInt ChannelIsOpened(TUint aDriverCookie,TBool &aChannelOpen) { - return DoControl(EIsOpened, reinterpret_cast(aDriverCookie), &aChannelOpen); + return DoControl(EIsOpened, reinterpret_cast(aDriverCookie), &aChannelOpen); } TInt ChannelCancelAll(TUint aDriverCookie) - { + { return DoControl(ECancelAllChannel, reinterpret_cast(aDriverCookie)); } @@ -436,27 +437,27 @@ } TInt ChannelClose(TUint aDriverCookie) - { + { return DoControl(ECloseChannel, reinterpret_cast(aDriverCookie)); } TInt ChannelPause(TUint aDriverCookie) - { + { return DoControl(EPauseChannel, reinterpret_cast(aDriverCookie)); } - + TInt ChannelResume(TUint aDriverCookie) - { + { return DoControl(EResumeChannel, reinterpret_cast(aDriverCookie)); } TInt ChannelLinking(TUint aDriverCookie) - { + { return DoControl(ELinkChannel, reinterpret_cast(aDriverCookie)); } TInt ChannelUnLinking(TUint aDriverCookie) - { + { return DoControl(EUnlinkChannel, reinterpret_cast(aDriverCookie)); } @@ -473,22 +474,41 @@ TPckg package(aChannelCaps); return DoControl(EChannelCaps, reinterpret_cast(aDriverCookie), &package); } - + TInt Open() { - TInt r = KErrNone; - r = DoCreate(KTestDmaLddNameHw,TestDmaLddVersion(), 0, NULL, NULL, EOwnerThread); - RDebug::Printf("RDmaSession::Open returned %d", r); +#if defined(DMA_INVERTED_THREAD_PRIORITIES) + const TInt dfcThreadPriority = 11; +#else + const TInt dfcThreadPriority = 26; +#endif + const TInt r = DoCreate(KTestDmaLddNameHw, TestDmaLddVersion(), 0, NULL, + reinterpret_cast(dfcThreadPriority), EOwnerThread); + if (r != KErrNone) + { + RDebug::Printf("RDmaSession::Open(): DoCreate() returned %d", r); + } return r; } TInt OpenSim() { - return DoCreate(KTestDmaLddNameSim,TestDmaLddVersion(), 0, NULL, NULL, EOwnerThread); +#if defined(DMA_INVERTED_THREAD_PRIORITIES) + const TInt dfcThreadPriority = 11; +#else + const TInt dfcThreadPriority = 26; +#endif + const TInt r = DoCreate(KTestDmaLddNameSim, TestDmaLddVersion(), 0, NULL, + reinterpret_cast(dfcThreadPriority), EOwnerThread); + if (r != KErrNone) + { + RDebug::Printf("RDmaSession::OpenSim(): DoCreate() returned %d", r); + } + return r; } TInt RequestCreateOld(TUint aChannelCookie, TUint& aRequestCookie, TUint aMaxTransferSize=0) - { + { return DoRequestCreate(aChannelCookie, EFalse, aMaxTransferSize, aRequestCookie); } @@ -499,49 +519,50 @@ } TInt RequestDestroy(TUint aRequestCookie) - { + { return DoControl(ERequestClose, reinterpret_cast(aRequestCookie)); } TInt RequestFragmentCount(TUint aRequestCookie) - { + { return DoControl(EFragmentCount, reinterpret_cast(aRequestCookie)); } TInt RequestEnableDstElementCounting(TUint aRequestCookie) - { - return DoControl(EEnableDstElementCounting, reinterpret_cast(aRequestCookie)); + { + return DoControl(EEnableDstElementCounting, reinterpret_cast(aRequestCookie)); } TInt RequestEnableSrcElementCounting(TUint aRequestCookie) - { + { return DoControl(EEnableSrcElementCounting, reinterpret_cast(aRequestCookie)); } TInt RequestDisableDstElementCounting(TUint aRequestCookie) - { + { return DoControl(EDisableDstElementCounting, reinterpret_cast(aRequestCookie)); } TInt RequestDisableSrcElementCounting(TUint aRequestCookie) - { + { return DoControl(EDisableSrcElementCounting, reinterpret_cast(aRequestCookie)); } TInt RequestTotalNumDstElementsTransferred(TUint aRequestCookie) - { + { return DoControl(ETotalNumDstElementsTransferred, reinterpret_cast(aRequestCookie)); } TInt RequestTotalNumSrcElementsTransferred(TUint aRequestCookie) - { + { return DoControl(ETotalNumSrcElementsTransferred, reinterpret_cast(aRequestCookie)); } /** Will fragment a DMA request using the legacy API */ - TInt FragmentRequestOld(TUint aRequestCookie, const TDmaTransferArgs& aTransferArgs, TUint64* aDurationMicroSecs=NULL) + TInt FragmentRequestOld(TUint aRequestCookie, const TDmaTransferArgs& aTransferArgs, + TUint64* aDurationMicroSecs=NULL) { const TFragmentArgs args(aRequestCookie, aTransferArgs, aDurationMicroSecs); TPckgC package(args); @@ -551,14 +572,16 @@ /** Will fragment a DMA request using the new API */ - TInt FragmentRequest(TUint aRequestCookie, const TDmaTransferArgs& aTransferArgs, TUint64* aDurationMicroSecs=NULL) + TInt FragmentRequest(TUint aRequestCookie, const TDmaTransferArgs& aTransferArgs, + TUint64* aDurationMicroSecs=NULL) { const TFragmentArgs args(aRequestCookie, aTransferArgs, aDurationMicroSecs); TPckgC package(args); return DoControl(EFragment, &package); } - TInt QueueRequest(TUint aRequestCookie, TRequestStatus& aStatus, TCallbackRecord* aRecord = NULL, TUint64* aDurationMicroSecs=NULL) + TInt QueueRequest(TUint aRequestCookie, TRequestStatus& aStatus, TCallbackRecord* aRecord = NULL, + TUint64* aDurationMicroSecs=NULL) { //These dummy values can accept the writeback from the driver //if the client does not want them. @@ -569,7 +592,8 @@ aStatus = KRequestPending; - TQueueArgs args(aRequestCookie, &aStatus, aRecord ? aRecord : &dummyRec, aDurationMicroSecs ? aDurationMicroSecs : &dummyTime); + TQueueArgs args(aRequestCookie, &aStatus, aRecord ? aRecord : &dummyRec, + aDurationMicroSecs ? aDurationMicroSecs : &dummyTime); TPckgC package(args); return DoControl(EQueueRequest, &package); } @@ -577,7 +601,8 @@ /** Synchronous version of QueueRequest */ - TInt QueueRequest(TUint aRequestCookie, TCallbackRecord* aRecord = NULL, TUint64* aDurationMicroSecs=NULL) + TInt QueueRequest(TUint aRequestCookie, TCallbackRecord* aRecord = NULL, + TUint64* aDurationMicroSecs=NULL) { TRequestStatus status; TInt r = QueueRequest(aRequestCookie, status, aRecord, aDurationMicroSecs); @@ -592,7 +617,9 @@ @pre Isr callback for completion must have been requested at request fragmentation time */ - TInt QueueRequestWithRequeue(TUint aRequestCookie, TIsrRequeArgs* aRequeueArgs, TInt aCount, TRequestStatus& aStatus, TCallbackRecord* aRecord = NULL, TUint64* aDurationMicroSecs=NULL) + TInt QueueRequestWithRequeue(TUint aRequestCookie, TIsrRequeArgs* aRequeueArgs, TInt aCount, + TRequestStatus& aStatus, TCallbackRecord* aRecord = NULL, + TUint64* aDurationMicroSecs=NULL) { //These dummy values can accept the writeback from the driver //if the client does not want them. @@ -603,7 +630,9 @@ aStatus = KRequestPending; - TQueueArgsWithReque args(aRequeueArgs, aCount, aRequestCookie, &aStatus, aRecord ? aRecord : &dummyRec, aDurationMicroSecs ? aDurationMicroSecs : &dummyTime); + TQueueArgsWithReque args(aRequeueArgs, aCount, aRequestCookie, + &aStatus, aRecord ? aRecord : &dummyRec, + aDurationMicroSecs ? aDurationMicroSecs : &dummyTime); TPckgC package(args); return DoControl(EQueueRequestWithReque, &package); } @@ -611,10 +640,12 @@ /** Synchronous version of QueueRequestWithRequeue */ - TInt QueueRequestWithRequeue(TUint aRequestCookie, TIsrRequeArgs* aRequeueArgs, TInt aCount, TCallbackRecord* aRecord = NULL, TUint64* aDurationMicroSecs=NULL) + TInt QueueRequestWithRequeue(TUint aRequestCookie, TIsrRequeArgs* aRequeueArgs, TInt aCount, + TCallbackRecord* aRecord = NULL, TUint64* aDurationMicroSecs=NULL) { TRequestStatus status; - TInt r = QueueRequestWithRequeue(aRequestCookie, aRequeueArgs, aCount, status, aRecord, aDurationMicroSecs); + TInt r = QueueRequestWithRequeue(aRequestCookie, aRequeueArgs, aCount, status, aRecord, + aDurationMicroSecs); User::WaitForRequest(status); return r; } @@ -638,13 +669,14 @@ private: - TInt DoRequestCreate(TUint aChannelCookie, TBool aNewStyle, TUint aMaxTransferSize, TUint& aRequestCookie) + TInt DoRequestCreate(TUint aChannelCookie, TBool aNewStyle, TUint aMaxTransferSize, + TUint& aRequestCookie) { TRequestCreateArgs args(aChannelCookie, aNewStyle, aMaxTransferSize); TPckgC package(args); return DoControl(ERequestOpen, &package, &aRequestCookie); } - + struct TRequestCreateArgs { TRequestCreateArgs(TUint aChannelCookie, TBool aNewStyle, TUint aMaxFragmentSize) @@ -661,8 +693,10 @@ TFragmentArgs() :iRequestCookie(0), iTransferArgs(), iDurationMicroSecs(NULL) {} - TFragmentArgs(TUint aRequestCookie, const TDmaTransferArgs& aTransferArgs, TUint64* aDurationMicroSecs = NULL) - :iRequestCookie(aRequestCookie), iTransferArgs(aTransferArgs), iDurationMicroSecs(aDurationMicroSecs) + TFragmentArgs(TUint aRequestCookie, const TDmaTransferArgs& aTransferArgs, + TUint64* aDurationMicroSecs = NULL) + :iRequestCookie(aRequestCookie), iTransferArgs(aTransferArgs), + iDurationMicroSecs(aDurationMicroSecs) {} const TUint iRequestCookie; @@ -672,8 +706,10 @@ struct TQueueArgs { - TQueueArgs(TUint aRequestCookie=0, TRequestStatus* aStatus=NULL, TCallbackRecord* aCallbackRecord=NULL, TUint64* aDurationMicroSecs=NULL) - :iRequestCookie(aRequestCookie), iStatus(aStatus), iCallbackRecord(aCallbackRecord), iDurationMicroSecs(aDurationMicroSecs) + TQueueArgs(TUint aRequestCookie=0, TRequestStatus* aStatus=NULL, + TCallbackRecord* aCallbackRecord=NULL, TUint64* aDurationMicroSecs=NULL) + :iRequestCookie(aRequestCookie), iStatus(aStatus), iCallbackRecord(aCallbackRecord), + iDurationMicroSecs(aDurationMicroSecs) {} TUint iRequestCookie; TRequestStatus* iStatus; @@ -688,8 +724,10 @@ struct TQueueArgsWithReque : public TQueueArgs { TQueueArgsWithReque(TIsrRequeArgs* aRequeueArgs=NULL, TInt aCount=0, - TUint aRequestCookie=0, TRequestStatus* aStatus=NULL, TCallbackRecord* aCallbackRecord=NULL, TUint64* aDurationMicroSecs=NULL) - :TQueueArgs(aRequestCookie, aStatus, aCallbackRecord, aDurationMicroSecs), iRequeSet(aRequeueArgs, aCount) + TUint aRequestCookie=0, TRequestStatus* aStatus=NULL, + TCallbackRecord* aCallbackRecord=NULL, TUint64* aDurationMicroSecs=NULL) + :TQueueArgs(aRequestCookie, aStatus, aCallbackRecord, aDurationMicroSecs), + iRequeSet(aRequeueArgs, aCount) { } @@ -727,4 +765,5 @@ ETotalNumSrcElementsTransferred, }; }; + #endif // __D_DMA2_H__