--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/kernel/eka/drivers/dma/dma2_shared.cpp Mon Jan 18 21:31:10 2010 +0200
@@ -0,0 +1,210 @@
+// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// e32/drivers/dma2_shared.cpp
+// DMA Platform Independent Layer (PIL)
+//
+//
+
+#include <drivers/dmadefs.h>
+
+
+//
+// Exported default constructor.
+//
+#ifdef DMA_APIV2
+KEXPORT_C
+#endif
+TDmaTransferConfig::TDmaTransferConfig()
+ : iAddr(0),
+ iAddrMode(KDmaAddrModeConstant),
+ iElementSize(0),
+ iElementsPerFrame(0),
+ iElementsPerPacket(0),
+ iFramesPerTransfer(0),
+ iElementSkip(0),
+ iFrameSkip(0),
+ iBurstSize(KDmaBurstSizeAny),
+ iFlags(0),
+ iSyncFlags(KDmaSyncAuto),
+ iPslTargetInfo(0),
+ iRepeatCount(0),
+ iDelta(~0u),
+ iReserved(0)
+ {
+ }
+
+
+//
+// General use version.
+//
+#ifdef DMA_APIV2
+KEXPORT_C
+#endif
+TDmaTransferConfig::TDmaTransferConfig(
+ TUint32 aAddr,
+ TUint aTransferFlags,
+ TDmaAddrMode aAddrMode,
+ TUint aSyncFlags,
+ TDmaBurstSize aBurstSize,
+ TUint aElementSize,
+ TUint aElementsPerPacket,
+ TUint aPslTargetInfo,
+ TInt aRepeatCount
+ )
+ :
+ iAddr(aAddr),
+ iAddrMode(aAddrMode),
+ iElementSize(aElementSize),
+ iElementsPerFrame(0),
+ iElementsPerPacket(aElementsPerPacket),
+ iFramesPerTransfer(0),
+ iElementSkip(0),
+ iFrameSkip(0),
+ iBurstSize(aBurstSize),
+ iFlags(aTransferFlags),
+ iSyncFlags(aSyncFlags),
+ iPslTargetInfo(aPslTargetInfo),
+ iRepeatCount(aRepeatCount),
+ iDelta(~0u),
+ iReserved(0)
+ {
+ }
+
+
+//
+// 1D/2D version.
+//
+#ifdef DMA_APIV2
+KEXPORT_C
+#endif
+TDmaTransferConfig::TDmaTransferConfig(
+ TUint32 aAddr,
+ TUint aElementSize,
+ TUint aElementsPerFrame,
+ TUint aFramesPerTransfer,
+ TInt aElementSkip,
+ TInt aFrameSkip,
+ TUint aTransferFlags,
+ TUint aSyncFlags,
+ TDmaBurstSize aBurstSize,
+ TUint aElementsPerPacket,
+ TUint aPslTargetInfo,
+ TInt aRepeatCount
+ )
+ :
+ iAddr(aAddr),
+ iAddrMode( // deduce transfer mode from skips
+ (aFrameSkip != 0) ? KDmaAddrMode2DIndex :
+ (aElementSkip != 0)? KDmaAddrMode1DIndex :
+ KDmaAddrModePostIncrement),
+ iElementSize(aElementSize),
+ iElementsPerFrame(aElementsPerFrame),
+ iElementsPerPacket(aElementsPerPacket),
+ iFramesPerTransfer(aFramesPerTransfer),
+ iElementSkip(aElementSkip),
+ iFrameSkip(aFrameSkip),
+ iBurstSize(aBurstSize),
+ iFlags(aTransferFlags),
+ iSyncFlags(aSyncFlags),
+ iPslTargetInfo(aPslTargetInfo),
+ iRepeatCount(aRepeatCount),
+ iDelta(~0u),
+ iReserved(0)
+ {
+ }
+
+
+//
+// Exported default constructor.
+//
+#ifdef DMA_APIV2
+KEXPORT_C
+#endif
+TDmaTransferArgs::TDmaTransferArgs()
+ : iTransferCount(0),
+ iGraphicsOps(KDmaGraphicsOpNone),
+ iFlags(0),
+ iChannelPriority(KDmaPriorityNone),
+ iPslRequestInfo(0),
+ iDelta(~0u),
+ iReserved1(0),
+ iChannelCookie(0),
+ iReserved2(0)
+ {
+ }
+
+
+//
+// .
+//
+#ifdef DMA_APIV2
+KEXPORT_C
+#endif
+TDmaTransferArgs::TDmaTransferArgs (
+ TUint aSrcAddr,
+ TUint aDstAddr,
+ TUint aCount,
+ TUint aDmaTransferFlags,
+ TUint aDmaSyncFlags,
+ TUint aDmaPILFlags,
+ TDmaAddrMode aMode,
+ TUint aElementSize,
+ TUint aChannelPriority,
+ TDmaBurstSize aBurstSize,
+ TUint aPslRequestInfo,
+ TDmaGraphicsOps aGraphicOp,
+ TUint32 aColour
+ )
+ :
+ iSrcConfig(aSrcAddr, aDmaTransferFlags, aMode, aDmaSyncFlags, aBurstSize, aElementSize),
+ iDstConfig(aDstAddr, aDmaTransferFlags, aMode, aDmaSyncFlags, aBurstSize, aElementSize),
+ iTransferCount(aCount),
+ iGraphicsOps(aGraphicOp),
+ iColour(aColour),
+ iFlags(aDmaPILFlags),
+ iChannelPriority(aChannelPriority),
+ iPslRequestInfo(aPslRequestInfo)
+ {
+ }
+
+
+//
+// .
+//
+#ifdef DMA_APIV2
+KEXPORT_C
+#endif
+TDmaTransferArgs::TDmaTransferArgs(
+ const TDmaTransferConfig& aSrc,
+ const TDmaTransferConfig& aDst,
+ TUint32 aFlags,
+ TUint aChannelPriority,
+ TUint aPslRequestInfo,
+ TDmaGraphicsOps aGraphicOp,
+ TUint32 aColour
+ )
+ : iSrcConfig(aSrc),
+ iDstConfig(aDst),
+ iTransferCount(0),
+ iGraphicsOps(aGraphicOp),
+ iColour(aColour),
+ iFlags(aFlags),
+ iChannelPriority(aChannelPriority),
+ iPslRequestInfo(aPslRequestInfo),
+ iDelta(~0u),
+ iReserved1(0),
+ iChannelCookie(0),
+ iReserved2(0)
+ {
+ }