Lines Matching refs:hdma

338 static void DMA_SetConfig(DMA_HandleTypeDef const *const hdma,
342 static void DMA_Init(DMA_HandleTypeDef const *const hdma);
374 HAL_StatusTypeDef HAL_DMA_Init(DMA_HandleTypeDef *const hdma) in HAL_DMA_Init() argument
380 if (hdma == NULL) in HAL_DMA_Init()
386 assert_param(IS_DMA_ALL_INSTANCE(hdma->Instance)); in HAL_DMA_Init()
387 assert_param(IS_DMA_DIRECTION(hdma->Init.Direction)); in HAL_DMA_Init()
388 if (hdma->Init.Direction != DMA_MEMORY_TO_MEMORY) in HAL_DMA_Init()
390 assert_param(IS_DMA_REQUEST(hdma->Init.Request)); in HAL_DMA_Init()
392 assert_param(IS_DMA_BLOCK_HW_REQUEST(hdma->Init.BlkHWRequest)); in HAL_DMA_Init()
393 assert_param(IS_DMA_SOURCE_INC(hdma->Init.SrcInc)); in HAL_DMA_Init()
394 assert_param(IS_DMA_DESTINATION_INC(hdma->Init.DestInc)); in HAL_DMA_Init()
395 assert_param(IS_DMA_SOURCE_DATA_WIDTH(hdma->Init.SrcDataWidth)); in HAL_DMA_Init()
396 assert_param(IS_DMA_DESTINATION_DATA_WIDTH(hdma->Init.DestDataWidth)); in HAL_DMA_Init()
397 assert_param(IS_DMA_PRIORITY(hdma->Init.Priority)); in HAL_DMA_Init()
398 assert_param(IS_DMA_TCEM_EVENT_MODE(hdma->Init.TransferEventMode)); in HAL_DMA_Init()
399 assert_param(IS_DMA_MODE(hdma->Init.Mode)); in HAL_DMA_Init()
400 if (hdma->Init.Mode == DMA_PFCTRL) in HAL_DMA_Init()
402 assert_param(IS_DMA_PFREQ_INSTANCE(hdma->Instance)); in HAL_DMA_Init()
405 if ((IS_HPDMA_INSTANCE(hdma->Instance) != 0U) || (IS_GPDMA_INSTANCE(hdma->Instance) != 0U)) in HAL_DMA_Init()
407 assert_param(IS_DMA_BURST_LENGTH(hdma->Init.SrcBurstLength)); in HAL_DMA_Init()
408 assert_param(IS_DMA_BURST_LENGTH(hdma->Init.DestBurstLength)); in HAL_DMA_Init()
409 assert_param(IS_DMA_TRANSFER_ALLOCATED_PORT(hdma->Init.TransferAllocatedPort)); in HAL_DMA_Init()
413 __HAL_UNLOCK(hdma); in HAL_DMA_Init()
416 hdma->State = HAL_DMA_STATE_BUSY; in HAL_DMA_Init()
419 __HAL_DMA_DISABLE(hdma); in HAL_DMA_Init()
422 while ((hdma->Instance->CCR & DMA_CCR_EN) != 0U) in HAL_DMA_Init()
428 hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; in HAL_DMA_Init()
431 hdma->State = HAL_DMA_STATE_ERROR; in HAL_DMA_Init()
438 DMA_Init(hdma); in HAL_DMA_Init()
441 hdma->Mode = hdma->Init.Mode; in HAL_DMA_Init()
444 hdma->ErrorCode = HAL_DMA_ERROR_NONE; in HAL_DMA_Init()
447 hdma->State = HAL_DMA_STATE_READY; in HAL_DMA_Init()
458 HAL_StatusTypeDef HAL_DMA_DeInit(DMA_HandleTypeDef *const hdma) in HAL_DMA_DeInit() argument
463 if (hdma == NULL) in HAL_DMA_DeInit()
469 assert_param(IS_DMA_ALL_INSTANCE(hdma->Instance)); in HAL_DMA_DeInit()
471 __HAL_DMA_DISABLE(hdma); in HAL_DMA_DeInit()
474 while ((hdma->Instance->CCR & DMA_CCR_EN) != 0U) in HAL_DMA_DeInit()
480 hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; in HAL_DMA_DeInit()
483 hdma->State = HAL_DMA_STATE_ERROR; in HAL_DMA_DeInit()
490 hdma->Instance->CLBAR = 0U; in HAL_DMA_DeInit()
491 hdma->Instance->CCR = 0U; in HAL_DMA_DeInit()
492 hdma->Instance->CTR1 = 0U; in HAL_DMA_DeInit()
493 hdma->Instance->CTR2 = 0U; in HAL_DMA_DeInit()
494 hdma->Instance->CBR1 = 0U; in HAL_DMA_DeInit()
495 hdma->Instance->CSAR = 0U; in HAL_DMA_DeInit()
496 hdma->Instance->CDAR = 0U; in HAL_DMA_DeInit()
497 hdma->Instance->CLLR = 0U; in HAL_DMA_DeInit()
500 if (IS_DMA_2D_ADDRESSING_INSTANCE(hdma->Instance) != 0U) in HAL_DMA_DeInit()
502 hdma->Instance->CTR3 = 0U; in HAL_DMA_DeInit()
503 hdma->Instance->CBR2 = 0U; in HAL_DMA_DeInit()
507 …__HAL_DMA_CLEAR_FLAG(hdma, (DMA_FLAG_TC | DMA_FLAG_HT | DMA_FLAG_DTE | DMA_FLAG_ULE | DMA_FLAG_USE… in HAL_DMA_DeInit()
511 hdma->XferCpltCallback = NULL; in HAL_DMA_DeInit()
512 hdma->XferHalfCpltCallback = NULL; in HAL_DMA_DeInit()
513 hdma->XferErrorCallback = NULL; in HAL_DMA_DeInit()
514 hdma->XferAbortCallback = NULL; in HAL_DMA_DeInit()
515 hdma->XferSuspendCallback = NULL; in HAL_DMA_DeInit()
518 hdma->LinkedListQueue = NULL; in HAL_DMA_DeInit()
521 if (hdma->Parent != NULL) in HAL_DMA_DeInit()
523 hdma->Parent = NULL; in HAL_DMA_DeInit()
527 hdma->Mode = DMA_NORMAL; in HAL_DMA_DeInit()
530 hdma->ErrorCode = HAL_DMA_ERROR_NONE; in HAL_DMA_DeInit()
533 hdma->State = HAL_DMA_STATE_RESET; in HAL_DMA_DeInit()
536 __HAL_UNLOCK(hdma); in HAL_DMA_DeInit()
583 HAL_StatusTypeDef HAL_DMA_Start(DMA_HandleTypeDef *const hdma, in HAL_DMA_Start() argument
589 if (hdma == NULL) in HAL_DMA_Start()
598 __HAL_LOCK(hdma); in HAL_DMA_Start()
601 if (hdma->State == HAL_DMA_STATE_READY) in HAL_DMA_Start()
604 hdma->State = HAL_DMA_STATE_BUSY; in HAL_DMA_Start()
607 hdma->ErrorCode = HAL_DMA_ERROR_NONE; in HAL_DMA_Start()
610 DMA_SetConfig(hdma, SrcAddress, DstAddress, SrcDataSize); in HAL_DMA_Start()
613 __HAL_DMA_ENABLE(hdma); in HAL_DMA_Start()
618 hdma->ErrorCode = HAL_DMA_ERROR_BUSY; in HAL_DMA_Start()
621 __HAL_UNLOCK(hdma); in HAL_DMA_Start()
638 HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *const hdma, in HAL_DMA_Start_IT() argument
644 if (hdma == NULL) in HAL_DMA_Start_IT()
653 __HAL_LOCK(hdma); in HAL_DMA_Start_IT()
656 if (hdma->State == HAL_DMA_STATE_READY) in HAL_DMA_Start_IT()
659 hdma->State = HAL_DMA_STATE_BUSY; in HAL_DMA_Start_IT()
662 hdma->ErrorCode = HAL_DMA_ERROR_NONE; in HAL_DMA_Start_IT()
665 DMA_SetConfig(hdma, SrcAddress, DstAddress, SrcDataSize); in HAL_DMA_Start_IT()
668 __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()
671 if (hdma->XferHalfCpltCallback != NULL) in HAL_DMA_Start_IT()
674 __HAL_DMA_ENABLE_IT(hdma, DMA_IT_HT); in HAL_DMA_Start_IT()
678 if (hdma->XferSuspendCallback != NULL) in HAL_DMA_Start_IT()
681 __HAL_DMA_ENABLE_IT(hdma, DMA_IT_SUSP); in HAL_DMA_Start_IT()
685 __HAL_DMA_ENABLE(hdma); in HAL_DMA_Start_IT()
690 hdma->ErrorCode = HAL_DMA_ERROR_BUSY; in HAL_DMA_Start_IT()
693 __HAL_UNLOCK(hdma); in HAL_DMA_Start_IT()
710 HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *const hdma) in HAL_DMA_Abort() argument
716 if (hdma == NULL) in HAL_DMA_Abort()
722 if (hdma->State != HAL_DMA_STATE_BUSY) in HAL_DMA_Abort()
725 hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; in HAL_DMA_Abort()
728 __HAL_UNLOCK(hdma); in HAL_DMA_Abort()
735 hdma->Instance->CCR |= DMA_CCR_SUSP; in HAL_DMA_Abort()
738 hdma->State = HAL_DMA_STATE_SUSPEND; in HAL_DMA_Abort()
741 while ((hdma->Instance->CSR & DMA_CSR_SUSPF) == 0U) in HAL_DMA_Abort()
747 hdma->ErrorCode |= HAL_DMA_ERROR_TIMEOUT; in HAL_DMA_Abort()
750 hdma->State = HAL_DMA_STATE_ERROR; in HAL_DMA_Abort()
753 if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in HAL_DMA_Abort()
756 hdma->LinkedListQueue->State = HAL_DMA_QUEUE_STATE_READY; in HAL_DMA_Abort()
760 __HAL_UNLOCK(hdma); in HAL_DMA_Abort()
767 hdma->Instance->CCR |= DMA_CCR_RESET; in HAL_DMA_Abort()
770 hdma->State = HAL_DMA_STATE_ABORT; in HAL_DMA_Abort()
773 …__HAL_DMA_CLEAR_FLAG(hdma, (DMA_FLAG_TC | DMA_FLAG_HT | DMA_FLAG_DTE | DMA_FLAG_ULE | DMA_FLAG_USE… in HAL_DMA_Abort()
777 hdma->State = HAL_DMA_STATE_READY; in HAL_DMA_Abort()
780 if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in HAL_DMA_Abort()
783 hdma->LinkedListQueue->State = HAL_DMA_QUEUE_STATE_READY; in HAL_DMA_Abort()
786 hdma->Instance->CBR1 = 0U; in HAL_DMA_Abort()
790 __HAL_UNLOCK(hdma); in HAL_DMA_Abort()
802 HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *const hdma) in HAL_DMA_Abort_IT() argument
805 if (hdma == NULL) in HAL_DMA_Abort_IT()
811 if (hdma->State != HAL_DMA_STATE_BUSY) in HAL_DMA_Abort_IT()
814 hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; in HAL_DMA_Abort_IT()
821 hdma->State = HAL_DMA_STATE_ABORT; in HAL_DMA_Abort_IT()
824 hdma->Instance->CCR |= (DMA_CCR_SUSP | DMA_CCR_SUSPIE); in HAL_DMA_Abort_IT()
838 HAL_StatusTypeDef HAL_DMA_PollForTransfer(DMA_HandleTypeDef *const hdma, in HAL_DMA_PollForTransfer() argument
848 if (hdma == NULL) in HAL_DMA_PollForTransfer()
857 if (hdma->State != HAL_DMA_STATE_BUSY) in HAL_DMA_PollForTransfer()
860 hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; in HAL_DMA_PollForTransfer()
863 __HAL_UNLOCK(hdma); in HAL_DMA_PollForTransfer()
869 if ((hdma->Mode & DMA_LINKEDLIST_CIRCULAR) == DMA_LINKEDLIST_CIRCULAR) in HAL_DMA_PollForTransfer()
872 hdma->ErrorCode = HAL_DMA_ERROR_NOT_SUPPORTED; in HAL_DMA_PollForTransfer()
881 tmp_csr = hdma->Instance->CSR; in HAL_DMA_PollForTransfer()
891 hdma->ErrorCode |= HAL_DMA_ERROR_TIMEOUT; in HAL_DMA_PollForTransfer()
900 (void)HAL_DMA_Abort(hdma); in HAL_DMA_PollForTransfer()
907 tmp_csr = hdma->Instance->CSR; in HAL_DMA_PollForTransfer()
914 hdma->ErrorCode |= HAL_DMA_ERROR_TO; in HAL_DMA_PollForTransfer()
917 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_TO); in HAL_DMA_PollForTransfer()
927 hdma->ErrorCode |= HAL_DMA_ERROR_DTE; in HAL_DMA_PollForTransfer()
930 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_DTE); in HAL_DMA_PollForTransfer()
937 hdma->ErrorCode |= HAL_DMA_ERROR_ULE; in HAL_DMA_PollForTransfer()
940 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_ULE); in HAL_DMA_PollForTransfer()
947 hdma->ErrorCode |= HAL_DMA_ERROR_USE; in HAL_DMA_PollForTransfer()
950 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_USE); in HAL_DMA_PollForTransfer()
954 hdma->Instance->CCR |= DMA_CCR_RESET; in HAL_DMA_PollForTransfer()
957 hdma->State = HAL_DMA_STATE_READY; in HAL_DMA_PollForTransfer()
960 if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in HAL_DMA_PollForTransfer()
963 hdma->LinkedListQueue->State = HAL_DMA_QUEUE_STATE_READY; in HAL_DMA_PollForTransfer()
967 __HAL_UNLOCK(hdma); in HAL_DMA_PollForTransfer()
976 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_HT); in HAL_DMA_PollForTransfer()
981 __HAL_DMA_CLEAR_FLAG(hdma, (DMA_FLAG_TC | DMA_FLAG_HT)); in HAL_DMA_PollForTransfer()
984 hdma->State = HAL_DMA_STATE_READY; in HAL_DMA_PollForTransfer()
987 if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in HAL_DMA_PollForTransfer()
990 hdma->LinkedListQueue->State = HAL_DMA_QUEUE_STATE_READY; in HAL_DMA_PollForTransfer()
994 __HAL_UNLOCK(hdma); in HAL_DMA_PollForTransfer()
1010 void HAL_DMA_IRQHandler(DMA_HandleTypeDef *const hdma) in HAL_DMA_IRQHandler() argument
1012 const DMA_TypeDef *p_dma_instance = GET_DMA_INSTANCE(hdma); in HAL_DMA_IRQHandler()
1013 uint32_t global_it_flag = 1UL << (GET_DMA_CHANNEL(hdma) & 0x1FU); in HAL_DMA_IRQHandler()
1022 if ((__HAL_DMA_GET_FLAG(hdma, DMA_FLAG_DTE) != 0U)) in HAL_DMA_IRQHandler()
1025 if (__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_DTE) != 0U) in HAL_DMA_IRQHandler()
1028 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_DTE); in HAL_DMA_IRQHandler()
1031 hdma->ErrorCode |= HAL_DMA_ERROR_DTE; in HAL_DMA_IRQHandler()
1036 if ((__HAL_DMA_GET_FLAG(hdma, DMA_FLAG_ULE) != 0U)) in HAL_DMA_IRQHandler()
1039 if (__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_ULE) != 0U) in HAL_DMA_IRQHandler()
1042 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_ULE); in HAL_DMA_IRQHandler()
1045 hdma->ErrorCode |= HAL_DMA_ERROR_ULE; in HAL_DMA_IRQHandler()
1050 if ((__HAL_DMA_GET_FLAG(hdma, DMA_FLAG_USE) != 0U)) in HAL_DMA_IRQHandler()
1053 if (__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_USE) != 0U) in HAL_DMA_IRQHandler()
1056 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_USE); in HAL_DMA_IRQHandler()
1059 hdma->ErrorCode |= HAL_DMA_ERROR_USE; in HAL_DMA_IRQHandler()
1064 if ((__HAL_DMA_GET_FLAG(hdma, DMA_FLAG_TO) != 0U)) in HAL_DMA_IRQHandler()
1067 if (__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TO) != 0U) in HAL_DMA_IRQHandler()
1070 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_TO); in HAL_DMA_IRQHandler()
1073 hdma->ErrorCode |= HAL_DMA_ERROR_TO; in HAL_DMA_IRQHandler()
1078 if ((__HAL_DMA_GET_FLAG(hdma, DMA_FLAG_HT) != 0U)) in HAL_DMA_IRQHandler()
1081 if (__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_HT) != 0U) in HAL_DMA_IRQHandler()
1084 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_HT); in HAL_DMA_IRQHandler()
1087 if (hdma->XferHalfCpltCallback != NULL) in HAL_DMA_IRQHandler()
1090 hdma->XferHalfCpltCallback(hdma); in HAL_DMA_IRQHandler()
1096 if ((__HAL_DMA_GET_FLAG(hdma, DMA_FLAG_SUSP) != 0U)) in HAL_DMA_IRQHandler()
1099 if (__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_SUSP) != 0U) in HAL_DMA_IRQHandler()
1102 __HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_SUSP); in HAL_DMA_IRQHandler()
1105 if (hdma->State == HAL_DMA_STATE_ABORT) in HAL_DMA_IRQHandler()
1108 __HAL_DMA_DISABLE_IT(hdma, DMA_IT_SUSP); in HAL_DMA_IRQHandler()
1111 hdma->Instance->CCR |= DMA_CCR_RESET; in HAL_DMA_IRQHandler()
1114 hdma->State = HAL_DMA_STATE_READY; in HAL_DMA_IRQHandler()
1117 if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in HAL_DMA_IRQHandler()
1120 hdma->LinkedListQueue->State = HAL_DMA_QUEUE_STATE_READY; in HAL_DMA_IRQHandler()
1123 hdma->Instance->CBR1 = 0U; in HAL_DMA_IRQHandler()
1127 __HAL_UNLOCK(hdma); in HAL_DMA_IRQHandler()
1130 if (hdma->XferAbortCallback != NULL) in HAL_DMA_IRQHandler()
1133 hdma->XferAbortCallback(hdma); in HAL_DMA_IRQHandler()
1141 hdma->State = HAL_DMA_STATE_SUSPEND; in HAL_DMA_IRQHandler()
1144 if (hdma->XferSuspendCallback != NULL) in HAL_DMA_IRQHandler()
1147 hdma->XferSuspendCallback(hdma); in HAL_DMA_IRQHandler()
1154 if ((__HAL_DMA_GET_FLAG(hdma, DMA_FLAG_TC) != 0U)) in HAL_DMA_IRQHandler()
1157 if (__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TC) != 0U) in HAL_DMA_IRQHandler()
1160 if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in HAL_DMA_IRQHandler()
1163 if (hdma->Instance->CLLR == 0U) in HAL_DMA_IRQHandler()
1165 if (hdma->Instance->CBR1 == 0U) in HAL_DMA_IRQHandler()
1168 hdma->State = HAL_DMA_STATE_READY; in HAL_DMA_IRQHandler()
1171 hdma->LinkedListQueue->State = HAL_DMA_QUEUE_STATE_READY; in HAL_DMA_IRQHandler()
1178 if (hdma->Instance->CBR1 == 0U) in HAL_DMA_IRQHandler()
1181 hdma->State = HAL_DMA_STATE_READY; in HAL_DMA_IRQHandler()
1186 __HAL_DMA_CLEAR_FLAG(hdma, (DMA_FLAG_TC | DMA_FLAG_HT)); in HAL_DMA_IRQHandler()
1189 __HAL_UNLOCK(hdma); in HAL_DMA_IRQHandler()
1192 if (hdma->XferCpltCallback != NULL) in HAL_DMA_IRQHandler()
1195 hdma->XferCpltCallback(hdma); in HAL_DMA_IRQHandler()
1201 if (hdma->ErrorCode != HAL_DMA_ERROR_NONE) in HAL_DMA_IRQHandler()
1204 hdma->Instance->CCR |= DMA_CCR_RESET; in HAL_DMA_IRQHandler()
1207 hdma->State = HAL_DMA_STATE_READY; in HAL_DMA_IRQHandler()
1210 if ((hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in HAL_DMA_IRQHandler()
1213 hdma->LinkedListQueue->State = HAL_DMA_QUEUE_STATE_READY; in HAL_DMA_IRQHandler()
1217 __HAL_UNLOCK(hdma); in HAL_DMA_IRQHandler()
1220 if (hdma->XferErrorCallback != NULL) in HAL_DMA_IRQHandler()
1223 hdma->XferErrorCallback(hdma); in HAL_DMA_IRQHandler()
1238 HAL_StatusTypeDef HAL_DMA_RegisterCallback(DMA_HandleTypeDef *const hdma, in HAL_DMA_RegisterCallback() argument
1245 if (hdma == NULL) in HAL_DMA_RegisterCallback()
1251 if (hdma->State == HAL_DMA_STATE_READY) in HAL_DMA_RegisterCallback()
1259 hdma->XferCpltCallback = pCallback; in HAL_DMA_RegisterCallback()
1266 hdma->XferHalfCpltCallback = pCallback; in HAL_DMA_RegisterCallback()
1273 hdma->XferErrorCallback = pCallback; in HAL_DMA_RegisterCallback()
1280 hdma->XferAbortCallback = pCallback; in HAL_DMA_RegisterCallback()
1287 hdma->XferSuspendCallback = pCallback; in HAL_DMA_RegisterCallback()
1317 HAL_StatusTypeDef HAL_DMA_UnRegisterCallback(DMA_HandleTypeDef *const hdma, in HAL_DMA_UnRegisterCallback() argument
1323 if (hdma == NULL) in HAL_DMA_UnRegisterCallback()
1329 if (hdma->State == HAL_DMA_STATE_READY) in HAL_DMA_UnRegisterCallback()
1337 hdma->XferCpltCallback = NULL; in HAL_DMA_UnRegisterCallback()
1344 hdma->XferHalfCpltCallback = NULL; in HAL_DMA_UnRegisterCallback()
1351 hdma->XferErrorCallback = NULL; in HAL_DMA_UnRegisterCallback()
1358 hdma->XferAbortCallback = NULL; in HAL_DMA_UnRegisterCallback()
1365 hdma->XferSuspendCallback = NULL; in HAL_DMA_UnRegisterCallback()
1372 hdma->XferCpltCallback = NULL; in HAL_DMA_UnRegisterCallback()
1373 hdma->XferHalfCpltCallback = NULL; in HAL_DMA_UnRegisterCallback()
1374 hdma->XferErrorCallback = NULL; in HAL_DMA_UnRegisterCallback()
1375 hdma->XferAbortCallback = NULL; in HAL_DMA_UnRegisterCallback()
1376 hdma->XferSuspendCallback = NULL; in HAL_DMA_UnRegisterCallback()
1425 HAL_DMA_StateTypeDef HAL_DMA_GetState(DMA_HandleTypeDef const *const hdma) in HAL_DMA_GetState() argument
1428 return hdma->State; in HAL_DMA_GetState()
1437 uint32_t HAL_DMA_GetError(DMA_HandleTypeDef const *const hdma) in HAL_DMA_GetError() argument
1440 return hdma->ErrorCode; in HAL_DMA_GetError()
1480 HAL_StatusTypeDef HAL_DMA_ConfigChannelAttributes(DMA_HandleTypeDef *const hdma, uint32_t ChannelAt… in HAL_DMA_ConfigChannelAttributes() argument
1486 if (hdma == NULL) in HAL_DMA_ConfigChannelAttributes()
1495 p_dma_instance = GET_DMA_INSTANCE(hdma); in HAL_DMA_ConfigChannelAttributes()
1498 channel_idx = 1UL << (GET_DMA_CHANNEL(hdma) & 0x1FU); in HAL_DMA_ConfigChannelAttributes()
1524 HAL_StatusTypeDef HAL_DMA_GetConfigChannelAttributes(DMA_HandleTypeDef const *const hdma, in HAL_DMA_GetConfigChannelAttributes() argument
1532 if ((hdma == NULL) || (pChannelAttributes == NULL)) in HAL_DMA_GetConfigChannelAttributes()
1538 p_dma_instance = GET_DMA_INSTANCE(hdma); in HAL_DMA_GetConfigChannelAttributes()
1541 channel_idx = 1UL << (GET_DMA_CHANNEL(hdma) & 0x1FU); in HAL_DMA_GetConfigChannelAttributes()
1559 HAL_StatusTypeDef HAL_DMA_LockChannelAttributes(DMA_HandleTypeDef const *const hdma) in HAL_DMA_LockChannelAttributes() argument
1565 if (hdma == NULL) in HAL_DMA_LockChannelAttributes()
1571 p_dma_instance = GET_DMA_INSTANCE(hdma); in HAL_DMA_LockChannelAttributes()
1574 channel_idx = 1UL << (GET_DMA_CHANNEL(hdma) & 0x1FU); in HAL_DMA_LockChannelAttributes()
1591 HAL_StatusTypeDef HAL_DMA_GetLockChannelAttributes(DMA_HandleTypeDef const *const hdma, uint32_t *c… in HAL_DMA_GetLockChannelAttributes() argument
1597 if ((hdma == NULL) || (pLockState == NULL)) in HAL_DMA_GetLockChannelAttributes()
1603 p_dma_instance = GET_DMA_INSTANCE(hdma); in HAL_DMA_GetLockChannelAttributes()
1606 channel_idx = 1UL << (GET_DMA_CHANNEL(hdma) & 0x1FU); in HAL_DMA_GetLockChannelAttributes()
1638 static void DMA_SetConfig(DMA_HandleTypeDef const *const hdma, in DMA_SetConfig() argument
1644 MODIFY_REG(hdma->Instance->CBR1, DMA_CBR1_BNDT, (SrcDataSize & DMA_CBR1_BNDT)); in DMA_SetConfig()
1647 …__HAL_DMA_CLEAR_FLAG(hdma, DMA_FLAG_TC | DMA_FLAG_HT | DMA_FLAG_DTE | DMA_FLAG_ULE | DMA_FLAG_USE … in DMA_SetConfig()
1651 hdma->Instance->CSAR = SrcAddress; in DMA_SetConfig()
1654 hdma->Instance->CDAR = DstAddress; in DMA_SetConfig()
1663 static void DMA_Init(DMA_HandleTypeDef const *const hdma) in DMA_Init() argument
1668 tmpreg = hdma->Init.Priority; in DMA_Init()
1671 MODIFY_REG(hdma->Instance->CCR, DMA_CCR_PRIO | DMA_CCR_LAP | DMA_CCR_LSM, tmpreg); in DMA_Init()
1674 …tmpreg = hdma->Init.DestInc | hdma->Init.DestDataWidth | hdma->Init.SrcInc | hdma->Init.SrcDataWid… in DMA_Init()
1677 if ((IS_HPDMA_INSTANCE(hdma->Instance) != 0U) || (IS_GPDMA_INSTANCE(hdma->Instance) != 0U)) in DMA_Init()
1679 tmpreg |= (hdma->Init.TransferAllocatedPort | in DMA_Init()
1680 (((hdma->Init.DestBurstLength - 1U) << DMA_CTR1_DBL_1_Pos) & DMA_CTR1_DBL_1) | in DMA_Init()
1681 (((hdma->Init.SrcBurstLength - 1U) << DMA_CTR1_SBL_1_Pos) & DMA_CTR1_SBL_1)); in DMA_Init()
1685 WRITE_REG(hdma->Instance->CTR1, tmpreg); in DMA_Init()
1688 …tmpreg = hdma->Init.BlkHWRequest | (hdma->Init.Request & DMA_CTR2_REQSEL) | hdma->Init.TransferEve… in DMA_Init()
1691 if ((hdma->Init.Direction) == DMA_MEMORY_TO_PERIPH) in DMA_Init()
1693 if ((IS_HPDMA_INSTANCE(hdma->Instance) != 0U) || (IS_GPDMA_INSTANCE(hdma->Instance) != 0U)) in DMA_Init()
1699 else if ((hdma->Init.Direction) == DMA_MEMORY_TO_MEMORY) in DMA_Init()
1709 tmpreg |= hdma->Init.Mode; in DMA_Init()
1712 …MODIFY_REG(hdma->Instance->CTR2, (DMA_CTR2_TCEM | DMA_CTR2_TRIGPOL | DMA_CTR2_TRIGSEL | DMA_CTR2_… in DMA_Init()
1718 WRITE_REG(hdma->Instance->CBR1, 0U); in DMA_Init()
1721 if (IS_DMA_2D_ADDRESSING_INSTANCE(hdma->Instance) != 0U) in DMA_Init()
1724 WRITE_REG(hdma->Instance->CTR3, 0U); in DMA_Init()
1727 WRITE_REG(hdma->Instance->CBR2, 0U); in DMA_Init()
1731 WRITE_REG(hdma->Instance->CLLR, 0U); in DMA_Init()