kerneltest/e32test/dma/d_dma.cpp
branchRCL_3
changeset 28 5b5d147c7838
parent 22 2f92ad2dc5db
child 43 c1f20ce4abcf
equal deleted inserted replaced
26:c734af59ce98 28:5b5d147c7838
   157 	}
   157 	}
   158 
   158 
   159 #endif
   159 #endif
   160 
   160 
   161 
   161 
   162 #ifndef DMA_APIV2
       
   163 static TInt FragmentCount(DDmaRequest* aRequest)
   162 static TInt FragmentCount(DDmaRequest* aRequest)
   164 	{
   163 	{
   165 	TInt count = 0;
   164 	TInt count = 0;
   166 	for (SDmaDesHdr* pH = aRequest->iFirstHdr; pH != NULL; pH = pH->iNext)
   165 	for (SDmaDesHdr* pH = aRequest->iFirstHdr; pH != NULL; pH = pH->iNext)
   167 		count++;
   166 		count++;
   168 	return count;
   167 	return count;
   169 	}
   168 	}
   170 #endif
       
   171 
   169 
   172 
   170 
   173 //////////////////////////////////////////////////////////////////////////////
   171 //////////////////////////////////////////////////////////////////////////////
   174 
   172 
   175 class DDmaTestChannel : public DLogicalChannelBase
   173 class DDmaTestChannel : public DLogicalChannelBase
   388 		return iChannel->FailNext((TInt)a1);
   386 		return iChannel->FailNext((TInt)a1);
   389 	case RTestDma::EFragmentCount:
   387 	case RTestDma::EFragmentCount:
   390 		{
   388 		{
   391 		TInt reqIdx = (TInt)a1;
   389 		TInt reqIdx = (TInt)a1;
   392 		__ASSERT_DEBUG(0 <= reqIdx && reqIdx < KMaxRequests, Kern::PanicCurrentThread(KClientPanicCat, __LINE__));
   390 		__ASSERT_DEBUG(0 <= reqIdx && reqIdx < KMaxRequests, Kern::PanicCurrentThread(KClientPanicCat, __LINE__));
   393 #ifdef DMA_APIV2
       
   394 		return iRequests[reqIdx]->FragmentCount();
       
   395 #else
       
   396 		return FragmentCount(iRequests[reqIdx]);
   391 		return FragmentCount(iRequests[reqIdx]);
   397 #endif
       
   398 		}
   392 		}
   399 	case RTestDma::EMissInterrupts:
   393 	case RTestDma::EMissInterrupts:
   400 		return iChannel->MissNextInterrupts((TInt)a1);
   394 		return iChannel->MissNextInterrupts((TInt)a1);
   401 	default:
   395 	default:
   402 		Kern::PanicCurrentThread(KClientPanicCat, __LINE__);
   396 		Kern::PanicCurrentThread(KClientPanicCat, __LINE__);