diff -r 43365a9b78a3 -r d8d70de2bd36 kerneltest/e32test/dmav2/d_dma2.h --- a/kerneltest/e32test/dmav2/d_dma2.h Tue Jul 06 15:50:07 2010 +0300 +++ b/kerneltest/e32test/dmav2/d_dma2.h Wed Aug 18 11:08:29 2010 +0300 @@ -62,7 +62,13 @@ } #endif -_LIT(KTestDmaLddName, "TestDmaV2"); +_LIT(KTestDmaLddNameSim, "TestDmaV2Sim"); +_LIT(KTestDmaLddNameHw, "TestDmaV2"); +#ifdef __DMASIM__ +const TPtrC KTestDmaLddName = KTestDmaLddNameSim(); +#else +const TPtrC KTestDmaLddName = KTestDmaLddNameHw(); +#endif inline TVersion TestDmaLddVersion() { return TVersion(1, 0, 1); } @@ -444,6 +450,16 @@ 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)); + } + TInt ChannelCaps(TUint aDriverCookie, SDmacCaps& aChannelCaps) { TDmacTestCaps caps; @@ -460,9 +476,16 @@ TInt Open() { - return DoCreate(KTestDmaLddName,TestDmaLddVersion(), 0, NULL, NULL, EOwnerThread); + TInt r = KErrNone; + r = DoCreate(KTestDmaLddNameHw,TestDmaLddVersion(), 0, NULL, NULL, EOwnerThread); + RDebug::Printf("RDmaSession::Open returned %d", r); + return r; } + TInt OpenSim() + { + return DoCreate(KTestDmaLddNameSim,TestDmaLddVersion(), 0, NULL, NULL, EOwnerThread); + } TInt RequestCreateOld(TUint aChannelCookie, TUint& aRequestCookie, TUint aMaxTransferSize=0) { @@ -485,6 +508,36 @@ return DoControl(EFragmentCount, reinterpret_cast(aRequestCookie)); } + TInt RequestEnableDstElementCounting(TUint 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 */ @@ -571,15 +624,15 @@ TUint chunkHandle = DoControl(EOpenSharedChunk); return aChunk.SetReturnedHandle(chunkHandle); } - + TInt GetTestInfo(TDmaV2TestInfo& aInfo) { TPckg package(aInfo); return DoControl(EGetTestInfo, &package); } - static void SelfTest(); - + static void SelfTest(TBool aSimulatedDmac); + static void ApiTest(); #endif // __KERNEL_MODE__ @@ -591,8 +644,7 @@ TPckgC package(args); return DoControl(ERequestOpen, &package, &aRequestCookie); } - - + struct TRequestCreateArgs { TRequestCreateArgs(TUint aChannelCookie, TBool aNewStyle, TUint aMaxFragmentSize) @@ -664,7 +716,15 @@ EIsOpened, EIsrRedoRequest, ECancelAllChannel, - EQueueRequestWithReque + EQueueRequestWithReque, + ELinkChannel, + EUnlinkChannel, + EEnableDstElementCounting, + EEnableSrcElementCounting, + EDisableDstElementCounting, + EDisableSrcElementCounting, + ETotalNumDstElementsTransferred, + ETotalNumSrcElementsTransferred, }; }; #endif // __D_DMA2_H__