diff options
Diffstat (limited to 'os/hal')
-rw-r--r-- | os/hal/ports/SAMA/LLD/DMAv1/sama_xdmac.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/os/hal/ports/SAMA/LLD/DMAv1/sama_xdmac.h b/os/hal/ports/SAMA/LLD/DMAv1/sama_xdmac.h index 84f75f855..1f0921903 100644 --- a/os/hal/ports/SAMA/LLD/DMAv1/sama_xdmac.h +++ b/os/hal/ports/SAMA/LLD/DMAv1/sama_xdmac.h @@ -144,6 +144,20 @@ typedef struct { (dmachp)->xdmac->XDMAC_CHID[(dmachp)->chid].XDMAC_CIS
/**
+ * @brief Returns the number of transfers to be performed.
+ * @note This function can be invoked in both ISR or thread context.
+ * @pre The stream must have been allocated using @p dmaChannelAllocate().
+ * @post After use the stream can be released using @p dmaChannelRelease().
+ *
+ * @param[in] dmachp pointer to a @p sama_dma_channel_t structure
+ * @return The number of transfers to be performed.
+ *
+ * @special
+ */
+#define dmaChannelGetTransactionSize(dmachp) \
+ ((size_t)((dmachp)->xdmac->XDMAC_CHID[(dmachp)->chid].XDMAC_CUBC))
+
+/**
* @brief Associates a source to a DMA channel.
* @note This function can be invoked in both ISR or thread context.
* @pre The channel must have been allocated using @p dmaChannelAllocate().
|