iLLD_TC27xD  1.0
Channel Transaction Functions
Collaboration diagram for Channel Transaction Functions:

Functions

IFX_INLINE void IfxDma_clearChannelTransactionRequestLost (Ifx_DMA *dma, IfxDma_ChannelId channelId)
 Clear the channel transaction request lost flag status. More...
 
IFX_INLINE void IfxDma_disableChannelTransaction (Ifx_DMA *dma, IfxDma_ChannelId channelId)
 Disable a DMA channel hardware transaction request. More...
 
IFX_INLINE void IfxDma_disableChannelTransactionLostError (Ifx_DMA *dma, IfxDma_ChannelId channelId)
 Disable the generation of a channel transaction lost error interrupt. More...
 
IFX_INLINE void IfxDma_enableChannelTransaction (Ifx_DMA *dma, IfxDma_ChannelId channelId)
 Enable a DMA channel hardware transaction request. More...
 
IFX_INLINE void IfxDma_enableChannelTransactionLostError (Ifx_DMA *dma, IfxDma_ChannelId channelId)
 Enable the generation of a channel transaction lost error interrupt. More...
 
IFX_INLINE boolean IfxDma_getChannelTransactionRequestLost (Ifx_DMA *dma, IfxDma_ChannelId channelId)
 Check the channel transaction request lost flag status. More...
 
IFX_INLINE
IfxDma_ChannelIncrementCircular 
IfxDma_getCircularRangeCode (uint16 range)
 Converts DMA circular range to circular code. More...
 
IFX_INLINE boolean IfxDma_isChannelTransactionEnabled (Ifx_DMA *dma, IfxDma_ChannelId channelId)
 Return the hardware transaction request status of a DMA channel. More...
 
IFX_INLINE boolean IfxDma_isChannelTransactionPending (Ifx_DMA *dma, IfxDma_ChannelId channelId)
 Return the status of a DMA channel (transaction pending) More...
 
IFX_INLINE void IfxDma_setSleepMode (Ifx_DMA *dma, IfxDma_SleepMode mode)
 Sets the sensitivity of the module to sleep signal. More...
 
IFX_INLINE void IfxDma_startChannelTransaction (Ifx_DMA *dma, IfxDma_ChannelId channelId)
 Request a DMA channel transaction. More...
 

Detailed Description

Function Documentation

IFX_INLINE void IfxDma_clearChannelTransactionRequestLost ( Ifx_DMA *  dma,
IfxDma_ChannelId  channelId 
)

Clear the channel transaction request lost flag status.

Parameters
dmapointer to DMA module
channelIdDMA channel number
Returns
None
// Clear the channel transaction request lost flag status
IfxDma_clearChannelTransactionRequestLost(chn[0].dma, chn[0].channelId);

Definition at line 1159 of file IfxDma.h.

IFX_INLINE void IfxDma_disableChannelTransaction ( Ifx_DMA *  dma,
IfxDma_ChannelId  channelId 
)

Disable a DMA channel hardware transaction request.

Parameters
dmapointer to DMA module
channelIdDMA channel number
Returns
None

A coding example can be found in IfxDma_enableChannelTransaction

Definition at line 1184 of file IfxDma.h.

Referenced by IfxQspi_SpiMaster_isrDmaTransmit().

IFX_INLINE void IfxDma_disableChannelTransactionLostError ( Ifx_DMA *  dma,
IfxDma_ChannelId  channelId 
)

Disable the generation of a channel transaction lost error interrupt.

Parameters
dmapointer to DMA module
channelIdDMA channel number
Returns
None
// Disable the transaction request lost interrupt for given channel
IfxDma_disableChannelTransactionLostError(chn[0].dma, chn[0].channelId);

Definition at line 1190 of file IfxDma.h.

IFX_INLINE void IfxDma_enableChannelTransaction ( Ifx_DMA *  dma,
IfxDma_ChannelId  channelId 
)

Enable a DMA channel hardware transaction request.

Parameters
dmapointer to DMA module
channelIdDMA channel number
Returns
None
unsigned *src = (unsigned *)((unsigned)&SRC_DMACH0.U + 4*NUM_CHANNELS);
for(int chn=0; chn<NUM_CHANNELS; ++chn, ++src) {
}
// Do not restrict the hardware triggering to only one transaction
IfxDma_setChannelContinuousMode(chn[0].dma, chn[0].channelId);
IfxDma_setChannelContinuousMode(chn[1].dma, chn[1].channelId);
IfxDma_setChannelContinuousMode(chn[2].dma, chn[2].channelId);
// Check for end of transaction
while(!(IfxDma_getAndClearChannelInterrupt(chn[0].dma, chn[0].channelId)));
// Enable the hardware trigger for channel 3
IfxDma_enableChannelTransaction(chn[3].dma, chn[3].channelId);
// Disable the hardware trigger for channel 2
IfxDma_disableChannelTransaction(chn[2].dma, chn[2].channelId);
// Hardware triggers for second time
unsigned *SRc = (unsigned *)((unsigned)&SRC_DMACH0.U + 4*NUM_CHANNELS);
for(int chn=0; chn<NUM_CHANNELS; ++chn, ++src) {
}
// Restrict the hardware triggering to only one transaction
IfxDma_setChannelSingleMode(chn[0].dma, chn[0].channelId);
IfxDma_setChannelSingleMode(chn[1].dma, chn[1].channelId);

Definition at line 1228 of file IfxDma.h.

IFX_INLINE void IfxDma_enableChannelTransactionLostError ( Ifx_DMA *  dma,
IfxDma_ChannelId  channelId 
)

Enable the generation of a channel transaction lost error interrupt.

Parameters
dmapointer to DMA module
channelIdDMA channel number
Returns
None
// Enable the transaction request lost interrupt for given channel
IfxDma_enableChannelTransactionLostError(chn[0].dma, chn[0].channelId);

Definition at line 1234 of file IfxDma.h.

IFX_INLINE boolean IfxDma_getChannelTransactionRequestLost ( Ifx_DMA *  dma,
IfxDma_ChannelId  channelId 
)

Check the channel transaction request lost flag status.

Parameters
dmapointer to DMA module
channelIdDMA channel number
Returns
TRUE if the TRL is set FALSE if the TRL is not set
boolean trlFlag;
// Check whether the channel transaction request lost flag is set or not
trlFlag = IfxDma_getChannelTransactionRequestLost(chn[0].dma, chn[0].channelId));

Definition at line 1360 of file IfxDma.h.

IFX_INLINE IfxDma_ChannelIncrementCircular IfxDma_getCircularRangeCode ( uint16  range)

Converts DMA circular range to circular code.

Parameters
rangeDMA circular range
Returns
DMA circular code

Definition at line 1372 of file IfxDma.h.

IFX_INLINE boolean IfxDma_isChannelTransactionEnabled ( Ifx_DMA *  dma,
IfxDma_ChannelId  channelId 
)

Return the hardware transaction request status of a DMA channel.

Parameters
dmapointer to DMA module
channelIdDMA channel number
Returns
TRUE if the hardware transaction request is enabled FALSE if the hardware transaction request is disabled

A coding example can be found in IfxDma_isChannelReset

Definition at line 1431 of file IfxDma.h.

IFX_INLINE boolean IfxDma_isChannelTransactionPending ( Ifx_DMA *  dma,
IfxDma_ChannelId  channelId 
)

Return the status of a DMA channel (transaction pending)

Parameters
dmapointer to DMA module
channelIdDMA channel number
Returns
TRUE if a transaction request for the given channel is pending
// check for the channel request pending with the channel
if (IfxDma_isChannelTransactionPending(chn[0].dma, chn[0].channelId) == TRUE) {
// There is channel request pending for channel 0
result |= 0;
}

Definition at line 1437 of file IfxDma.h.

Referenced by IfxDma_Dma_isChannelTransactionPending().

IFX_INLINE void IfxDma_setSleepMode ( Ifx_DMA *  dma,
IfxDma_SleepMode  mode 
)

Sets the sensitivity of the module to sleep signal.

Parameters
dmapointer to DMA registers
modemode selection (enable/disable)
Returns
None

Definition at line 1549 of file IfxDma.h.

IFX_INLINE void IfxDma_startChannelTransaction ( Ifx_DMA *  dma,
IfxDma_ChannelId  channelId 
)

Request a DMA channel transaction.

Parameters
dmapointer to DMA module
channelIdDMA channel number
Returns
None

A coding example can be found in IfxDma_Dma_startChannelTransaction

Definition at line 1558 of file IfxDma.h.

Referenced by IfxDma_Dma_startChannelTransaction().