xref: /freebsd/sys/dev/qat/qat_api/common/utils/lac_sync.c (revision 71625ec9ad2a9bc8c09784fbd23b759830e0ee5f)
1*78ee8d1cSJulian Grajkowski /* SPDX-License-Identifier: BSD-3-Clause */
2*78ee8d1cSJulian Grajkowski /* Copyright(c) 2007-2022 Intel Corporation */
3*78ee8d1cSJulian Grajkowski /**
4*78ee8d1cSJulian Grajkowski  *****************************************************************************
5*78ee8d1cSJulian Grajkowski  * @file lac_sync.c Utility functions containing synchronous callback support
6*78ee8d1cSJulian Grajkowski  *                  functions
7*78ee8d1cSJulian Grajkowski  *
8*78ee8d1cSJulian Grajkowski  * @ingroup LacSync
9*78ee8d1cSJulian Grajkowski  *
10*78ee8d1cSJulian Grajkowski  *****************************************************************************/
11*78ee8d1cSJulian Grajkowski 
12*78ee8d1cSJulian Grajkowski /*
13*78ee8d1cSJulian Grajkowski *******************************************************************************
14*78ee8d1cSJulian Grajkowski * Include public/global header files
15*78ee8d1cSJulian Grajkowski *******************************************************************************
16*78ee8d1cSJulian Grajkowski */
17*78ee8d1cSJulian Grajkowski #include "lac_sync.h"
18*78ee8d1cSJulian Grajkowski #include "lac_common.h"
19*78ee8d1cSJulian Grajkowski 
20*78ee8d1cSJulian Grajkowski /*
21*78ee8d1cSJulian Grajkowski *******************************************************************************
22*78ee8d1cSJulian Grajkowski * Define public/global function definitions
23*78ee8d1cSJulian Grajkowski *******************************************************************************
24*78ee8d1cSJulian Grajkowski */
25*78ee8d1cSJulian Grajkowski 
26*78ee8d1cSJulian Grajkowski /**
27*78ee8d1cSJulian Grajkowski  *****************************************************************************
28*78ee8d1cSJulian Grajkowski  * @ingroup LacSync
29*78ee8d1cSJulian Grajkowski  *****************************************************************************/
30*78ee8d1cSJulian Grajkowski void
LacSync_GenWakeupSyncCaller(void * pCallbackTag,CpaStatus status)31*78ee8d1cSJulian Grajkowski LacSync_GenWakeupSyncCaller(void *pCallbackTag, CpaStatus status)
32*78ee8d1cSJulian Grajkowski {
33*78ee8d1cSJulian Grajkowski 	lac_sync_op_data_t *pSc = (lac_sync_op_data_t *)pCallbackTag;
34*78ee8d1cSJulian Grajkowski 	if (pSc != NULL) {
35*78ee8d1cSJulian Grajkowski 		if (pSc->canceled) {
36*78ee8d1cSJulian Grajkowski 			QAT_UTILS_LOG("Synchronous operation cancelled.\n");
37*78ee8d1cSJulian Grajkowski 			return;
38*78ee8d1cSJulian Grajkowski 		}
39*78ee8d1cSJulian Grajkowski 		pSc->status = status;
40*78ee8d1cSJulian Grajkowski 		if (CPA_STATUS_SUCCESS != LAC_POST_SEMAPHORE(pSc->sid)) {
41*78ee8d1cSJulian Grajkowski 			QAT_UTILS_LOG("Failed to post semaphore.\n");
42*78ee8d1cSJulian Grajkowski 		}
43*78ee8d1cSJulian Grajkowski 	}
44*78ee8d1cSJulian Grajkowski }
45*78ee8d1cSJulian Grajkowski 
46*78ee8d1cSJulian Grajkowski /**
47*78ee8d1cSJulian Grajkowski  *****************************************************************************
48*78ee8d1cSJulian Grajkowski  * @ingroup LacSync
49*78ee8d1cSJulian Grajkowski  *****************************************************************************/
50*78ee8d1cSJulian Grajkowski void
LacSync_GenVerifyWakeupSyncCaller(void * pCallbackTag,CpaStatus status,CpaBoolean opResult)51*78ee8d1cSJulian Grajkowski LacSync_GenVerifyWakeupSyncCaller(void *pCallbackTag,
52*78ee8d1cSJulian Grajkowski 				  CpaStatus status,
53*78ee8d1cSJulian Grajkowski 				  CpaBoolean opResult)
54*78ee8d1cSJulian Grajkowski {
55*78ee8d1cSJulian Grajkowski 	lac_sync_op_data_t *pSc = (lac_sync_op_data_t *)pCallbackTag;
56*78ee8d1cSJulian Grajkowski 	if (pSc != NULL) {
57*78ee8d1cSJulian Grajkowski 		if (pSc->canceled) {
58*78ee8d1cSJulian Grajkowski 			QAT_UTILS_LOG("Synchronous operation cancelled.\n");
59*78ee8d1cSJulian Grajkowski 			return;
60*78ee8d1cSJulian Grajkowski 		}
61*78ee8d1cSJulian Grajkowski 		pSc->status = status;
62*78ee8d1cSJulian Grajkowski 		pSc->opResult = opResult;
63*78ee8d1cSJulian Grajkowski 		if (CPA_STATUS_SUCCESS != LAC_POST_SEMAPHORE(pSc->sid)) {
64*78ee8d1cSJulian Grajkowski 			QAT_UTILS_LOG("Failed to post semaphore.\n");
65*78ee8d1cSJulian Grajkowski 		}
66*78ee8d1cSJulian Grajkowski 	}
67*78ee8d1cSJulian Grajkowski }
68*78ee8d1cSJulian Grajkowski 
69*78ee8d1cSJulian Grajkowski /**
70*78ee8d1cSJulian Grajkowski  *****************************************************************************
71*78ee8d1cSJulian Grajkowski  * @ingroup LacSync
72*78ee8d1cSJulian Grajkowski  *****************************************************************************/
73*78ee8d1cSJulian Grajkowski void
LacSync_GenVerifyCb(void * pCallbackTag,CpaStatus status,void * pOpData,CpaBoolean opResult)74*78ee8d1cSJulian Grajkowski LacSync_GenVerifyCb(void *pCallbackTag,
75*78ee8d1cSJulian Grajkowski 		    CpaStatus status,
76*78ee8d1cSJulian Grajkowski 		    void *pOpData,
77*78ee8d1cSJulian Grajkowski 		    CpaBoolean opResult)
78*78ee8d1cSJulian Grajkowski {
79*78ee8d1cSJulian Grajkowski 	LacSync_GenVerifyWakeupSyncCaller(pCallbackTag, status, opResult);
80*78ee8d1cSJulian Grajkowski }
81*78ee8d1cSJulian Grajkowski 
82*78ee8d1cSJulian Grajkowski /**
83*78ee8d1cSJulian Grajkowski  *****************************************************************************
84*78ee8d1cSJulian Grajkowski  * @ingroup LacSync
85*78ee8d1cSJulian Grajkowski  *****************************************************************************/
86*78ee8d1cSJulian Grajkowski void
LacSync_GenFlatBufCb(void * pCallbackTag,CpaStatus status,void * pOpData,CpaFlatBuffer * pOut)87*78ee8d1cSJulian Grajkowski LacSync_GenFlatBufCb(void *pCallbackTag,
88*78ee8d1cSJulian Grajkowski 		     CpaStatus status,
89*78ee8d1cSJulian Grajkowski 		     void *pOpData,
90*78ee8d1cSJulian Grajkowski 		     CpaFlatBuffer *pOut)
91*78ee8d1cSJulian Grajkowski {
92*78ee8d1cSJulian Grajkowski 	LacSync_GenWakeupSyncCaller(pCallbackTag, status);
93*78ee8d1cSJulian Grajkowski }
94*78ee8d1cSJulian Grajkowski 
95*78ee8d1cSJulian Grajkowski /**
96*78ee8d1cSJulian Grajkowski  *****************************************************************************
97*78ee8d1cSJulian Grajkowski  * @ingroup LacSync
98*78ee8d1cSJulian Grajkowski  *****************************************************************************/
99*78ee8d1cSJulian Grajkowski void
LacSync_GenFlatBufVerifyCb(void * pCallbackTag,CpaStatus status,void * pOpData,CpaBoolean opResult,CpaFlatBuffer * pOut)100*78ee8d1cSJulian Grajkowski LacSync_GenFlatBufVerifyCb(void *pCallbackTag,
101*78ee8d1cSJulian Grajkowski 			   CpaStatus status,
102*78ee8d1cSJulian Grajkowski 			   void *pOpData,
103*78ee8d1cSJulian Grajkowski 			   CpaBoolean opResult,
104*78ee8d1cSJulian Grajkowski 			   CpaFlatBuffer *pOut)
105*78ee8d1cSJulian Grajkowski {
106*78ee8d1cSJulian Grajkowski 	LacSync_GenVerifyWakeupSyncCaller(pCallbackTag, status, opResult);
107*78ee8d1cSJulian Grajkowski }
108*78ee8d1cSJulian Grajkowski 
109*78ee8d1cSJulian Grajkowski /**
110*78ee8d1cSJulian Grajkowski  *****************************************************************************
111*78ee8d1cSJulian Grajkowski  * @ingroup LacSync
112*78ee8d1cSJulian Grajkowski  *****************************************************************************/
113*78ee8d1cSJulian Grajkowski void
LacSync_GenDualFlatBufVerifyCb(void * pCallbackTag,CpaStatus status,void * pOpdata,CpaBoolean opResult,CpaFlatBuffer * pOut0,CpaFlatBuffer * pOut1)114*78ee8d1cSJulian Grajkowski LacSync_GenDualFlatBufVerifyCb(void *pCallbackTag,
115*78ee8d1cSJulian Grajkowski 			       CpaStatus status,
116*78ee8d1cSJulian Grajkowski 			       void *pOpdata,
117*78ee8d1cSJulian Grajkowski 			       CpaBoolean opResult,
118*78ee8d1cSJulian Grajkowski 			       CpaFlatBuffer *pOut0,
119*78ee8d1cSJulian Grajkowski 			       CpaFlatBuffer *pOut1)
120*78ee8d1cSJulian Grajkowski {
121*78ee8d1cSJulian Grajkowski 	LacSync_GenVerifyWakeupSyncCaller(pCallbackTag, status, opResult);
122*78ee8d1cSJulian Grajkowski }
123