kernel/eka/drivers/usbcsc/usbcsc_bil.cpp
branchRCL_3
changeset 257 3e88ff8f41d5
parent 256 c1f20ce4abcf
--- a/kernel/eka/drivers/usbcsc/usbcsc_bil.cpp	Tue Aug 31 16:34:26 2010 +0300
+++ b/kernel/eka/drivers/usbcsc/usbcsc_bil.cpp	Wed Sep 01 12:34:56 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of the License "Eclipse Public License v1.0"
@@ -19,10 +19,7 @@
 #include <e32std_private.h>
 #include <d32usbcsc.h>
 #include <e32debug.h>
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "usbcsc_bilTraces.h"
-#endif
+
 /** @file usbcsc_bil.cpp
 
 	Buffer Interface Layer for USB Client Device driver stack, using shared chunks.
@@ -41,31 +38,6 @@
 	return r;
 	}
 
-// empty a endpoint buffer, this is called when device state enter undefined
-TInt RDevUsbcScClient::Empty(TUint aBufferOffset)
-{
-	TUint8* base = iSharedChunk.Base();
-	SUsbcScBufferHeader* endpointHdr = (SUsbcScBufferHeader*) (aBufferOffset + base);
-	TUint localTail = endpointHdr->iBilTail;
-	TUsbcScTransferHeader* currentTransfer;
-	TInt err=KErrNone;
-
-	while (ETrue)
-		{
-		if (localTail == (TUint) endpointHdr->iHead)
-			{
-			err = KErrNone;			
-			break;
-			}
-		currentTransfer = (TUsbcScTransferHeader*) (base + localTail);
-		localTail = currentTransfer->iNext;
-		} // end while
-	endpointHdr->iBilTail = localTail;
-	endpointHdr->iTail = localTail;
-	return err;
-}
-
-
 
 EXPORT_C TInt RDevUsbcScClient::FinalizeInterface(RChunk*& aChunk)
 	{
@@ -77,35 +49,6 @@
 	}
 
 
-EXPORT_C void RDevUsbcScClient::ResetAltSetting()
-	{
-	if (iAlternateSetting == 0)
-		return;
-	TUsbcScChunkHeader chunkHeader(iSharedChunk);
-	
-	TInt ep;
-	TInt noEp;
-	TUint bufOff;
-	TUsbcScHdrEndpointRecord* endpointInf = NULL;
-
-	// check if alternate setting contains all IN endpoints
-	noEp = chunkHeader.GetNumberOfEndpoints(iAlternateSetting);
-
-	// for each used buffer. 
-	for (ep=1;ep<=noEp;ep++)
-		{
-		bufOff = chunkHeader.GetBuffer(iAlternateSetting,ep,endpointInf)->Offset();	
-	
-		if (endpointInf->Direction() & KUsbScHdrEpDirectionOut) 
-			{
-			Empty(bufOff); // we need to remove anythng in the way, and get it ready for reading.
-			}
-		}
-	
-	iAlternateSetting = 0;
-	}
-
-
 EXPORT_C TInt RDevUsbcScClient::OpenEndpoint(TEndpointBuffer& aEpB, TInt aEpI)
 	{
 	TUsbcScHdrEndpointRecord* endpointInf = NULL;
@@ -163,7 +106,7 @@
 
 #ifdef _DEBUG
 	aEpB.Dump();
-	OstTraceDef1(OST_TRACE_CATEGORY_RND, TRACE_NORMAL, RDEVUSBCSCCLIENT_OPENENDPOINT, "iEndpointStatus: %x \n",iEndpointStatus );
+	RDebug::Printf("iEndpointStatus: %x \n",iEndpointStatus);
 #endif
 	return KErrNone;
 	}
@@ -175,14 +118,12 @@
  
 TInt RDevUsbcScClient::Drain(TUint aBufferOffset)
 {
-
 	TUint8* base = iSharedChunk.Base();
 	SUsbcScBufferHeader* endpointHdr = (SUsbcScBufferHeader*) (aBufferOffset+base);
 	TUint localTail = endpointHdr->iBilTail;
 	TUsbcScTransferHeader* currentTransfer;
 	TUint16 next = (iAltSettingSeq+1)&0xFFFF;
 	TInt err=KErrNone;
-	TBool aZLP;
 
 	while (ETrue)
 		{
@@ -194,13 +135,8 @@
 		currentTransfer = (TUsbcScTransferHeader*) (base + localTail);
 
 		if (currentTransfer->iAltSettingSeq == next)
-			{			
+			{
 			iNewAltSetting=currentTransfer->iAltSetting; // record new alt setting
-			aZLP = (currentTransfer->iFlags & KUsbcScShortPacket)!=EFalse;
-			if ((currentTransfer->iBytes==0) && (!aZLP)) // take empty packet which is for alternate setting change
-				{
-				localTail = currentTransfer->iNext;
-				}
 			break;
 			}
 		else
@@ -228,7 +164,7 @@
 		// if alternate setting has not changed
 		return KErrNotReady;
 	else
-		{		
+		{
 		iNewAltSetting=currentTransfer->iAltSetting;
 		return KErrNone;
 		}
@@ -469,7 +405,6 @@
 
 	TUsbcScTransferHeader* currentTransfer;
 	TInt r;
-	TInt aBilTail;
 	do // until we have a transfer with data.
 		{
 		iEndpointHdr->iTail = iEndpointHdr->iBilTail; 
@@ -480,22 +415,19 @@
 				return r;
 			}
 		currentTransfer = (TUsbcScTransferHeader*) (iBaseAddr + iEndpointHdr->iBilTail);
-		aBilTail = iEndpointHdr->iBilTail;
+
 		iEndpointHdr->iBilTail = currentTransfer->iNext;
 		aZLP = (currentTransfer->iFlags & KUsbcScShortPacket)!=EFalse;
 
 		if(currentTransfer->iAltSettingSeq != (iClient->iAltSettingSeq))  // if alternate setting has changed
 			{
 			if (currentTransfer->iAltSettingSeq == (iClient->iAltSettingSeq+1))	   //Note- KIS ATM, if multiple alternate setting changes happen
-				{
 				iClient->iNewAltSetting = currentTransfer->iAltSetting; //before StartNextOutAlternateSetting is called, 		   
-																	   //this variable will reflect the latest requested AlternateSetting		
-				}													   
+																	   //this variable will reflect the latest requested AlternateSetting
 
 
 			if (iEndpointNumber != KEp0Number)
 				{
-				iEndpointHdr->iBilTail = aBilTail;
 //				iOutState =  EEOF;	
 				return KErrEof;
 				}
@@ -518,10 +450,8 @@
 	if (iOutState)
 		return iOutState;
 
-
 	TUsbcScTransferHeader* currentTransfer;
 	TInt r;
-	TInt aBilTail;
 	do // until we have a transfer with data.
 		{
 		if(iEndpointHdr->iBilTail == iEndpointHdr->iHead)  //If no new data, create request
@@ -534,7 +464,6 @@
 			}
 
 		currentTransfer = (TUsbcScTransferHeader*) (iBaseAddr + iEndpointHdr->iBilTail);
-		aBilTail = iEndpointHdr->iBilTail;
 		iEndpointHdr->iBilTail = currentTransfer->iNext;
 		aZLP = (currentTransfer->iFlags & KUsbcScShortPacket)!=EFalse; // True if short packet else false 
 
@@ -543,19 +472,16 @@
 			if (currentTransfer->iAltSettingSeq == (iClient->iAltSettingSeq+1))	   //Note- KIS ATM, if multiple alternate setting changes happen
 				iClient->iNewAltSetting = currentTransfer->iAltSetting; //before StartNextOutAlternateSetting is called, 		   
 																	   //this variable will reflect the latest requested AlternateSetting
-			
+			Expire(currentTransfer->iData.i);
 			if (iEndpointNumber != KEp0Number)
 				{
-				iEndpointHdr->iBilTail = aBilTail;
 //				iOutState = EEOF;
 				return KErrEof;
 				}
 			else if ((currentTransfer->iBytes==0) && (!aZLP)) 
 				{
-				Expire(currentTransfer->iData.i);
 				return KErrAlternateSettingChanged;
 				}
-			Expire(currentTransfer->iData.i);
 
 			}	
 
@@ -597,12 +523,11 @@
 
 	TInt prevTail = NULL;
 	TBool found = EFalse;
-	
 	while (currentTail != iEndpointHdr->iBilTail)
-		{			
+		{
 		TUsbcScTransferHeader* currentTransfer = (TUsbcScTransferHeader*) (iBaseAddr + currentTail);
 		if (currentTail == offsetToExpire)		// found which to expire
-			{			
+			{
 			found = ETrue;
 			// This offset is to be expired
 			if (prevTail == NULL)
@@ -622,7 +547,7 @@
 			}
 		prevTail = currentTail;
 		currentTail = currentTransfer->iNext;
-		}	
+		}
 	return found ? KErrNone : KErrNotFound;
 	}
 
@@ -702,9 +627,7 @@
 
 EXPORT_C void TEndpointBuffer::Dump()
 	{
-	OstTraceDefExt5(OST_TRACE_CATEGORY_RND, TRACE_NORMAL, TENDPOINTBUFFER_DUMP, "TEndpointBuffer::Dump iBufferStart: 0x%x, iSize: 0x%x, iEndpointNumber: 0x%x, iBufferNum: %d, iInState: 0x%x",
-            (TUint)iBufferStartAddr,iSize,iEndpointNumber,iBufferNum, (TUint)iInState);
-
-    OstTraceDef1(OST_TRACE_CATEGORY_RND, TRACE_NORMAL, TENDPOINTBUFFER_DUMP_DUP1, " iOutState: 0x%x\n", iOutState);
+	RDebug::Printf("TEndpointBuffer::Dump iBufferStart: 0x%x, iSize: 0x%x, iEndpointNumber: 0x%x, iBufferNum: %d, iInState: 0x%x iOutState: 0x%x\n",
+							iBufferStartAddr,iSize,iEndpointNumber,iBufferNum,iInState,iOutState);
 	}