Lines Matching refs:hdma

203 static void DMA_SetConfig(DMA_HandleTypeDef const *const hdma,
207 static void DMA_Init(DMA_HandleTypeDef const *const hdma);
239 HAL_StatusTypeDef HAL_DMA_Init(DMA_HandleTypeDef *const hdma) in HAL_DMA_Init() argument
245 if (hdma == NULL) in HAL_DMA_Init()
251 assert_param(IS_DMA_ALL_INSTANCE(hdma->Instance)); in HAL_DMA_Init()
252 assert_param(IS_DMA_DIRECTION(hdma->Init.Direction)); in HAL_DMA_Init()
253 if (hdma->Init.Direction != DMA_MEMORY_TO_MEMORY) in HAL_DMA_Init()
255 assert_param(IS_DMA_REQUEST(hdma->Init.Request)); in HAL_DMA_Init()
257 assert_param(IS_DMA_BLOCK_HW_REQUEST(hdma->Init.BlkHWRequest)); in HAL_DMA_Init()
258 assert_param(IS_DMA_SOURCE_INC(hdma->Init.SrcInc)); in HAL_DMA_Init()
259 assert_param(IS_DMA_DESTINATION_INC(hdma->Init.DestInc)); in HAL_DMA_Init()
260 assert_param(IS_DMA_SOURCE_DATA_WIDTH(hdma->Init.SrcDataWidth)); in HAL_DMA_Init()
261 assert_param(IS_DMA_DESTINATION_DATA_WIDTH(hdma->Init.DestDataWidth)); in HAL_DMA_Init()
262 assert_param(IS_DMA_PRIORITY(hdma->Init.Priority)); in HAL_DMA_Init()
263 assert_param(IS_DMA_TCEM_EVENT_MODE(hdma->Init.TransferEventMode)); in HAL_DMA_Init()
264 assert_param(IS_DMA_MODE(hdma->Init.Mode)); in HAL_DMA_Init()
266 if (IS_GPDMA_INSTANCE(hdma->Instance) != 0U) in HAL_DMA_Init()
268 assert_param(IS_DMA_BURST_LENGTH(hdma->Init.SrcBurstLength)); in HAL_DMA_Init()
269 assert_param(IS_DMA_BURST_LENGTH(hdma->Init.DestBurstLength)); in HAL_DMA_Init()
270 assert_param(IS_DMA_TRANSFER_ALLOCATED_PORT(hdma->Init.TransferAllocatedPort)); in HAL_DMA_Init()
274 __HAL_UNLOCK(hdma); in HAL_DMA_Init()
277 hdma->State = HAL_DMA_STATE_BUSY; in HAL_DMA_Init()
280 __HAL_DMA_DISABLE(hdma); in HAL_DMA_Init()
283 while ((hdma->Instance->CCR & DMA_CCR_EN) != 0U) in HAL_DMA_Init()
289 hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; in HAL_DMA_Init()
292 hdma->State = HAL_DMA_STATE_ERROR; in HAL_DMA_Init()
299 DMA_Init(hdma); in HAL_DMA_Init()
302 hdma->Mode = hdma->Init.Mode; in HAL_DMA_Init()
305 hdma->ErrorCode = HAL_DMA_ERROR_NONE; in HAL_DMA_Init()
308 hdma->State = HAL_DMA_STATE_READY; in HAL_DMA_Init()
319 HAL_StatusTypeDef HAL_DMA_DeInit(DMA_HandleTypeDef *const hdma) in HAL_DMA_DeInit() argument
327 if (hdma == NULL) in HAL_DMA_DeInit()
333 assert_param(IS_DMA_ALL_INSTANCE(hdma->Instance)); in HAL_DMA_DeInit()
336 p_dma_instance = GET_DMA_INSTANCE(hdma); in HAL_DMA_DeInit()
339 __HAL_DMA_DISABLE(hdma); in HAL_DMA_DeInit()
342 while ((hdma->Instance->CCR & DMA_CCR_EN) != 0U) in HAL_DMA_DeInit()
348 hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; in HAL_DMA_DeInit()
351 hdma->State = HAL_DMA_STATE_ERROR; in HAL_DMA_DeInit()
358 hdma->Instance->CLBAR = 0U; in HAL_DMA_DeInit()
359 hdma->Instance->CCR = 0U; in HAL_DMA_DeInit()
360 hdma->Instance->CTR1 = 0U; in HAL_DMA_DeInit()
361 hdma->Instance->CTR2 = 0U; in HAL_DMA_DeInit()
362 hdma->Instance->CBR1 = 0U; in HAL_DMA_DeInit()
363 hdma->Instance->CSAR = 0U; in HAL_DMA_DeInit()
364 hdma->Instance->CDAR = 0U; in HAL_DMA_DeInit()
365 hdma->Instance->CLLR = 0U; in HAL_DMA_DeInit()
368 if (IS_DMA_2D_ADDRESSING_INSTANCE(hdma->Instance) != 0U) in HAL_DMA_DeInit()
370 hdma->Instance->CTR3 = 0U; in HAL_DMA_DeInit()
371 hdma->Instance->CBR2 = 0U; in HAL_DMA_DeInit()
375 CLEAR_BIT(p_dma_instance->PRIVCFGR, (1UL << (GET_DMA_CHANNEL(hdma) & 0x1FU))); in HAL_DMA_DeInit()
379 CLEAR_BIT(p_dma_instance->SECCFGR, (1UL << (GET_DMA_CHANNEL(hdma) & 0x1FU))); in HAL_DMA_DeInit()
383 …__HAL_DMA_CLEAR_FLAG(hdma, (DMA_FLAG_TC | DMA_FLAG_HT | DMA_FLAG_DTE | DMA_FLAG_ULE | DMA_FLAG_USE… in HAL_DMA_DeInit()
387 hdma->XferCpltCallback = NULL; in HAL_DMA_DeInit()
388 hdma->XferHalfCpltCallback = NULL; in HAL_DMA_DeInit()
389 hdma->XferErrorCallback = NULL; in HAL_DMA_DeInit()
390 hdma->XferAbortCallback = NULL; in HAL_DMA_DeInit()
391 hdma->XferSuspendCallback = NULL; in HAL_DMA_DeInit()
394 hdma->LinkedListQueue = NULL; in HAL_DMA_DeInit()
397 if (hdma->Parent != NULL) in HAL_DMA_DeInit()
399 hdma->Parent = NULL; in HAL_DMA_DeInit()
403 hdma->Mode = DMA_NORMAL; in HAL_DMA_DeInit()
406 hdma->ErrorCode = HAL_DMA_ERROR_NONE; in HAL_DMA_DeInit()
409 hdma->State = HAL_DMA_STATE_RESET; in HAL_DMA_DeInit()
412 __HAL_UNLOCK(hdma); in HAL_DMA_DeInit()
459 HAL_StatusTypeDef HAL_DMA_Start(DMA_HandleTypeDef *const hdma, in HAL_DMA_Start() argument
465 if (hdma == NULL) in HAL_DMA_Start()
474 __HAL_LOCK(hdma); in HAL_DMA_Start()
477 if (hdma->State == HAL_DMA_STATE_READY) in HAL_DMA_Start()
480 hdma->State = HAL_DMA_STATE_BUSY; in HAL_DMA_Start()
483 hdma->ErrorCode = HAL_DMA_ERROR_NONE; in HAL_DMA_Start()
486 DMA_SetConfig(hdma, SrcAddress, DstAddress, SrcDataSize); in HAL_DMA_Start()
489 __HAL_DMA_ENABLE(hdma); in HAL_DMA_Start()
494 hdma->ErrorCode = HAL_DMA_ERROR_BUSY; in HAL_DMA_Start()
497 __HAL_UNLOCK(hdma); in HAL_DMA_Start()
514 HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *const hdma, in HAL_DMA_Start_IT() argument
520 if (hdma == NULL) in HAL_DMA_Start_IT()
529 __HAL_LOCK(hdma); in HAL_DMA_Start_IT()
532 if (hdma->State == HAL_DMA_STATE_READY) in HAL_DMA_Start_IT()
535 hdma->State = HAL_DMA_STATE_BUSY; in HAL_DMA_Start_IT()
538 hdma->ErrorCode = HAL_DMA_ERROR_NONE; in HAL_DMA_Start_IT()
541 DMA_SetConfig(hdma, SrcAddress, DstAddress, SrcDataSize); in HAL_DMA_Start_IT()
544 __HAL_DMA_ENABLE_IT(hdma, (DMA_IT_TC | DMA_IT_DTE | DMA_IT_ULE | DMA_IT_USE | DMA_IT_TO)); in HAL_DMA_Start_IT()
547 if (hdma->XferHalfCpltCallback != NULL) in HAL_DMA_Start_IT()
550 __HAL_DMA_ENABLE_IT(hdma, DMA_IT_HT); in HAL_DMA_Start_IT()
554 if (hdma->XferSuspendCallback != NULL) in HAL_DMA_Start_IT()
557 __HAL_DMA_ENABLE_IT(hdma, DMA_IT_SUSP); in HAL_DMA_Start_IT()
561 __HAL_DMA_ENABLE(hdma); in HAL_DMA_Start_IT()
566 hdma->ErrorCode = HAL_DMA_ERROR_BUSY; in HAL_DMA_Start_IT()
569 __HAL_UNLOCK(hdma); in HAL_DMA_Start_IT()
586 HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *const hdma) in HAL_DMA_Abort() argument
592 if (hdma == NULL) in HAL_DMA_Abort()
598 if (hdma->State != HAL_DMA_STATE_BUSY) in HAL_DMA_Abort()
601 hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; in HAL_DMA_Abort()
604 __HAL_UNLOCK(hdma); in HAL_DMA_Abort()
611 hdma->Instance->CCR |= DMA_CCR_SUSP; in HAL_DMA_Abort()
614 hdma->State = HAL_DMA_STATE_SUSPEND; in HAL_DMA_Abort()
617 while ((hdma->Instance->CSR & DMA_CSR_SUSPF) == 0U) in HAL_DMA_Abort()
623 hdma->ErrorCode |= HAL_DMA_ERROR_TIMEOUT; in HAL_DMA_Abort()
626 hdma->State = HAL_DMA_STATE_ERROR; in HAL_DMA_Abort()
629 if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in HAL_DMA_Abort()
632 hdma->LinkedListQueue->State = HAL_DMA_QUEUE_STATE_READY; in HAL_DMA_Abort()
636 __HAL_UNLOCK(hdma); in HAL_DMA_Abort()
643 hdma->Instance->CCR |= DMA_CCR_RESET; in HAL_DMA_Abort()
646 hdma->State = HAL_DMA_STATE_ABORT; in HAL_DMA_Abort()
649 …__HAL_DMA_CLEAR_FLAG(hdma, (DMA_FLAG_TC | DMA_FLAG_HT | DMA_FLAG_DTE | DMA_FLAG_ULE | DMA_FLAG_USE… in HAL_DMA_Abort()
653 hdma->State = HAL_DMA_STATE_READY; in HAL_DMA_Abort()
656 if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in HAL_DMA_Abort()
659 hdma->LinkedListQueue->State = HAL_DMA_QUEUE_STATE_READY; in HAL_DMA_Abort()
662 hdma->Instance->CBR1 = 0U; in HAL_DMA_Abort()
666 __HAL_UNLOCK(hdma); in HAL_DMA_Abort()
678 HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *const hdma) in HAL_DMA_Abort_IT() argument
681 if (hdma == NULL) in HAL_DMA_Abort_IT()
687 if (hdma->State != HAL_DMA_STATE_BUSY) in HAL_DMA_Abort_IT()
690 hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; in HAL_DMA_Abort_IT()
697 hdma->State = HAL_DMA_STATE_ABORT; in HAL_DMA_Abort_IT()
700 hdma->Instance->CCR |= (DMA_CCR_SUSP | DMA_CCR_SUSPIE); in HAL_DMA_Abort_IT()
714 HAL_StatusTypeDef HAL_DMA_PollForTransfer(DMA_HandleTypeDef *const hdma, in HAL_DMA_PollForTransfer() argument
724 if (hdma == NULL) in HAL_DMA_PollForTransfer()
733 if (hdma->State != HAL_DMA_STATE_BUSY) in HAL_DMA_PollForTransfer()
736 hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; in HAL_DMA_PollForTransfer()
739 __HAL_UNLOCK(hdma); in HAL_DMA_PollForTransfer()
745 if ((hdma->Mode & DMA_LINKEDLIST_CIRCULAR) == DMA_LINKEDLIST_CIRCULAR) in HAL_DMA_PollForTransfer()
748 hdma->ErrorCode = HAL_DMA_ERROR_NOT_SUPPORTED; in HAL_DMA_PollForTransfer()
757 tmp_csr = hdma->Instance->CSR; in HAL_DMA_PollForTransfer()
767 hdma->ErrorCode |= HAL_DMA_ERROR_TIMEOUT; in HAL_DMA_PollForTransfer()
776 (void)HAL_DMA_Abort(hdma); in HAL_DMA_PollForTransfer()
783 tmp_csr = hdma->Instance->CSR; in HAL_DMA_PollForTransfer()
790 hdma->ErrorCode |= HAL_DMA_ERROR_TO; in HAL_DMA_PollForTransfer()
793 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_TO); in HAL_DMA_PollForTransfer()
803 hdma->ErrorCode |= HAL_DMA_ERROR_DTE; in HAL_DMA_PollForTransfer()
806 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_DTE); in HAL_DMA_PollForTransfer()
813 hdma->ErrorCode |= HAL_DMA_ERROR_ULE; in HAL_DMA_PollForTransfer()
816 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_ULE); in HAL_DMA_PollForTransfer()
823 hdma->ErrorCode |= HAL_DMA_ERROR_USE; in HAL_DMA_PollForTransfer()
826 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_USE); in HAL_DMA_PollForTransfer()
830 hdma->Instance->CCR |= DMA_CCR_RESET; in HAL_DMA_PollForTransfer()
833 hdma->State = HAL_DMA_STATE_READY; in HAL_DMA_PollForTransfer()
836 if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in HAL_DMA_PollForTransfer()
839 hdma->LinkedListQueue->State = HAL_DMA_QUEUE_STATE_READY; in HAL_DMA_PollForTransfer()
843 __HAL_UNLOCK(hdma); in HAL_DMA_PollForTransfer()
852 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_HT); in HAL_DMA_PollForTransfer()
857 __HAL_DMA_CLEAR_FLAG(hdma, (DMA_FLAG_TC | DMA_FLAG_HT)); in HAL_DMA_PollForTransfer()
860 hdma->State = HAL_DMA_STATE_READY; in HAL_DMA_PollForTransfer()
863 if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in HAL_DMA_PollForTransfer()
866 hdma->LinkedListQueue->State = HAL_DMA_QUEUE_STATE_READY; in HAL_DMA_PollForTransfer()
870 __HAL_UNLOCK(hdma); in HAL_DMA_PollForTransfer()
886 void HAL_DMA_IRQHandler(DMA_HandleTypeDef *const hdma) in HAL_DMA_IRQHandler() argument
888 const DMA_TypeDef *p_dma_instance = GET_DMA_INSTANCE(hdma); in HAL_DMA_IRQHandler()
889 uint32_t global_it_flag = 1UL << (GET_DMA_CHANNEL(hdma) & 0x1FU); in HAL_DMA_IRQHandler()
906 if ((__HAL_DMA_GET_FLAG(hdma, DMA_FLAG_DTE) != 0U)) in HAL_DMA_IRQHandler()
909 if (__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_DTE) != 0U) in HAL_DMA_IRQHandler()
912 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_DTE); in HAL_DMA_IRQHandler()
915 hdma->ErrorCode |= HAL_DMA_ERROR_DTE; in HAL_DMA_IRQHandler()
920 if ((__HAL_DMA_GET_FLAG(hdma, DMA_FLAG_ULE) != 0U)) in HAL_DMA_IRQHandler()
923 if (__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_ULE) != 0U) in HAL_DMA_IRQHandler()
926 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_ULE); in HAL_DMA_IRQHandler()
929 hdma->ErrorCode |= HAL_DMA_ERROR_ULE; in HAL_DMA_IRQHandler()
934 if ((__HAL_DMA_GET_FLAG(hdma, DMA_FLAG_USE) != 0U)) in HAL_DMA_IRQHandler()
937 if (__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_USE) != 0U) in HAL_DMA_IRQHandler()
940 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_USE); in HAL_DMA_IRQHandler()
943 hdma->ErrorCode |= HAL_DMA_ERROR_USE; in HAL_DMA_IRQHandler()
948 if ((__HAL_DMA_GET_FLAG(hdma, DMA_FLAG_TO) != 0U)) in HAL_DMA_IRQHandler()
951 if (__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TO) != 0U) in HAL_DMA_IRQHandler()
954 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_TO); in HAL_DMA_IRQHandler()
957 hdma->ErrorCode |= HAL_DMA_ERROR_TO; in HAL_DMA_IRQHandler()
962 if ((__HAL_DMA_GET_FLAG(hdma, DMA_FLAG_HT) != 0U)) in HAL_DMA_IRQHandler()
965 if (__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_HT) != 0U) in HAL_DMA_IRQHandler()
968 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_HT); in HAL_DMA_IRQHandler()
971 if (hdma->XferHalfCpltCallback != NULL) in HAL_DMA_IRQHandler()
974 hdma->XferHalfCpltCallback(hdma); in HAL_DMA_IRQHandler()
980 if ((__HAL_DMA_GET_FLAG(hdma, DMA_FLAG_SUSP) != 0U)) in HAL_DMA_IRQHandler()
983 if (__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_SUSP) != 0U) in HAL_DMA_IRQHandler()
986 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_SUSP); in HAL_DMA_IRQHandler()
989 if (hdma->State == HAL_DMA_STATE_ABORT) in HAL_DMA_IRQHandler()
992 __HAL_DMA_DISABLE_IT(hdma, DMA_IT_SUSP); in HAL_DMA_IRQHandler()
995 hdma->Instance->CCR |= DMA_CCR_RESET; in HAL_DMA_IRQHandler()
998 hdma->State = HAL_DMA_STATE_READY; in HAL_DMA_IRQHandler()
1001 if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in HAL_DMA_IRQHandler()
1004 hdma->LinkedListQueue->State = HAL_DMA_QUEUE_STATE_READY; in HAL_DMA_IRQHandler()
1007 hdma->Instance->CBR1 = 0U; in HAL_DMA_IRQHandler()
1011 __HAL_UNLOCK(hdma); in HAL_DMA_IRQHandler()
1014 if (hdma->XferAbortCallback != NULL) in HAL_DMA_IRQHandler()
1017 hdma->XferAbortCallback(hdma); in HAL_DMA_IRQHandler()
1025 hdma->State = HAL_DMA_STATE_SUSPEND; in HAL_DMA_IRQHandler()
1028 if (hdma->XferSuspendCallback != NULL) in HAL_DMA_IRQHandler()
1031 hdma->XferSuspendCallback(hdma); in HAL_DMA_IRQHandler()
1038 if ((__HAL_DMA_GET_FLAG(hdma, DMA_FLAG_TC) != 0U)) in HAL_DMA_IRQHandler()
1041 if (__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TC) != 0U) in HAL_DMA_IRQHandler()
1044 if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in HAL_DMA_IRQHandler()
1047 if (hdma->Instance->CLLR == 0U) in HAL_DMA_IRQHandler()
1049 if (hdma->Instance->CBR1 == 0U) in HAL_DMA_IRQHandler()
1052 hdma->State = HAL_DMA_STATE_READY; in HAL_DMA_IRQHandler()
1055 hdma->LinkedListQueue->State = HAL_DMA_QUEUE_STATE_READY; in HAL_DMA_IRQHandler()
1062 if (hdma->Instance->CBR1 == 0U) in HAL_DMA_IRQHandler()
1065 hdma->State = HAL_DMA_STATE_READY; in HAL_DMA_IRQHandler()
1070 __HAL_DMA_CLEAR_FLAG(hdma, (DMA_FLAG_TC | DMA_FLAG_HT)); in HAL_DMA_IRQHandler()
1073 __HAL_UNLOCK(hdma); in HAL_DMA_IRQHandler()
1076 if (hdma->XferCpltCallback != NULL) in HAL_DMA_IRQHandler()
1079 hdma->XferCpltCallback(hdma); in HAL_DMA_IRQHandler()
1085 if (hdma->ErrorCode != HAL_DMA_ERROR_NONE) in HAL_DMA_IRQHandler()
1088 hdma->Instance->CCR |= DMA_CCR_RESET; in HAL_DMA_IRQHandler()
1091 hdma->State = HAL_DMA_STATE_READY; in HAL_DMA_IRQHandler()
1094 if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in HAL_DMA_IRQHandler()
1097 hdma->LinkedListQueue->State = HAL_DMA_QUEUE_STATE_READY; in HAL_DMA_IRQHandler()
1101 __HAL_UNLOCK(hdma); in HAL_DMA_IRQHandler()
1104 if (hdma->XferErrorCallback != NULL) in HAL_DMA_IRQHandler()
1107 hdma->XferErrorCallback(hdma); in HAL_DMA_IRQHandler()
1122 HAL_StatusTypeDef HAL_DMA_RegisterCallback(DMA_HandleTypeDef *const hdma, in HAL_DMA_RegisterCallback() argument
1129 if (hdma == NULL) in HAL_DMA_RegisterCallback()
1135 if (hdma->State == HAL_DMA_STATE_READY) in HAL_DMA_RegisterCallback()
1143 hdma->XferCpltCallback = pCallback; in HAL_DMA_RegisterCallback()
1150 hdma->XferHalfCpltCallback = pCallback; in HAL_DMA_RegisterCallback()
1157 hdma->XferErrorCallback = pCallback; in HAL_DMA_RegisterCallback()
1164 hdma->XferAbortCallback = pCallback; in HAL_DMA_RegisterCallback()
1171 hdma->XferSuspendCallback = pCallback; in HAL_DMA_RegisterCallback()
1201 HAL_StatusTypeDef HAL_DMA_UnRegisterCallback(DMA_HandleTypeDef *const hdma, in HAL_DMA_UnRegisterCallback() argument
1207 if (hdma == NULL) in HAL_DMA_UnRegisterCallback()
1213 if (hdma->State == HAL_DMA_STATE_READY) in HAL_DMA_UnRegisterCallback()
1221 hdma->XferCpltCallback = NULL; in HAL_DMA_UnRegisterCallback()
1228 hdma->XferHalfCpltCallback = NULL; in HAL_DMA_UnRegisterCallback()
1235 hdma->XferErrorCallback = NULL; in HAL_DMA_UnRegisterCallback()
1242 hdma->XferAbortCallback = NULL; in HAL_DMA_UnRegisterCallback()
1249 hdma->XferSuspendCallback = NULL; in HAL_DMA_UnRegisterCallback()
1256 hdma->XferCpltCallback = NULL; in HAL_DMA_UnRegisterCallback()
1257 hdma->XferHalfCpltCallback = NULL; in HAL_DMA_UnRegisterCallback()
1258 hdma->XferErrorCallback = NULL; in HAL_DMA_UnRegisterCallback()
1259 hdma->XferAbortCallback = NULL; in HAL_DMA_UnRegisterCallback()
1260 hdma->XferSuspendCallback = NULL; in HAL_DMA_UnRegisterCallback()
1309 HAL_DMA_StateTypeDef HAL_DMA_GetState(DMA_HandleTypeDef const *const hdma) in HAL_DMA_GetState() argument
1312 return hdma->State; in HAL_DMA_GetState()
1321 uint32_t HAL_DMA_GetError(DMA_HandleTypeDef const *const hdma) in HAL_DMA_GetError() argument
1324 return hdma->ErrorCode; in HAL_DMA_GetError()
1365 HAL_StatusTypeDef HAL_DMA_ConfigChannelAttributes(DMA_HandleTypeDef *const hdma, uint32_t ChannelAt… in HAL_DMA_ConfigChannelAttributes() argument
1371 if (hdma == NULL) in HAL_DMA_ConfigChannelAttributes()
1380 p_dma_instance = GET_DMA_INSTANCE(hdma); in HAL_DMA_ConfigChannelAttributes()
1383 channel_idx = 1UL << (GET_DMA_CHANNEL(hdma) & 0x1FU); in HAL_DMA_ConfigChannelAttributes()
1420 hdma->Instance->CTR1 |= DMA_CTR1_SSEC; in HAL_DMA_ConfigChannelAttributes()
1424 hdma->Instance->CTR1 &= (~DMA_CTR1_SSEC); in HAL_DMA_ConfigChannelAttributes()
1434 hdma->Instance->CTR1 |= DMA_CTR1_DSEC; in HAL_DMA_ConfigChannelAttributes()
1438 hdma->Instance->CTR1 &= (~DMA_CTR1_DSEC); in HAL_DMA_ConfigChannelAttributes()
1453 HAL_StatusTypeDef HAL_DMA_GetConfigChannelAttributes(DMA_HandleTypeDef const *const hdma, in HAL_DMA_GetConfigChannelAttributes() argument
1461 if ((hdma == NULL) || (pChannelAttributes == NULL)) in HAL_DMA_GetConfigChannelAttributes()
1467 p_dma_instance = GET_DMA_INSTANCE(hdma); in HAL_DMA_GetConfigChannelAttributes()
1470 channel_idx = 1UL << (GET_DMA_CHANNEL(hdma) & 0x1FU); in HAL_DMA_GetConfigChannelAttributes()
1479 …attributes |= ((hdma->Instance->CTR1 & DMA_CTR1_SSEC) == 0U) ? DMA_CHANNEL_SRC_NSEC : DMA_CHANNEL_… in HAL_DMA_GetConfigChannelAttributes()
1482 …attributes |= ((hdma->Instance->CTR1 & DMA_CTR1_DSEC) == 0U) ? DMA_CHANNEL_DEST_NSEC : DMA_CHANNEL… in HAL_DMA_GetConfigChannelAttributes()
1498 HAL_StatusTypeDef HAL_DMA_LockChannelAttributes(DMA_HandleTypeDef const *const hdma) in HAL_DMA_LockChannelAttributes() argument
1504 if (hdma == NULL) in HAL_DMA_LockChannelAttributes()
1510 p_dma_instance = GET_DMA_INSTANCE(hdma); in HAL_DMA_LockChannelAttributes()
1513 channel_idx = 1UL << (GET_DMA_CHANNEL(hdma) & 0x1FU); in HAL_DMA_LockChannelAttributes()
1530 HAL_StatusTypeDef HAL_DMA_GetLockChannelAttributes(DMA_HandleTypeDef const *const hdma, uint32_t *c… in HAL_DMA_GetLockChannelAttributes() argument
1536 if ((hdma == NULL) || (pLockState == NULL)) in HAL_DMA_GetLockChannelAttributes()
1542 p_dma_instance = GET_DMA_INSTANCE(hdma); in HAL_DMA_GetLockChannelAttributes()
1545 channel_idx = 1UL << (GET_DMA_CHANNEL(hdma) & 0x1FU); in HAL_DMA_GetLockChannelAttributes()
1577 static void DMA_SetConfig(DMA_HandleTypeDef const *const hdma, in DMA_SetConfig() argument
1583 MODIFY_REG(hdma->Instance->CBR1, DMA_CBR1_BNDT, (SrcDataSize & DMA_CBR1_BNDT)); in DMA_SetConfig()
1586 …__HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_TC | DMA_FLAG_HT | DMA_FLAG_DTE | DMA_FLAG_ULE | DMA_FLAG_USE … in DMA_SetConfig()
1590 hdma->Instance->CSAR = SrcAddress; in DMA_SetConfig()
1593 hdma->Instance->CDAR = DstAddress; in DMA_SetConfig()
1602 static void DMA_Init(DMA_HandleTypeDef const *const hdma) in DMA_Init() argument
1607 tmpreg = hdma->Init.Priority; in DMA_Init()
1610 MODIFY_REG(hdma->Instance->CCR, DMA_CCR_PRIO | DMA_CCR_LAP | DMA_CCR_LSM, tmpreg); in DMA_Init()
1613 …tmpreg = hdma->Init.DestInc | hdma->Init.DestDataWidth | hdma->Init.SrcInc | hdma->Init.SrcDataWid… in DMA_Init()
1616 if (IS_GPDMA_INSTANCE(hdma->Instance) != 0U) in DMA_Init()
1618 tmpreg |= (hdma->Init.TransferAllocatedPort | in DMA_Init()
1619 (((hdma->Init.DestBurstLength - 1U) << DMA_CTR1_DBL_1_Pos) & DMA_CTR1_DBL_1) | in DMA_Init()
1620 (((hdma->Init.SrcBurstLength - 1U) << DMA_CTR1_SBL_1_Pos) & DMA_CTR1_SBL_1)); in DMA_Init()
1624 MODIFY_REG(hdma->Instance->CTR1, ~(DMA_CTR1_SSEC | DMA_CTR1_DSEC), tmpreg); in DMA_Init()
1627 …tmpreg = hdma->Init.BlkHWRequest | (hdma->Init.Request & DMA_CTR2_REQSEL) | hdma->Init.TransferEve… in DMA_Init()
1630 if ((hdma->Init.Direction) == DMA_MEMORY_TO_PERIPH) in DMA_Init()
1632 if (IS_GPDMA_INSTANCE(hdma->Instance) != 0U) in DMA_Init()
1638 else if ((hdma->Init.Direction) == DMA_MEMORY_TO_MEMORY) in DMA_Init()
1648 …MODIFY_REG(hdma->Instance->CTR2, (DMA_CTR2_TCEM | DMA_CTR2_TRIGPOL | DMA_CTR2_TRIGSEL | DMA_CTR2_… in DMA_Init()
1653 WRITE_REG(hdma->Instance->CBR1, 0U); in DMA_Init()
1656 if (IS_DMA_2D_ADDRESSING_INSTANCE(hdma->Instance) != 0U) in DMA_Init()
1659 WRITE_REG(hdma->Instance->CTR3, 0U); in DMA_Init()
1662 WRITE_REG(hdma->Instance->CBR2, 0U); in DMA_Init()
1666 WRITE_REG(hdma->Instance->CLLR, 0U); in DMA_Init()