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