Lines Matching refs:hhash

234 static HAL_StatusTypeDef HASH_WaitOnFlagUntilTimeout(HASH_HandleTypeDef *hhash, uint32_t Flag, Flag…
235 static HAL_StatusTypeDef HASH_WriteData(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Siz…
236 static HAL_StatusTypeDef HASH_IT(HASH_HandleTypeDef *hhash);
237 static uint32_t HASH_Write_Block_Data(HASH_HandleTypeDef *hhash);
238 static HAL_StatusTypeDef HMAC_Processing(HASH_HandleTypeDef *hhash, uint32_t Timeout);
285 HAL_StatusTypeDef HAL_HASH_Init(HASH_HandleTypeDef *hhash) in HAL_HASH_Init() argument
288 assert_param(IS_HASH_DATATYPE(hhash->Init.DataType)); in HAL_HASH_Init()
291 if(hhash == NULL) in HAL_HASH_Init()
297 if (hhash->State == HAL_HASH_STATE_RESET) in HAL_HASH_Init()
300 hhash->Lock = HAL_UNLOCKED; in HAL_HASH_Init()
303hhash->InCpltCallback = HAL_HASH_InCpltCallback; /* Legacy weak (surcharged) input completion… in HAL_HASH_Init()
304hhash->DgstCpltCallback = HAL_HASH_DgstCpltCallback; /* Legacy weak (surcharged) digest computati… in HAL_HASH_Init()
305hhash->ErrorCallback = HAL_HASH_ErrorCallback; /* Legacy weak (surcharged) error callback */ in HAL_HASH_Init()
306 if(hhash->MspInitCallback == NULL) in HAL_HASH_Init()
308 hhash->MspInitCallback = HAL_HASH_MspInit; in HAL_HASH_Init()
312 hhash->MspInitCallback(hhash); in HAL_HASH_Init()
315 if(hhash->State == HAL_HASH_STATE_RESET) in HAL_HASH_Init()
318 hhash->Lock = HAL_UNLOCKED; in HAL_HASH_Init()
321 HAL_HASH_MspInit(hhash); in HAL_HASH_Init()
326 hhash->State = HAL_HASH_STATE_BUSY; in HAL_HASH_Init()
329 hhash->HashInCount = 0; in HAL_HASH_Init()
330 hhash->HashBuffSize = 0; in HAL_HASH_Init()
331 hhash->HashITCounter = 0; in HAL_HASH_Init()
332 hhash->NbWordsAlreadyPushed = 0; in HAL_HASH_Init()
334 hhash->DigestCalculationDisable = RESET; in HAL_HASH_Init()
336 hhash->Phase = HAL_HASH_PHASE_READY; in HAL_HASH_Init()
339 MODIFY_REG(HASH->CR, HASH_CR_DATATYPE, hhash->Init.DataType); in HAL_HASH_Init()
343 hhash->Status = HAL_OK; in HAL_HASH_Init()
346 hhash->State = HAL_HASH_STATE_READY; in HAL_HASH_Init()
349 hhash->ErrorCode = HAL_HASH_ERROR_NONE; in HAL_HASH_Init()
360 HAL_StatusTypeDef HAL_HASH_DeInit(HASH_HandleTypeDef *hhash) in HAL_HASH_DeInit() argument
363 if(hhash == NULL) in HAL_HASH_DeInit()
369 hhash->State = HAL_HASH_STATE_BUSY; in HAL_HASH_DeInit()
372 hhash->Phase = HAL_HASH_PHASE_READY; in HAL_HASH_DeInit()
375 hhash->HashInCount = 0; in HAL_HASH_DeInit()
376 hhash->HashBuffSize = 0; in HAL_HASH_DeInit()
377 hhash->HashITCounter = 0; in HAL_HASH_DeInit()
379 hhash->DigestCalculationDisable = RESET; in HAL_HASH_DeInit()
382 if(hhash->MspDeInitCallback == NULL) in HAL_HASH_DeInit()
384 hhash->MspDeInitCallback = HAL_HASH_MspDeInit; in HAL_HASH_DeInit()
388 hhash->MspDeInitCallback(hhash); in HAL_HASH_DeInit()
391 HAL_HASH_MspDeInit(hhash); in HAL_HASH_DeInit()
396 hhash->Status = HAL_OK; in HAL_HASH_DeInit()
399 hhash->State = HAL_HASH_STATE_RESET; in HAL_HASH_DeInit()
402 hhash->ErrorCode = HAL_HASH_ERROR_NONE; in HAL_HASH_DeInit()
413 __weak void HAL_HASH_MspInit(HASH_HandleTypeDef *hhash) in HAL_HASH_MspInit() argument
416 UNUSED(hhash); in HAL_HASH_MspInit()
428 __weak void HAL_HASH_MspDeInit(HASH_HandleTypeDef *hhash) in HAL_HASH_MspDeInit() argument
431 UNUSED(hhash); in HAL_HASH_MspDeInit()
449 __weak void HAL_HASH_InCpltCallback(HASH_HandleTypeDef *hhash) in HAL_HASH_InCpltCallback() argument
452 UNUSED(hhash); in HAL_HASH_InCpltCallback()
466 __weak void HAL_HASH_DgstCpltCallback(HASH_HandleTypeDef *hhash) in HAL_HASH_DgstCpltCallback() argument
469 UNUSED(hhash); in HAL_HASH_DgstCpltCallback()
483 __weak void HAL_HASH_ErrorCallback(HASH_HandleTypeDef *hhash) in HAL_HASH_ErrorCallback() argument
486 UNUSED(hhash); in HAL_HASH_ErrorCallback()
508 HAL_StatusTypeDef HAL_HASH_RegisterCallback(HASH_HandleTypeDef *hhash, HAL_HASH_CallbackIDTypeDef C… in HAL_HASH_RegisterCallback() argument
515 hhash->ErrorCode |= HAL_HASH_ERROR_INVALID_CALLBACK; in HAL_HASH_RegisterCallback()
519 __HAL_LOCK(hhash); in HAL_HASH_RegisterCallback()
521 if(HAL_HASH_STATE_READY == hhash->State) in HAL_HASH_RegisterCallback()
526 hhash->InCpltCallback = pCallback; in HAL_HASH_RegisterCallback()
530 hhash->DgstCpltCallback = pCallback; in HAL_HASH_RegisterCallback()
534 hhash->ErrorCallback = pCallback; in HAL_HASH_RegisterCallback()
538 hhash->MspInitCallback = pCallback; in HAL_HASH_RegisterCallback()
542 hhash->MspDeInitCallback = pCallback; in HAL_HASH_RegisterCallback()
547 hhash->ErrorCode |= HAL_HASH_ERROR_INVALID_CALLBACK; in HAL_HASH_RegisterCallback()
553 else if(HAL_HASH_STATE_RESET == hhash->State) in HAL_HASH_RegisterCallback()
558 hhash->MspInitCallback = pCallback; in HAL_HASH_RegisterCallback()
562 hhash->MspDeInitCallback = pCallback; in HAL_HASH_RegisterCallback()
567 hhash->ErrorCode |= HAL_HASH_ERROR_INVALID_CALLBACK; in HAL_HASH_RegisterCallback()
576 hhash->ErrorCode |= HAL_HASH_ERROR_INVALID_CALLBACK; in HAL_HASH_RegisterCallback()
582 __HAL_UNLOCK(hhash); in HAL_HASH_RegisterCallback()
599 HAL_StatusTypeDef HAL_HASH_UnRegisterCallback(HASH_HandleTypeDef *hhash, HAL_HASH_CallbackIDTypeDef… in HAL_HASH_UnRegisterCallback() argument
604 __HAL_LOCK(hhash); in HAL_HASH_UnRegisterCallback()
606 if(HAL_HASH_STATE_READY == hhash->State) in HAL_HASH_UnRegisterCallback()
611hhash->InCpltCallback = HAL_HASH_InCpltCallback; /* Legacy weak (surcharged) input completion … in HAL_HASH_UnRegisterCallback()
615hhash->DgstCpltCallback = HAL_HASH_DgstCpltCallback; /* Legacy weak (surcharged) digest computatio… in HAL_HASH_UnRegisterCallback()
619hhash->ErrorCallback = HAL_HASH_ErrorCallback; /* Legacy weak (surcharged) error callback */ in HAL_HASH_UnRegisterCallback()
623 hhash->MspInitCallback = HAL_HASH_MspInit; /* Legacy weak (surcharged) Msp Init */ in HAL_HASH_UnRegisterCallback()
627 hhash->MspDeInitCallback = HAL_HASH_MspDeInit; /* Legacy weak (surcharged) Msp DeInit */ in HAL_HASH_UnRegisterCallback()
632 hhash->ErrorCode |= HAL_HASH_ERROR_INVALID_CALLBACK; in HAL_HASH_UnRegisterCallback()
638 else if(HAL_HASH_STATE_RESET == hhash->State) in HAL_HASH_UnRegisterCallback()
643 hhash->MspInitCallback = HAL_HASH_MspInit; /* Legacy weak (surcharged) Msp Init */ in HAL_HASH_UnRegisterCallback()
647 hhash->MspDeInitCallback = HAL_HASH_MspDeInit; /* Legacy weak (surcharged) Msp DeInit */ in HAL_HASH_UnRegisterCallback()
652 hhash->ErrorCode |= HAL_HASH_ERROR_INVALID_CALLBACK; in HAL_HASH_UnRegisterCallback()
661 hhash->ErrorCode |= HAL_HASH_ERROR_INVALID_CALLBACK; in HAL_HASH_UnRegisterCallback()
667 __HAL_UNLOCK(hhash); in HAL_HASH_UnRegisterCallback()
714 HAL_StatusTypeDef HAL_HASH_MD5_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, … in HAL_HASH_MD5_Start() argument
716 return HASH_Start(hhash, pInBuffer, Size, pOutBuffer, Timeout, HASH_ALGOSELECTION_MD5); in HAL_HASH_MD5_Start()
739 HAL_StatusTypeDef HAL_HASH_MD5_Accumulate(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t S… in HAL_HASH_MD5_Accumulate() argument
741 return HASH_Accumulate(hhash, pInBuffer, Size,HASH_ALGOSELECTION_MD5); in HAL_HASH_MD5_Accumulate()
755 HAL_StatusTypeDef HAL_HASH_SHA1_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size,… in HAL_HASH_SHA1_Start() argument
757 return HASH_Start(hhash, pInBuffer, Size, pOutBuffer, Timeout, HASH_ALGOSELECTION_SHA1); in HAL_HASH_SHA1_Start()
780 HAL_StatusTypeDef HAL_HASH_SHA1_Accumulate(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t … in HAL_HASH_SHA1_Accumulate() argument
782 return HASH_Accumulate(hhash, pInBuffer, Size,HASH_ALGOSELECTION_SHA1); in HAL_HASH_SHA1_Accumulate()
824 HAL_StatusTypeDef HAL_HASH_MD5_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Siz… in HAL_HASH_MD5_Start_IT() argument
826 return HASH_Start_IT(hhash, pInBuffer, Size, pOutBuffer,HASH_ALGOSELECTION_MD5); in HAL_HASH_MD5_Start_IT()
840 HAL_StatusTypeDef HAL_HASH_SHA1_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Si… in HAL_HASH_SHA1_Start_IT() argument
842 return HASH_Start_IT(hhash, pInBuffer, Size, pOutBuffer,HASH_ALGOSELECTION_SHA1); in HAL_HASH_SHA1_Start_IT()
854 void HAL_HASH_IRQHandler(HASH_HandleTypeDef *hhash) in HAL_HASH_IRQHandler() argument
856 hhash->Status = HASH_IT(hhash); in HAL_HASH_IRQHandler()
857 if (hhash->Status != HAL_OK) in HAL_HASH_IRQHandler()
859 hhash->ErrorCode |= HAL_HASH_ERROR_IT; in HAL_HASH_IRQHandler()
861 hhash->ErrorCallback(hhash); in HAL_HASH_IRQHandler()
863 HAL_HASH_ErrorCallback(hhash); in HAL_HASH_IRQHandler()
866 hhash->Status = HAL_OK; in HAL_HASH_IRQHandler()
912 HAL_StatusTypeDef HAL_HASH_MD5_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Si… in HAL_HASH_MD5_Start_DMA() argument
914 return HASH_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_MD5); in HAL_HASH_MD5_Start_DMA()
927 HAL_StatusTypeDef HAL_HASH_MD5_Finish(HASH_HandleTypeDef *hhash, uint8_t* pOutBuffer, uint32_t Time… in HAL_HASH_MD5_Finish() argument
929 return HASH_Finish(hhash, pOutBuffer, Timeout); in HAL_HASH_MD5_Finish()
942 HAL_StatusTypeDef HAL_HASH_SHA1_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t S… in HAL_HASH_SHA1_Start_DMA() argument
944 return HASH_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_SHA1); in HAL_HASH_SHA1_Start_DMA()
958 HAL_StatusTypeDef HAL_HASH_SHA1_Finish(HASH_HandleTypeDef *hhash, uint8_t* pOutBuffer, uint32_t Tim… in HAL_HASH_SHA1_Finish() argument
960 return HASH_Finish(hhash, pOutBuffer, Timeout); in HAL_HASH_SHA1_Finish()
999 HAL_StatusTypeDef HAL_HMAC_MD5_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, … in HAL_HMAC_MD5_Start() argument
1001 return HMAC_Start(hhash, pInBuffer, Size, pOutBuffer, Timeout, HASH_ALGOSELECTION_MD5); in HAL_HMAC_MD5_Start()
1017 HAL_StatusTypeDef HAL_HMAC_SHA1_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size,… in HAL_HMAC_SHA1_Start() argument
1019 return HMAC_Start(hhash, pInBuffer, Size, pOutBuffer, Timeout, HASH_ALGOSELECTION_SHA1); in HAL_HMAC_SHA1_Start()
1058 HAL_StatusTypeDef HAL_HMAC_MD5_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Siz… in HAL_HMAC_MD5_Start_IT() argument
1060 return HMAC_Start_IT(hhash, pInBuffer, Size, pOutBuffer, HASH_ALGOSELECTION_MD5); in HAL_HMAC_MD5_Start_IT()
1075 HAL_StatusTypeDef HAL_HMAC_SHA1_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Si… in HAL_HMAC_SHA1_Start_IT() argument
1077 return HMAC_Start_IT(hhash, pInBuffer, Size, pOutBuffer, HASH_ALGOSELECTION_SHA1); in HAL_HMAC_SHA1_Start_IT()
1128 HAL_StatusTypeDef HAL_HMAC_MD5_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Si… in HAL_HMAC_MD5_Start_DMA() argument
1130 return HMAC_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_MD5); in HAL_HMAC_MD5_Start_DMA()
1153 HAL_StatusTypeDef HAL_HMAC_SHA1_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t S… in HAL_HMAC_SHA1_Start_DMA() argument
1155 return HMAC_Start_DMA(hhash, pInBuffer, Size, HASH_ALGOSELECTION_SHA1); in HAL_HMAC_SHA1_Start_DMA()
1200 HAL_HASH_StateTypeDef HAL_HASH_GetState(HASH_HandleTypeDef *hhash) in HAL_HASH_GetState() argument
1202 return hhash->State; in HAL_HASH_GetState()
1213 HAL_StatusTypeDef HAL_HASH_GetStatus(HASH_HandleTypeDef *hhash) in HAL_HASH_GetStatus() argument
1215 return hhash->Status; in HAL_HASH_GetStatus()
1231 void HAL_HASH_ContextSaving(HASH_HandleTypeDef *hhash, uint8_t* pMemBuffer) in HAL_HASH_ContextSaving() argument
1238 UNUSED(hhash); in HAL_HASH_ContextSaving()
1271 void HAL_HASH_ContextRestoring(HASH_HandleTypeDef *hhash, uint8_t* pMemBuffer) in HAL_HASH_ContextRestoring() argument
1278 UNUSED(hhash); in HAL_HASH_ContextRestoring()
1314 void HAL_HASH_SwFeed_ProcessSuspend(HASH_HandleTypeDef *hhash) in HAL_HASH_SwFeed_ProcessSuspend() argument
1317 hhash->SuspendRequest = HAL_HASH_SUSPEND; in HAL_HASH_SwFeed_ProcessSuspend()
1329 HAL_StatusTypeDef HAL_HASH_DMAFeed_ProcessSuspend(HASH_HandleTypeDef *hhash) in HAL_HASH_DMAFeed_ProcessSuspend() argument
1335 if (hhash->State == HAL_HASH_STATE_READY) in HAL_HASH_DMAFeed_ProcessSuspend()
1343 tmp_remaining_DMATransferSize_inWords = ((DMA_Stream_TypeDef *)hhash->hdmain->Instance)->NDTR; in HAL_HASH_DMAFeed_ProcessSuspend()
1353 if (HASH_WaitOnFlagUntilTimeout(hhash, HASH_FLAG_BUSY, SET, HASH_TIMEOUTVALUE) != HAL_OK) in HAL_HASH_DMAFeed_ProcessSuspend()
1364 if (HASH_WaitOnFlagUntilTimeout(hhash, HASH_FLAG_BUSY, RESET, HASH_TIMEOUTVALUE) != HAL_OK) in HAL_HASH_DMAFeed_ProcessSuspend()
1370 if (HAL_DMA_Abort(hhash->hdmain) ==HAL_OK) in HAL_HASH_DMAFeed_ProcessSuspend()
1383 if (HASH_WaitOnFlagUntilTimeout(hhash, HASH_FLAG_BUSY, SET, HASH_TIMEOUTVALUE) != HAL_OK) in HAL_HASH_DMAFeed_ProcessSuspend()
1395 tmp_remaining_DMATransferSize_inWords = ((DMA_Stream_TypeDef *)hhash->hdmain->Instance)->NDTR; in HAL_HASH_DMAFeed_ProcessSuspend()
1414 …tmp_initial_DMATransferSize_inWords = (((hhash->HashInCount%4U)!=0U) ? ((hhash->HashInCount+3U)/4… in HAL_HASH_DMAFeed_ProcessSuspend()
1420 tmp_words_already_pushed = hhash->NbWordsAlreadyPushed; in HAL_HASH_DMAFeed_ProcessSuspend()
1427hhash->pHashInBuffPtr += 4U * (tmp_initial_DMATransferSize_inWords - tmp_remaining_DMATransferSiz… in HAL_HASH_DMAFeed_ProcessSuspend()
1430 hhash->HashInCount = 4U * tmp_remaining_DMATransferSize_inWords; in HAL_HASH_DMAFeed_ProcessSuspend()
1435 hhash->State = HAL_HASH_STATE_SUSPENDED; in HAL_HASH_DMAFeed_ProcessSuspend()
1447 uint32_t HAL_HASH_GetError(HASH_HandleTypeDef *hhash) in HAL_HASH_GetError() argument
1450 return hhash->ErrorCode; in HAL_HASH_GetError()
1474 HASH_HandleTypeDef* hhash = ( HASH_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; in HASH_DMAXferCplt() local
1479 if (hhash->State != HAL_HASH_STATE_SUSPENDED) in HASH_DMAXferCplt()
1490 hhash->State = HAL_HASH_STATE_READY; in HASH_DMAXferCplt()
1494 hhash->InCpltCallback(hhash); in HASH_DMAXferCplt()
1496 HAL_HASH_InCpltCallback(hhash); in HASH_DMAXferCplt()
1507 if (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_3) in HASH_DMAXferCplt()
1512 hhash->State = HAL_HASH_STATE_READY; in HASH_DMAXferCplt()
1518 hhash->InCpltCallback(hhash); in HASH_DMAXferCplt()
1520 HAL_HASH_InCpltCallback(hhash); in HASH_DMAXferCplt()
1525 else if (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_1) in HASH_DMAXferCplt()
1527 inputaddr = (uint32_t)hhash->pHashMsgBuffPtr; /* DMA transfer start address */ in HASH_DMAXferCplt()
1528 buffersize = hhash->HashBuffSize; /* DMA transfer size (in bytes) */ in HASH_DMAXferCplt()
1529 hhash->Phase = HAL_HASH_PHASE_HMAC_STEP_2; /* Move phase from Step 1 to Step 2 */ in HASH_DMAXferCplt()
1532 hhash->HashInCount = hhash->HashBuffSize; /* Initial DMA transfer size (in bytes) */ in HASH_DMAXferCplt()
1533 hhash->pHashInBuffPtr = hhash->pHashMsgBuffPtr ; /* DMA transfer start address */ in HASH_DMAXferCplt()
1535hhash->NbWordsAlreadyPushed = 0U; /* Reset number of words already pushed */ in HASH_DMAXferCplt()
1537 if (hhash->DigestCalculationDisable != RESET) in HASH_DMAXferCplt()
1546 if (hhash->DigestCalculationDisable != RESET) in HASH_DMAXferCplt()
1553 hhash->State = HAL_HASH_STATE_READY; in HASH_DMAXferCplt()
1555 hhash->InCpltCallback(hhash); in HASH_DMAXferCplt()
1557 HAL_HASH_InCpltCallback(hhash); in HASH_DMAXferCplt()
1565 inputaddr = (uint32_t)hhash->Init.pKey; /* DMA transfer start address */ in HASH_DMAXferCplt()
1566 buffersize = hhash->Init.KeySize; /* DMA transfer size (in bytes) */ in HASH_DMAXferCplt()
1567 hhash->Phase = HAL_HASH_PHASE_HMAC_STEP_3; /* Move phase from Step 2 to Step 3 */ in HASH_DMAXferCplt()
1569hhash->HashInCount = hhash->Init.KeySize; /* Initial size for second DMA transfer (input data)… in HASH_DMAXferCplt()
1570hhash->pHashInBuffPtr = hhash->Init.pKey ; /* address passed to DMA, now entering data message … in HASH_DMAXferCplt()
1572 hhash->NbWordsAlreadyPushed = 0U; /* Reset number of words already pushed */ in HASH_DMAXferCplt()
1580 hhash->hdmain->XferCpltCallback = HASH_DMAXferCplt; in HASH_DMAXferCplt()
1583 …status = HAL_DMA_Start_IT(hhash->hdmain, inputaddr, (uint32_t)&HASH->DIN, (((buffersize %4U)!=0U) … in HASH_DMAXferCplt()
1592 hhash->State = HAL_HASH_STATE_ERROR; in HASH_DMAXferCplt()
1597 hhash->State = HAL_HASH_STATE_READY; in HASH_DMAXferCplt()
1614 HASH_HandleTypeDef* hhash = ( HASH_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; in HASH_DMAError() local
1616 if (hhash->State != HAL_HASH_STATE_SUSPENDED) in HASH_DMAError()
1618 hhash->ErrorCode |= HAL_HASH_ERROR_DMA; in HASH_DMAError()
1621 hhash->State= HAL_HASH_STATE_READY; in HASH_DMAError()
1623 hhash->Status = HAL_ERROR; in HASH_DMAError()
1625 hhash->ErrorCallback(hhash); in HASH_DMAError()
1627 HAL_HASH_ErrorCallback(hhash); in HASH_DMAError()
1630 hhash->Status = HAL_OK; in HASH_DMAError()
1646 static HAL_StatusTypeDef HASH_WriteData(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Siz… in HASH_WriteData() argument
1659 if ((hhash->SuspendRequest == HAL_HASH_SUSPEND) && ((buffercounter+4U) < Size)) in HASH_WriteData()
1664 if (HASH_WaitOnFlagUntilTimeout(hhash, HASH_FLAG_BUSY, SET, HASH_TIMEOUTVALUE) != HAL_OK) in HASH_WriteData()
1674 hhash->SuspendRequest = HAL_HASH_SUSPEND_NONE; in HASH_WriteData()
1678 … if ((hhash->Phase == HAL_HASH_PHASE_PROCESS) || (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_2)) in HASH_WriteData()
1681 hhash->pHashInBuffPtr = (uint8_t *)inputaddr; in HASH_WriteData()
1683 hhash->HashInCount = Size - (buffercounter + 4U); in HASH_WriteData()
1685 …else if ((hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_1) || (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP… in HASH_WriteData()
1688 hhash->pHashKeyBuffPtr = (uint8_t *)inputaddr; in HASH_WriteData()
1690 hhash->HashKeyCount = Size - (buffercounter + 4U); in HASH_WriteData()
1695 hhash->State = HAL_HASH_STATE_READY; in HASH_WriteData()
1696 __HAL_UNLOCK(hhash); in HASH_WriteData()
1701 hhash->State = HAL_HASH_STATE_SUSPENDED; in HASH_WriteData()
1792 static HAL_StatusTypeDef HASH_WaitOnFlagUntilTimeout(HASH_HandleTypeDef *hhash, uint32_t Flag, Flag… in HASH_WaitOnFlagUntilTimeout() argument
1807 hhash->State = HAL_HASH_STATE_READY; in HASH_WaitOnFlagUntilTimeout()
1809 hhash->Status = HAL_TIMEOUT; in HASH_WaitOnFlagUntilTimeout()
1812 __HAL_UNLOCK(hhash); in HASH_WaitOnFlagUntilTimeout()
1829 hhash->State = HAL_HASH_STATE_READY; in HASH_WaitOnFlagUntilTimeout()
1831 hhash->Status = HAL_TIMEOUT; in HASH_WaitOnFlagUntilTimeout()
1834 __HAL_UNLOCK(hhash); in HASH_WaitOnFlagUntilTimeout()
1854 static HAL_StatusTypeDef HASH_IT(HASH_HandleTypeDef *hhash) in HASH_IT() argument
1856 if (hhash->State == HAL_HASH_STATE_BUSY) in HASH_IT()
1859 if(hhash->HashITCounter == 0U) in HASH_IT()
1865 hhash->State = HAL_HASH_STATE_READY; in HASH_IT()
1868 else if (hhash->HashITCounter == 1U) in HASH_IT()
1873 hhash->HashITCounter = 2U; in HASH_IT()
1879 hhash->HashITCounter = 3U; in HASH_IT()
1886 HASH_GetDigest(hhash->pHashOutBuffPtr, HASH_DIGEST_LENGTH()); in HASH_IT()
1891 hhash->State = HAL_HASH_STATE_READY; in HASH_IT()
1894 hhash->DgstCpltCallback(hhash); in HASH_IT()
1896 HAL_HASH_DgstCpltCallback(hhash); in HASH_IT()
1908 if ( (hhash->HashInCount != 0U) && (hhash->SuspendRequest == HAL_HASH_SUSPEND)) in HASH_IT()
1914 hhash->SuspendRequest = HAL_HASH_SUSPEND_NONE; in HASH_IT()
1917 hhash->State = HAL_HASH_STATE_SUSPENDED; in HASH_IT()
1924 if (HASH_Write_Block_Data(hhash) == HASH_DIGEST_CALCULATION_STARTED) in HASH_IT()
1929 hhash->InCpltCallback(hhash); in HASH_IT()
1931 HAL_HASH_InCpltCallback(hhash); in HASH_IT()
1934 if (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_1) in HASH_IT()
1937 if (HASH_WaitOnFlagUntilTimeout(hhash, HASH_FLAG_BUSY, SET, HASH_TIMEOUTVALUE) != HAL_OK) in HASH_IT()
1944 hhash->Phase = HAL_HASH_PHASE_HMAC_STEP_2; /* Move phase from Step 1 to Step 2 */ in HASH_IT()
1945 __HAL_HASH_SET_NBVALIDBITS(hhash->HashBuffSize); /* Set NBLW for the input message */ in HASH_IT()
1946 hhash->HashInCount = hhash->HashBuffSize; /* Set the input data size (in bytes) */ in HASH_IT()
1947 hhash->pHashInBuffPtr = hhash->pHashMsgBuffPtr; /* Set the input data address */ in HASH_IT()
1948hhash->HashITCounter = 1; /* Set ITCounter to 1 to indicate the start of a… in HASH_IT()
1951 else if (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_2) in HASH_IT()
1954 if (HASH_WaitOnFlagUntilTimeout(hhash, HASH_FLAG_BUSY, SET, HASH_TIMEOUTVALUE) != HAL_OK) in HASH_IT()
1961 hhash->Phase = HAL_HASH_PHASE_HMAC_STEP_3; /* Move phase from Step 2 to Step 3 */ in HASH_IT()
1962 __HAL_HASH_SET_NBVALIDBITS(hhash->Init.KeySize); /* Set NBLW for the key */ in HASH_IT()
1963 hhash->HashInCount = hhash->Init.KeySize; /* Set the key size (in bytes) */ in HASH_IT()
1964 hhash->pHashInBuffPtr = hhash->Init.pKey; /* Set the key address */ in HASH_IT()
1965hhash->HashITCounter = 1; /* Set ITCounter to 1 to indicate the start of … in HASH_IT()
1991 static uint32_t HASH_Write_Block_Data(HASH_HandleTypeDef *hhash) in HASH_Write_Block_Data() argument
1999 if(hhash->HashInCount > 64U) in HASH_Write_Block_Data()
2001 inputaddr = (uint32_t)hhash->pHashInBuffPtr; in HASH_Write_Block_Data()
2011 if(hhash->HashITCounter == 2U) in HASH_Write_Block_Data()
2014 if(hhash->HashInCount >= 68U) in HASH_Write_Block_Data()
2019 hhash->HashInCount -= 68U; in HASH_Write_Block_Data()
2020 hhash->pHashInBuffPtr+= 68U; in HASH_Write_Block_Data()
2025 hhash->HashInCount = 0U; in HASH_Write_Block_Data()
2033 hhash->HashInCount -= 64U; in HASH_Write_Block_Data()
2034 hhash->pHashInBuffPtr+= 64U; in HASH_Write_Block_Data()
2043 inputaddr = (uint32_t)hhash->pHashInBuffPtr; in HASH_Write_Block_Data()
2045 inputcounter = hhash->HashInCount; in HASH_Write_Block_Data()
2063 hhash->HashInCount = 0; in HASH_Write_Block_Data()
2076 static HAL_StatusTypeDef HMAC_Processing(HASH_HandleTypeDef *hhash, uint32_t Timeout) in HMAC_Processing() argument
2079 …if ((hhash->Phase != HAL_HASH_PHASE_HMAC_STEP_1) && (hhash->Phase != HAL_HASH_PHASE_HMAC_STEP_2) &… in HMAC_Processing()
2082 hhash->State = HAL_HASH_STATE_READY; in HMAC_Processing()
2085 __HAL_UNLOCK(hhash); in HMAC_Processing()
2092 if (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_1) in HMAC_Processing()
2096 __HAL_HASH_SET_NBVALIDBITS(hhash->Init.KeySize); in HMAC_Processing()
2099 hhash->Status = HASH_WriteData(hhash, hhash->pHashKeyBuffPtr, hhash->HashKeyCount); in HMAC_Processing()
2100 if (hhash->Status != HAL_OK) in HMAC_Processing()
2102 return hhash->Status; in HMAC_Processing()
2106 if (hhash->State == HAL_HASH_STATE_SUSPENDED) in HMAC_Processing()
2109 __HAL_UNLOCK(hhash); in HMAC_Processing()
2119 if (HASH_WaitOnFlagUntilTimeout(hhash, HASH_FLAG_BUSY, SET, Timeout) != HAL_OK) in HMAC_Processing()
2125 hhash->Phase = HAL_HASH_PHASE_HMAC_STEP_2; in HMAC_Processing()
2134 if (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_2) in HMAC_Processing()
2138 __HAL_HASH_SET_NBVALIDBITS(hhash->HashBuffSize); in HMAC_Processing()
2141 hhash->Status = HASH_WriteData(hhash, hhash->pHashInBuffPtr, hhash->HashInCount); in HMAC_Processing()
2142 if (hhash->Status != HAL_OK) in HMAC_Processing()
2144 return hhash->Status; in HMAC_Processing()
2148 if (hhash->State == HAL_HASH_STATE_SUSPENDED) in HMAC_Processing()
2151 __HAL_UNLOCK(hhash); in HMAC_Processing()
2161 if (HASH_WaitOnFlagUntilTimeout(hhash, HASH_FLAG_BUSY, SET, Timeout) != HAL_OK) in HMAC_Processing()
2167 hhash->Phase = HAL_HASH_PHASE_HMAC_STEP_3; in HMAC_Processing()
2171 hhash->pHashKeyBuffPtr = hhash->Init.pKey; in HMAC_Processing()
2172 hhash->HashKeyCount = hhash->Init.KeySize; in HMAC_Processing()
2181 if (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_3) in HMAC_Processing()
2185 __HAL_HASH_SET_NBVALIDBITS(hhash->Init.KeySize); in HMAC_Processing()
2188 hhash->Status = HASH_WriteData(hhash, hhash->pHashKeyBuffPtr, hhash->HashKeyCount); in HMAC_Processing()
2189 if (hhash->Status != HAL_OK) in HMAC_Processing()
2191 return hhash->Status; in HMAC_Processing()
2195 if (hhash->State == HAL_HASH_STATE_SUSPENDED) in HMAC_Processing()
2198 __HAL_UNLOCK(hhash); in HMAC_Processing()
2208 if (HASH_WaitOnFlagUntilTimeout(hhash, HASH_FLAG_DCIS, RESET, Timeout) != HAL_OK) in HMAC_Processing()
2214 HASH_GetDigest(hhash->pHashOutBuffPtr, HASH_DIGEST_LENGTH()); in HMAC_Processing()
2218 hhash->State = HAL_HASH_STATE_READY; in HMAC_Processing()
2221 __HAL_UNLOCK(hhash); in HMAC_Processing()
2240 HAL_StatusTypeDef HASH_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t*… in HASH_Start() argument
2244 HAL_HASH_StateTypeDef State_tmp = hhash->State; in HASH_Start()
2253 hhash->State = HAL_HASH_STATE_READY; in HASH_Start()
2258 __HAL_LOCK(hhash); in HASH_Start()
2261 if(hhash->Phase == HAL_HASH_PHASE_READY) in HASH_Start()
2264 hhash->State = HAL_HASH_STATE_BUSY; in HASH_Start()
2278 hhash->Phase = HAL_HASH_PHASE_PROCESS; in HASH_Start()
2280 else if (hhash->Phase == HAL_HASH_PHASE_PROCESS) in HASH_Start()
2285 if (hhash->State == HAL_HASH_STATE_SUSPENDED) in HASH_Start()
2290 pInBuffer_tmp = hhash->pHashInBuffPtr; in HASH_Start()
2291 Size_tmp = hhash->HashInCount; in HASH_Start()
2304 hhash->State = HAL_HASH_STATE_BUSY; in HASH_Start()
2309 hhash->State = HAL_HASH_STATE_READY; in HASH_Start()
2312 __HAL_UNLOCK(hhash); in HASH_Start()
2320 hhash->Status = HASH_WriteData(hhash, pInBuffer_tmp, Size_tmp); in HASH_Start()
2321 if (hhash->Status != HAL_OK) in HASH_Start()
2323 return hhash->Status; in HASH_Start()
2327 if (hhash->State != HAL_HASH_STATE_SUSPENDED) in HASH_Start()
2333 if (HASH_WaitOnFlagUntilTimeout(hhash, HASH_FLAG_DCIS, RESET, Timeout) != HAL_OK) in HASH_Start()
2342 hhash->State = HAL_HASH_STATE_READY; in HASH_Start()
2347 __HAL_UNLOCK(hhash); in HASH_Start()
2373 HAL_StatusTypeDef HASH_Accumulate(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uin… in HASH_Accumulate() argument
2377 HAL_HASH_StateTypeDef State_tmp = hhash->State; in HASH_Accumulate()
2388 hhash->State = HAL_HASH_STATE_READY; in HASH_Accumulate()
2393 __HAL_LOCK(hhash); in HASH_Accumulate()
2396 if (hhash->State == HAL_HASH_STATE_SUSPENDED) in HASH_Accumulate()
2399 hhash->State = HAL_HASH_STATE_BUSY; in HASH_Accumulate()
2404 pInBuffer_tmp = hhash->pHashInBuffPtr; /* pInBuffer_tmp is set to the input data address */ in HASH_Accumulate()
2405 Size_tmp = hhash->HashInCount; /* Size_tmp contains the input data size in bytes */ in HASH_Accumulate()
2411 hhash->State = HAL_HASH_STATE_BUSY; in HASH_Accumulate()
2419 if(hhash->Phase == HAL_HASH_PHASE_READY) in HASH_Accumulate()
2426 hhash->Phase = HAL_HASH_PHASE_PROCESS; in HASH_Accumulate()
2431 hhash->Status = HASH_WriteData(hhash, pInBuffer_tmp, Size_tmp); in HASH_Accumulate()
2432 if (hhash->Status != HAL_OK) in HASH_Accumulate()
2434 return hhash->Status; in HASH_Accumulate()
2438 if (hhash->State != HAL_HASH_STATE_SUSPENDED) in HASH_Accumulate()
2441 hhash->State = HAL_HASH_STATE_READY; in HASH_Accumulate()
2445 __HAL_UNLOCK(hhash); in HASH_Accumulate()
2471 HAL_StatusTypeDef HASH_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8… in HASH_Start_IT() argument
2473 HAL_HASH_StateTypeDef State_tmp = hhash->State; in HASH_Start_IT()
2481 hhash->State = HAL_HASH_STATE_READY; in HASH_Start_IT()
2486 __HAL_LOCK(hhash); in HASH_Start_IT()
2489 hhash->State = HAL_HASH_STATE_BUSY; in HASH_Start_IT()
2492 hhash->HashITCounter = 1; in HASH_Start_IT()
2495 if(hhash->Phase == HAL_HASH_PHASE_READY) in HASH_Start_IT()
2504 hhash->HashInCount = Size; /* Counter used to keep track of number of data in HASH_Start_IT()
2506 hhash->pHashInBuffPtr = pInBuffer; /* Points at data which will be fed to the IP at in HASH_Start_IT()
2513 hhash->pHashOutBuffPtr = pOutBuffer; /* Points at the computed digest */ in HASH_Start_IT()
2517 hhash->Phase = HAL_HASH_PHASE_PROCESS; in HASH_Start_IT()
2520 __HAL_UNLOCK(hhash); in HASH_Start_IT()
2551 HAL_StatusTypeDef HASH_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint… in HASH_Start_DMA() argument
2556 HAL_HASH_StateTypeDef State_tmp = hhash->State; in HASH_Start_DMA()
2571 ((hhash->Phase != HAL_HASH_PHASE_READY) && (!(IS_HASH_PROCESSING(hhash))))) in HASH_Start_DMA()
2573 hhash->State = HAL_HASH_STATE_READY; in HASH_Start_DMA()
2579 __HAL_LOCK(hhash); in HASH_Start_DMA()
2582 if (hhash->State == HAL_HASH_STATE_READY) in HASH_Start_DMA()
2585 hhash->State = HAL_HASH_STATE_BUSY; in HASH_Start_DMA()
2591 if(hhash->Phase == HAL_HASH_PHASE_READY) in HASH_Start_DMA()
2597 hhash->Phase = HAL_HASH_PHASE_PROCESS; in HASH_Start_DMA()
2607 hhash->pHashInBuffPtr = pInBuffer; /* DMA transfer start address */ in HASH_Start_DMA()
2608 hhash->HashInCount = Size; /* DMA transfer size (in bytes) */ in HASH_Start_DMA()
2615 hhash->State = HAL_HASH_STATE_BUSY; in HASH_Start_DMA()
2620 inputaddr = (uint32_t)hhash->pHashInBuffPtr; /* DMA transfer start address */ in HASH_Start_DMA()
2621 inputSize = hhash->HashInCount; /* DMA transfer size (in bytes) */ in HASH_Start_DMA()
2626 hhash->hdmain->XferCpltCallback = HASH_DMAXferCplt; in HASH_Start_DMA()
2628 hhash->hdmain->XferErrorCallback = HASH_DMAError; in HASH_Start_DMA()
2631 hhash->NbWordsAlreadyPushed = HASH_NBW_PUSHED(); in HASH_Start_DMA()
2634 …status = HAL_DMA_Start_IT(hhash->hdmain, inputaddr, (uint32_t)&HASH->DIN, (((inputSize %4U)!=0U) ?… in HASH_Start_DMA()
2640 __HAL_UNLOCK(hhash); in HASH_Start_DMA()
2646 hhash->State = HAL_HASH_STATE_ERROR; in HASH_Start_DMA()
2651 hhash->State = HAL_HASH_STATE_READY; in HASH_Start_DMA()
2670 HAL_StatusTypeDef HASH_Finish(HASH_HandleTypeDef *hhash, uint8_t* pOutBuffer, uint32_t Timeout) in HASH_Finish() argument
2673 if(hhash->State == HAL_HASH_STATE_READY) in HASH_Finish()
2682 __HAL_LOCK(hhash); in HASH_Finish()
2685 hhash->State = HAL_HASH_STATE_BUSY; in HASH_Finish()
2688 if (HASH_WaitOnFlagUntilTimeout(hhash, HASH_FLAG_DCIS, RESET, Timeout) != HAL_OK) in HASH_Finish()
2697 hhash->State = HAL_HASH_STATE_READY; in HASH_Finish()
2700 __HAL_UNLOCK(hhash); in HASH_Finish()
2728 HAL_StatusTypeDef HMAC_Start(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8_t*… in HMAC_Start() argument
2730 HAL_HASH_StateTypeDef State_tmp = hhash->State; in HMAC_Start()
2736 …if ((pInBuffer == NULL) || (Size == 0U) || (hhash->Init.pKey == NULL) || (hhash->Init.KeySize == 0… in HMAC_Start()
2738 hhash->State = HAL_HASH_STATE_READY; in HMAC_Start()
2743 __HAL_LOCK(hhash); in HMAC_Start()
2746 hhash->State = HAL_HASH_STATE_BUSY; in HMAC_Start()
2749 if(hhash->Phase == HAL_HASH_PHASE_READY) in HMAC_Start()
2752 if(hhash->Init.KeySize > 64U) in HMAC_Start()
2761 hhash->Phase = HAL_HASH_PHASE_HMAC_STEP_1; in HMAC_Start()
2765hhash->pHashOutBuffPtr = pOutBuffer; /* Output digest address … in HMAC_Start()
2766hhash->pHashInBuffPtr = pInBuffer; /* Input data address, HMAC_Processing input para… in HMAC_Start()
2767hhash->HashInCount = Size; /* Input data size, HMAC_Processing input paramet… in HMAC_Start()
2768hhash->HashBuffSize = Size; /* Store the input buffer size for the whole HMAC… in HMAC_Start()
2769hhash->pHashKeyBuffPtr = hhash->Init.pKey; /* Key address, HMAC_Processing input parameter f… in HMAC_Start()
2770hhash->HashKeyCount = hhash->Init.KeySize; /* Key size, HMAC_Processing input parameter for … in HMAC_Start()
2774 return HMAC_Processing(hhash, Timeout); in HMAC_Start()
2798 HAL_StatusTypeDef HMAC_Start_IT(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint8… in HMAC_Start_IT() argument
2800 HAL_HASH_StateTypeDef State_tmp = hhash->State; in HMAC_Start_IT()
2806 …if ((pInBuffer == NULL) || (Size == 0U) || (hhash->Init.pKey == NULL) || (hhash->Init.KeySize == 0… in HMAC_Start_IT()
2808 hhash->State = HAL_HASH_STATE_READY; in HMAC_Start_IT()
2813 __HAL_LOCK(hhash); in HMAC_Start_IT()
2816 hhash->State = HAL_HASH_STATE_BUSY; in HMAC_Start_IT()
2819 hhash->HashITCounter = 1; in HMAC_Start_IT()
2822 if (hhash->Phase == HAL_HASH_PHASE_READY) in HMAC_Start_IT()
2825 if(hhash->Init.KeySize > 64U) in HMAC_Start_IT()
2837 hhash->HashInCount = hhash->Init.KeySize; /* Key size */ in HMAC_Start_IT()
2838 hhash->pHashInBuffPtr = hhash->Init.pKey ; /* Key address */ in HMAC_Start_IT()
2842 hhash->pHashKeyBuffPtr = hhash->Init.pKey; /* Key address */ in HMAC_Start_IT()
2843 hhash->pHashMsgBuffPtr = pInBuffer; /* Input message address */ in HMAC_Start_IT()
2844 hhash->HashBuffSize = Size; /* Input message size (in bytes) */ in HMAC_Start_IT()
2845 hhash->pHashOutBuffPtr = pOutBuffer; /* Output digest address */ in HMAC_Start_IT()
2848 __HAL_HASH_SET_NBVALIDBITS(hhash->Init.KeySize); in HMAC_Start_IT()
2851 hhash->Phase = HAL_HASH_PHASE_HMAC_STEP_1; in HMAC_Start_IT()
2853 …else if ((hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_1) || (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP… in HMAC_Start_IT()
2858 else if (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_2) in HMAC_Start_IT()
2867 __HAL_UNLOCK(hhash); in HMAC_Start_IT()
2868 hhash->State = HAL_HASH_STATE_READY; in HMAC_Start_IT()
2873 __HAL_UNLOCK(hhash); in HMAC_Start_IT()
2905 HAL_StatusTypeDef HMAC_Start_DMA(HASH_HandleTypeDef *hhash, uint8_t *pInBuffer, uint32_t Size, uint… in HMAC_Start_DMA() argument
2910 HAL_HASH_StateTypeDef State_tmp = hhash->State; in HMAC_Start_DMA()
2913 assert_param(IS_HMAC_DMA_MULTIBUFFER_SIZE(hhash, Size)); in HMAC_Start_DMA()
2918 …if ((pInBuffer == NULL ) || (Size == 0U) || (hhash->Init.pKey == NULL ) || (hhash->Init.KeySize ==… in HMAC_Start_DMA()
2922 ((hhash->Phase != HAL_HASH_PHASE_READY) && (!(IS_HMAC_PROCESSING(hhash))))) in HMAC_Start_DMA()
2924 hhash->State = HAL_HASH_STATE_READY; in HMAC_Start_DMA()
2930 __HAL_LOCK(hhash); in HMAC_Start_DMA()
2933 if (hhash->State == HAL_HASH_STATE_READY) in HMAC_Start_DMA()
2936 if(hhash->Phase == HAL_HASH_PHASE_READY) in HMAC_Start_DMA()
2939 hhash->State = HAL_HASH_STATE_BUSY; in HMAC_Start_DMA()
2942 if(hhash->Init.KeySize > 64U) in HMAC_Start_DMA()
2952hhash->HashInCount = hhash->Init.KeySize; /* Initial size for first DMA transfer (key size) … in HMAC_Start_DMA()
2953hhash->pHashKeyBuffPtr = hhash->Init.pKey; /* Key address … in HMAC_Start_DMA()
2954hhash->pHashInBuffPtr = hhash->Init.pKey ; /* First address passed to DMA (key address at Step 1)… in HMAC_Start_DMA()
2955hhash->pHashMsgBuffPtr = pInBuffer; /* Input data address … in HMAC_Start_DMA()
2956hhash->HashBuffSize = Size; /* input data size (in bytes) … in HMAC_Start_DMA()
2959 …inputaddr = (uint32_t)(hhash->Init.pKey); /* Address passed to DMA (start by entering Key messag… in HMAC_Start_DMA()
2960 inputSize = hhash->Init.KeySize; /* Size for first DMA transfer (in bytes) */ in HMAC_Start_DMA()
2963 __HAL_HASH_SET_NBVALIDBITS(hhash->Init.KeySize); in HMAC_Start_DMA()
2966 hhash->Phase = HAL_HASH_PHASE_HMAC_STEP_1; in HMAC_Start_DMA()
2969 else if (hhash->Phase == HAL_HASH_PHASE_HMAC_STEP_2) in HMAC_Start_DMA()
2975 hhash->State = HAL_HASH_STATE_BUSY; in HMAC_Start_DMA()
2978 hhash->HashInCount = Size; /* Input message address */ in HMAC_Start_DMA()
2979 hhash->pHashInBuffPtr = pInBuffer; /* Input message size in bytes */ in HMAC_Start_DMA()
2985 if (hhash->DigestCalculationDisable == RESET) in HMAC_Start_DMA()
2995 __HAL_UNLOCK(hhash); in HMAC_Start_DMA()
3005 hhash->State = HAL_HASH_STATE_BUSY; in HMAC_Start_DMA()
3011 inputaddr = (uint32_t)(hhash->pHashInBuffPtr); /* Input message address */ in HMAC_Start_DMA()
3012 inputSize = hhash->HashInCount; /* Input message size in bytes */ in HMAC_Start_DMA()
3017 hhash->hdmain->XferCpltCallback = HASH_DMAXferCplt; in HMAC_Start_DMA()
3019 hhash->hdmain->XferErrorCallback = HASH_DMAError; in HMAC_Start_DMA()
3022 hhash->NbWordsAlreadyPushed = HASH_NBW_PUSHED(); in HMAC_Start_DMA()
3025 …status = HAL_DMA_Start_IT(hhash->hdmain, inputaddr, (uint32_t)&HASH->DIN, (((inputSize %4U)!=0U) ?… in HMAC_Start_DMA()
3030 __HAL_UNLOCK(hhash); in HMAC_Start_DMA()
3036 hhash->State = HAL_HASH_STATE_ERROR; in HMAC_Start_DMA()
3041 hhash->State = HAL_HASH_STATE_READY; in HMAC_Start_DMA()