kerneltest/e32test/dmav2/d_dma2.h
changeset 247 d8d70de2bd36
parent 139 95f71bcdcdb7
--- 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<TAny*>(aDriverCookie));
 		}
 
+	TInt ChannelLinking(TUint aDriverCookie)
+		{	
+		return DoControl(ELinkChannel, reinterpret_cast<TAny*>(aDriverCookie));
+		}
+
+	TInt ChannelUnLinking(TUint aDriverCookie)
+		{	
+		return DoControl(EUnlinkChannel, reinterpret_cast<TAny*>(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<TAny*>(aRequestCookie));
 		}
 
+	TInt RequestEnableDstElementCounting(TUint aRequestCookie)
+		{					
+		return DoControl(EEnableDstElementCounting, reinterpret_cast<TAny*>(aRequestCookie));		
+		}
+
+	TInt RequestEnableSrcElementCounting(TUint aRequestCookie)
+		{		
+		return DoControl(EEnableSrcElementCounting, reinterpret_cast<TAny*>(aRequestCookie));
+		}
+
+	TInt RequestDisableDstElementCounting(TUint aRequestCookie)
+		{	
+		return DoControl(EDisableDstElementCounting, reinterpret_cast<TAny*>(aRequestCookie));
+		}
+
+	TInt RequestDisableSrcElementCounting(TUint aRequestCookie)
+		{	
+		return DoControl(EDisableSrcElementCounting, reinterpret_cast<TAny*>(aRequestCookie));
+		}
+
+	TInt RequestTotalNumDstElementsTransferred(TUint aRequestCookie)
+		{	
+		return DoControl(ETotalNumDstElementsTransferred, reinterpret_cast<TAny*>(aRequestCookie));
+		}
+
+	TInt RequestTotalNumSrcElementsTransferred(TUint aRequestCookie)
+		{	
+		return DoControl(ETotalNumSrcElementsTransferred, reinterpret_cast<TAny*>(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<TDmaV2TestInfo> 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<TRequestCreateArgs> 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__