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