xref: /freebsd/sys/dev/qat/qat_api/common/utils/lac_sync.c (revision 71625ec9)
178ee8d1cSJulian Grajkowski /* SPDX-License-Identifier: BSD-3-Clause */
278ee8d1cSJulian Grajkowski /* Copyright(c) 2007-2022 Intel Corporation */
378ee8d1cSJulian Grajkowski /**
478ee8d1cSJulian Grajkowski  *****************************************************************************
578ee8d1cSJulian Grajkowski  * @file lac_sync.c Utility functions containing synchronous callback support
678ee8d1cSJulian Grajkowski  *                  functions
778ee8d1cSJulian Grajkowski  *
878ee8d1cSJulian Grajkowski  * @ingroup LacSync
978ee8d1cSJulian Grajkowski  *
1078ee8d1cSJulian Grajkowski  *****************************************************************************/
1178ee8d1cSJulian Grajkowski 
1278ee8d1cSJulian Grajkowski /*
1378ee8d1cSJulian Grajkowski *******************************************************************************
1478ee8d1cSJulian Grajkowski * Include public/global header files
1578ee8d1cSJulian Grajkowski *******************************************************************************
1678ee8d1cSJulian Grajkowski */
1778ee8d1cSJulian Grajkowski #include "lac_sync.h"
1878ee8d1cSJulian Grajkowski #include "lac_common.h"
1978ee8d1cSJulian Grajkowski 
2078ee8d1cSJulian Grajkowski /*
2178ee8d1cSJulian Grajkowski *******************************************************************************
2278ee8d1cSJulian Grajkowski * Define public/global function definitions
2378ee8d1cSJulian Grajkowski *******************************************************************************
2478ee8d1cSJulian Grajkowski */
2578ee8d1cSJulian Grajkowski 
2678ee8d1cSJulian Grajkowski /**
2778ee8d1cSJulian Grajkowski  *****************************************************************************
2878ee8d1cSJulian Grajkowski  * @ingroup LacSync
2978ee8d1cSJulian Grajkowski  *****************************************************************************/
3078ee8d1cSJulian Grajkowski void
LacSync_GenWakeupSyncCaller(void * pCallbackTag,CpaStatus status)3178ee8d1cSJulian Grajkowski LacSync_GenWakeupSyncCaller(void *pCallbackTag, CpaStatus status)
3278ee8d1cSJulian Grajkowski {
3378ee8d1cSJulian Grajkowski 	lac_sync_op_data_t *pSc = (lac_sync_op_data_t *)pCallbackTag;
3478ee8d1cSJulian Grajkowski 	if (pSc != NULL) {
3578ee8d1cSJulian Grajkowski 		if (pSc->canceled) {
3678ee8d1cSJulian Grajkowski 			QAT_UTILS_LOG("Synchronous operation cancelled.\n");
3778ee8d1cSJulian Grajkowski 			return;
3878ee8d1cSJulian Grajkowski 		}
3978ee8d1cSJulian Grajkowski 		pSc->status = status;
4078ee8d1cSJulian Grajkowski 		if (CPA_STATUS_SUCCESS != LAC_POST_SEMAPHORE(pSc->sid)) {
4178ee8d1cSJulian Grajkowski 			QAT_UTILS_LOG("Failed to post semaphore.\n");
4278ee8d1cSJulian Grajkowski 		}
4378ee8d1cSJulian Grajkowski 	}
4478ee8d1cSJulian Grajkowski }
4578ee8d1cSJulian Grajkowski 
4678ee8d1cSJulian Grajkowski /**
4778ee8d1cSJulian Grajkowski  *****************************************************************************
4878ee8d1cSJulian Grajkowski  * @ingroup LacSync
4978ee8d1cSJulian Grajkowski  *****************************************************************************/
5078ee8d1cSJulian Grajkowski void
LacSync_GenVerifyWakeupSyncCaller(void * pCallbackTag,CpaStatus status,CpaBoolean opResult)5178ee8d1cSJulian Grajkowski LacSync_GenVerifyWakeupSyncCaller(void *pCallbackTag,
5278ee8d1cSJulian Grajkowski 				  CpaStatus status,
5378ee8d1cSJulian Grajkowski 				  CpaBoolean opResult)
5478ee8d1cSJulian Grajkowski {
5578ee8d1cSJulian Grajkowski 	lac_sync_op_data_t *pSc = (lac_sync_op_data_t *)pCallbackTag;
5678ee8d1cSJulian Grajkowski 	if (pSc != NULL) {
5778ee8d1cSJulian Grajkowski 		if (pSc->canceled) {
5878ee8d1cSJulian Grajkowski 			QAT_UTILS_LOG("Synchronous operation cancelled.\n");
5978ee8d1cSJulian Grajkowski 			return;
6078ee8d1cSJulian Grajkowski 		}
6178ee8d1cSJulian Grajkowski 		pSc->status = status;
6278ee8d1cSJulian Grajkowski 		pSc->opResult = opResult;
6378ee8d1cSJulian Grajkowski 		if (CPA_STATUS_SUCCESS != LAC_POST_SEMAPHORE(pSc->sid)) {
6478ee8d1cSJulian Grajkowski 			QAT_UTILS_LOG("Failed to post semaphore.\n");
6578ee8d1cSJulian Grajkowski 		}
6678ee8d1cSJulian Grajkowski 	}
6778ee8d1cSJulian Grajkowski }
6878ee8d1cSJulian Grajkowski 
6978ee8d1cSJulian Grajkowski /**
7078ee8d1cSJulian Grajkowski  *****************************************************************************
7178ee8d1cSJulian Grajkowski  * @ingroup LacSync
7278ee8d1cSJulian Grajkowski  *****************************************************************************/
7378ee8d1cSJulian Grajkowski void
LacSync_GenVerifyCb(void * pCallbackTag,CpaStatus status,void * pOpData,CpaBoolean opResult)7478ee8d1cSJulian Grajkowski LacSync_GenVerifyCb(void *pCallbackTag,
7578ee8d1cSJulian Grajkowski 		    CpaStatus status,
7678ee8d1cSJulian Grajkowski 		    void *pOpData,
7778ee8d1cSJulian Grajkowski 		    CpaBoolean opResult)
7878ee8d1cSJulian Grajkowski {
7978ee8d1cSJulian Grajkowski 	LacSync_GenVerifyWakeupSyncCaller(pCallbackTag, status, opResult);
8078ee8d1cSJulian Grajkowski }
8178ee8d1cSJulian Grajkowski 
8278ee8d1cSJulian Grajkowski /**
8378ee8d1cSJulian Grajkowski  *****************************************************************************
8478ee8d1cSJulian Grajkowski  * @ingroup LacSync
8578ee8d1cSJulian Grajkowski  *****************************************************************************/
8678ee8d1cSJulian Grajkowski void
LacSync_GenFlatBufCb(void * pCallbackTag,CpaStatus status,void * pOpData,CpaFlatBuffer * pOut)8778ee8d1cSJulian Grajkowski LacSync_GenFlatBufCb(void *pCallbackTag,
8878ee8d1cSJulian Grajkowski 		     CpaStatus status,
8978ee8d1cSJulian Grajkowski 		     void *pOpData,
9078ee8d1cSJulian Grajkowski 		     CpaFlatBuffer *pOut)
9178ee8d1cSJulian Grajkowski {
9278ee8d1cSJulian Grajkowski 	LacSync_GenWakeupSyncCaller(pCallbackTag, status);
9378ee8d1cSJulian Grajkowski }
9478ee8d1cSJulian Grajkowski 
9578ee8d1cSJulian Grajkowski /**
9678ee8d1cSJulian Grajkowski  *****************************************************************************
9778ee8d1cSJulian Grajkowski  * @ingroup LacSync
9878ee8d1cSJulian Grajkowski  *****************************************************************************/
9978ee8d1cSJulian Grajkowski void
LacSync_GenFlatBufVerifyCb(void * pCallbackTag,CpaStatus status,void * pOpData,CpaBoolean opResult,CpaFlatBuffer * pOut)10078ee8d1cSJulian Grajkowski LacSync_GenFlatBufVerifyCb(void *pCallbackTag,
10178ee8d1cSJulian Grajkowski 			   CpaStatus status,
10278ee8d1cSJulian Grajkowski 			   void *pOpData,
10378ee8d1cSJulian Grajkowski 			   CpaBoolean opResult,
10478ee8d1cSJulian Grajkowski 			   CpaFlatBuffer *pOut)
10578ee8d1cSJulian Grajkowski {
10678ee8d1cSJulian Grajkowski 	LacSync_GenVerifyWakeupSyncCaller(pCallbackTag, status, opResult);
10778ee8d1cSJulian Grajkowski }
10878ee8d1cSJulian Grajkowski 
10978ee8d1cSJulian Grajkowski /**
11078ee8d1cSJulian Grajkowski  *****************************************************************************
11178ee8d1cSJulian Grajkowski  * @ingroup LacSync
11278ee8d1cSJulian Grajkowski  *****************************************************************************/
11378ee8d1cSJulian Grajkowski void
LacSync_GenDualFlatBufVerifyCb(void * pCallbackTag,CpaStatus status,void * pOpdata,CpaBoolean opResult,CpaFlatBuffer * pOut0,CpaFlatBuffer * pOut1)11478ee8d1cSJulian Grajkowski LacSync_GenDualFlatBufVerifyCb(void *pCallbackTag,
11578ee8d1cSJulian Grajkowski 			       CpaStatus status,
11678ee8d1cSJulian Grajkowski 			       void *pOpdata,
11778ee8d1cSJulian Grajkowski 			       CpaBoolean opResult,
11878ee8d1cSJulian Grajkowski 			       CpaFlatBuffer *pOut0,
11978ee8d1cSJulian Grajkowski 			       CpaFlatBuffer *pOut1)
12078ee8d1cSJulian Grajkowski {
12178ee8d1cSJulian Grajkowski 	LacSync_GenVerifyWakeupSyncCaller(pCallbackTag, status, opResult);
12278ee8d1cSJulian Grajkowski }
123