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 icp_sal_poll.h 6*78ee8d1cSJulian Grajkowski * 7*78ee8d1cSJulian Grajkowski * @defgroup SalPoll 8*78ee8d1cSJulian Grajkowski * 9*78ee8d1cSJulian Grajkowski * @ingroup SalPoll 10*78ee8d1cSJulian Grajkowski * 11*78ee8d1cSJulian Grajkowski * @description 12*78ee8d1cSJulian Grajkowski * Polling APIs for instance polling. 13*78ee8d1cSJulian Grajkowski * These functions retrieve requests on appropriate response rings and 14*78ee8d1cSJulian Grajkowski * dispatch the associated callbacks. Callbacks are called in the 15*78ee8d1cSJulian Grajkowski * context of the polling function itself. 16*78ee8d1cSJulian Grajkowski * 17*78ee8d1cSJulian Grajkowski * 18*78ee8d1cSJulian Grajkowski ***************************************************************************/ 19*78ee8d1cSJulian Grajkowski 20*78ee8d1cSJulian Grajkowski #ifndef ICP_SAL_POLL_H 21*78ee8d1cSJulian Grajkowski #define ICP_SAL_POLL_H 22*78ee8d1cSJulian Grajkowski 23*78ee8d1cSJulian Grajkowski /************************************************************************* 24*78ee8d1cSJulian Grajkowski * @ingroup SalPoll 25*78ee8d1cSJulian Grajkowski * @description 26*78ee8d1cSJulian Grajkowski * Poll a Cy logical instance to retrieve requests that are on the 27*78ee8d1cSJulian Grajkowski * response rings associated with that instance and dispatch the 28*78ee8d1cSJulian Grajkowski * associated callbacks. 29*78ee8d1cSJulian Grajkowski * 30*78ee8d1cSJulian Grajkowski * @context 31*78ee8d1cSJulian Grajkowski * This functions is called from both the user and kernel context 32*78ee8d1cSJulian Grajkowski * 33*78ee8d1cSJulian Grajkowski * @assumptions 34*78ee8d1cSJulian Grajkowski * None 35*78ee8d1cSJulian Grajkowski * @sideEffects 36*78ee8d1cSJulian Grajkowski * None 37*78ee8d1cSJulian Grajkowski * @reentrant 38*78ee8d1cSJulian Grajkowski * No 39*78ee8d1cSJulian Grajkowski * @threadSafe 40*78ee8d1cSJulian Grajkowski * Yes 41*78ee8d1cSJulian Grajkowski * 42*78ee8d1cSJulian Grajkowski * @param[in] instanceHandle Instance handle. 43*78ee8d1cSJulian Grajkowski * @param[in] response_quota The maximum number of messages that 44*78ee8d1cSJulian Grajkowski * will be read in one polling. Setting 45*78ee8d1cSJulian Grajkowski * the response quota to zero means that 46*78ee8d1cSJulian Grajkowski * all messages on the ring will be read. 47*78ee8d1cSJulian Grajkowski * 48*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_SUCCESS Successfully polled a ring with data 49*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_RETRY There are no responses on the rings 50*78ee8d1cSJulian Grajkowski * associated with this instance 51*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_FAIL Indicates a failure 52*78ee8d1cSJulian Grajkowski *************************************************************************/ 53*78ee8d1cSJulian Grajkowski CpaStatus icp_sal_CyPollInstance(CpaInstanceHandle instanceHandle, 54*78ee8d1cSJulian Grajkowski Cpa32U response_quota); 55*78ee8d1cSJulian Grajkowski 56*78ee8d1cSJulian Grajkowski /************************************************************************* 57*78ee8d1cSJulian Grajkowski * @ingroup SalPoll 58*78ee8d1cSJulian Grajkowski * @description 59*78ee8d1cSJulian Grajkowski * Poll a Sym Cy ring to retrieve requests that are on the 60*78ee8d1cSJulian Grajkowski * response rings associated with that instance and dispatch the 61*78ee8d1cSJulian Grajkowski * associated callbacks. 62*78ee8d1cSJulian Grajkowski * 63*78ee8d1cSJulian Grajkowski * @context 64*78ee8d1cSJulian Grajkowski * This functions is called from both the user and kernel context 65*78ee8d1cSJulian Grajkowski * 66*78ee8d1cSJulian Grajkowski * @assumptions 67*78ee8d1cSJulian Grajkowski * None 68*78ee8d1cSJulian Grajkowski * @sideEffects 69*78ee8d1cSJulian Grajkowski * None 70*78ee8d1cSJulian Grajkowski * @reentrant 71*78ee8d1cSJulian Grajkowski * No 72*78ee8d1cSJulian Grajkowski * @threadSafe 73*78ee8d1cSJulian Grajkowski * Yes 74*78ee8d1cSJulian Grajkowski * 75*78ee8d1cSJulian Grajkowski * @param[in] instanceHandle Instance handle. 76*78ee8d1cSJulian Grajkowski * @param[in] response_quota The maximum number of messages that 77*78ee8d1cSJulian Grajkowski * will be read in one polling. Setting 78*78ee8d1cSJulian Grajkowski * the response quota to zero means that 79*78ee8d1cSJulian Grajkowski * all messages on the ring will be read. 80*78ee8d1cSJulian Grajkowski * 81*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_SUCCESS Successfully polled a ring with data 82*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_RETRY There are no responses on the rings 83*78ee8d1cSJulian Grajkowski * associated with this instance 84*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_FAIL Indicates a failure 85*78ee8d1cSJulian Grajkowski *************************************************************************/ 86*78ee8d1cSJulian Grajkowski CpaStatus icp_sal_CyPollSymRing(CpaInstanceHandle instanceHandle, 87*78ee8d1cSJulian Grajkowski Cpa32U response_quota); 88*78ee8d1cSJulian Grajkowski 89*78ee8d1cSJulian Grajkowski /************************************************************************* 90*78ee8d1cSJulian Grajkowski * @ingroup SalPoll 91*78ee8d1cSJulian Grajkowski * @description 92*78ee8d1cSJulian Grajkowski * Poll an Asym Cy ring to retrieve requests that are on the 93*78ee8d1cSJulian Grajkowski * response rings associated with that instance and dispatch the 94*78ee8d1cSJulian Grajkowski * associated callbacks. 95*78ee8d1cSJulian Grajkowski * 96*78ee8d1cSJulian Grajkowski * @context 97*78ee8d1cSJulian Grajkowski * This functions is called from both the user and kernel context 98*78ee8d1cSJulian Grajkowski * 99*78ee8d1cSJulian Grajkowski * @assumptions 100*78ee8d1cSJulian Grajkowski * None 101*78ee8d1cSJulian Grajkowski * @sideEffects 102*78ee8d1cSJulian Grajkowski * None 103*78ee8d1cSJulian Grajkowski * @reentrant 104*78ee8d1cSJulian Grajkowski * No 105*78ee8d1cSJulian Grajkowski * @threadSafe 106*78ee8d1cSJulian Grajkowski * Yes 107*78ee8d1cSJulian Grajkowski * 108*78ee8d1cSJulian Grajkowski * @param[in] instanceHandle Instance handle. 109*78ee8d1cSJulian Grajkowski * @param[in] response_quota The maximum number of messages that 110*78ee8d1cSJulian Grajkowski * will be read in one polling. Setting 111*78ee8d1cSJulian Grajkowski * the response quota to zero means that 112*78ee8d1cSJulian Grajkowski * all messages on the ring will be read. 113*78ee8d1cSJulian Grajkowski * 114*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_SUCCESS Successfully polled a ring with data 115*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_RETRY There are no responses on the rings 116*78ee8d1cSJulian Grajkowski * associated with this instance 117*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_FAIL Indicates a failure 118*78ee8d1cSJulian Grajkowski *************************************************************************/ 119*78ee8d1cSJulian Grajkowski CpaStatus icp_sal_CyPollAsymRing(CpaInstanceHandle instanceHandle, 120*78ee8d1cSJulian Grajkowski Cpa32U response_quota); 121*78ee8d1cSJulian Grajkowski 122*78ee8d1cSJulian Grajkowski /************************************************************************* 123*78ee8d1cSJulian Grajkowski * @ingroup SalPoll 124*78ee8d1cSJulian Grajkowski * @description 125*78ee8d1cSJulian Grajkowski * Poll a Cy NRBG ring to retrieve requests that are on the 126*78ee8d1cSJulian Grajkowski * response rings associated with that instance and dispatch the 127*78ee8d1cSJulian Grajkowski * associated callbacks. 128*78ee8d1cSJulian Grajkowski * 129*78ee8d1cSJulian Grajkowski * @context 130*78ee8d1cSJulian Grajkowski * This functions is called from both the user and kernel context 131*78ee8d1cSJulian Grajkowski * 132*78ee8d1cSJulian Grajkowski * @assumptions 133*78ee8d1cSJulian Grajkowski * None 134*78ee8d1cSJulian Grajkowski * @sideEffects 135*78ee8d1cSJulian Grajkowski * None 136*78ee8d1cSJulian Grajkowski * @reentrant 137*78ee8d1cSJulian Grajkowski * No 138*78ee8d1cSJulian Grajkowski * @threadSafe 139*78ee8d1cSJulian Grajkowski * Yes 140*78ee8d1cSJulian Grajkowski * 141*78ee8d1cSJulian Grajkowski * @param[in] instanceHandle Instance handle. 142*78ee8d1cSJulian Grajkowski * @param[in] response_quota The maximum number of messages that 143*78ee8d1cSJulian Grajkowski * will be read in one polling. Setting 144*78ee8d1cSJulian Grajkowski * the response quota to zero means that 145*78ee8d1cSJulian Grajkowski * all messages on the ring will be read. 146*78ee8d1cSJulian Grajkowski * 147*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_SUCCESS Successfully polled a ring with data 148*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_RETRY There are no responses on the rings 149*78ee8d1cSJulian Grajkowski * associated with this instance 150*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_FAIL Indicates a failure 151*78ee8d1cSJulian Grajkowski *************************************************************************/ 152*78ee8d1cSJulian Grajkowski CpaStatus icp_sal_CyPollNRBGRing(CpaInstanceHandle instanceHandle, 153*78ee8d1cSJulian Grajkowski Cpa32U response_quota); 154*78ee8d1cSJulian Grajkowski 155*78ee8d1cSJulian Grajkowski /************************************************************************* 156*78ee8d1cSJulian Grajkowski * @ingroup SalPoll 157*78ee8d1cSJulian Grajkowski * @description 158*78ee8d1cSJulian Grajkowski * Poll the high priority symmetric response ring associated with a Cy 159*78ee8d1cSJulian Grajkowski * logical instance to retrieve requests and dispatch the 160*78ee8d1cSJulian Grajkowski * associated callbacks. 161*78ee8d1cSJulian Grajkowski * 162*78ee8d1cSJulian Grajkowski * This API is recommended for data plane applications, in which the 163*78ee8d1cSJulian Grajkowski * cost of offload - that is, the cycles consumed by the driver in 164*78ee8d1cSJulian Grajkowski * sending requests to the hardware, and processing responses - needs 165*78ee8d1cSJulian Grajkowski * to be minimized. In particular, use of this API is recommended 166*78ee8d1cSJulian Grajkowski * if the following constraints are acceptable to your application: 167*78ee8d1cSJulian Grajkowski * 168*78ee8d1cSJulian Grajkowski * - Thread safety is not guaranteed. Each software thread should 169*78ee8d1cSJulian Grajkowski * have access to its own unique instance (CpaInstanceHandle) to 170*78ee8d1cSJulian Grajkowski * avoid contention. 171*78ee8d1cSJulian Grajkowski * - The "default" instance (@ref CPA_INSTANCE_HANDLE_SINGLE) is not 172*78ee8d1cSJulian Grajkowski * supported on this API. The specific handle should be obtained 173*78ee8d1cSJulian Grajkowski * using the instance discovery functions (@ref cpaCyGetNumInstances, 174*78ee8d1cSJulian Grajkowski * @ref cpaCyGetInstances). 175*78ee8d1cSJulian Grajkowski * 176*78ee8d1cSJulian Grajkowski * This polling function should be used with the functions described 177*78ee8d1cSJulian Grajkowski * in cpa_cy_sym_dp.h 178*78ee8d1cSJulian Grajkowski * 179*78ee8d1cSJulian Grajkowski * @context 180*78ee8d1cSJulian Grajkowski * This functions is called from both the user and kernel context 181*78ee8d1cSJulian Grajkowski * 182*78ee8d1cSJulian Grajkowski * @assumptions 183*78ee8d1cSJulian Grajkowski * None 184*78ee8d1cSJulian Grajkowski * @sideEffects 185*78ee8d1cSJulian Grajkowski * None 186*78ee8d1cSJulian Grajkowski * @reentrant 187*78ee8d1cSJulian Grajkowski * No 188*78ee8d1cSJulian Grajkowski * @threadSafe 189*78ee8d1cSJulian Grajkowski * No 190*78ee8d1cSJulian Grajkowski * 191*78ee8d1cSJulian Grajkowski * @param[in] instanceHandle Instance handle. 192*78ee8d1cSJulian Grajkowski * @param[in] response_quota The maximum number of messages that 193*78ee8d1cSJulian Grajkowski * will be read in one polling. Setting 194*78ee8d1cSJulian Grajkowski * the response quota to zero means that 195*78ee8d1cSJulian Grajkowski * all messages on the ring will be read. 196*78ee8d1cSJulian Grajkowski * 197*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_SUCCESS Successfully polled a ring with data 198*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_RETRY There are no responses on the ring 199*78ee8d1cSJulian Grajkowski * associated with this instance 200*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_FAIL Indicates a failure 201*78ee8d1cSJulian Grajkowski *************************************************************************/ 202*78ee8d1cSJulian Grajkowski CpaStatus icp_sal_CyPollDpInstance(const CpaInstanceHandle instanceHandle, 203*78ee8d1cSJulian Grajkowski const Cpa32U response_quota); 204*78ee8d1cSJulian Grajkowski 205*78ee8d1cSJulian Grajkowski /************************************************************************* 206*78ee8d1cSJulian Grajkowski * @ingroup SalPoll 207*78ee8d1cSJulian Grajkowski * @description 208*78ee8d1cSJulian Grajkowski * Poll a Dc logical instance to retrieve requests that are on the 209*78ee8d1cSJulian Grajkowski * response ring associated with that instance and dispatch the 210*78ee8d1cSJulian Grajkowski * associated callbacks. 211*78ee8d1cSJulian Grajkowski * 212*78ee8d1cSJulian Grajkowski * @context 213*78ee8d1cSJulian Grajkowski * This function is called from both the user and kernel context 214*78ee8d1cSJulian Grajkowski * 215*78ee8d1cSJulian Grajkowski * @assumptions 216*78ee8d1cSJulian Grajkowski * None 217*78ee8d1cSJulian Grajkowski * @sideEffects 218*78ee8d1cSJulian Grajkowski * None 219*78ee8d1cSJulian Grajkowski * @reentrant 220*78ee8d1cSJulian Grajkowski * No 221*78ee8d1cSJulian Grajkowski * @threadSafe 222*78ee8d1cSJulian Grajkowski * Yes 223*78ee8d1cSJulian Grajkowski * 224*78ee8d1cSJulian Grajkowski * @param[in] instanceHandle Instance handle. 225*78ee8d1cSJulian Grajkowski * @param[in] response_quota The maximum number of messages that 226*78ee8d1cSJulian Grajkowski * will be read in one polling. Setting 227*78ee8d1cSJulian Grajkowski * the response quota to zero means that 228*78ee8d1cSJulian Grajkowski * all messages on the ring will be read. 229*78ee8d1cSJulian Grajkowski * 230*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_SUCCESS Successfully polled a ring with data 231*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_RETRY There are no responses on the ring 232*78ee8d1cSJulian Grajkowski * associated with this instance 233*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_FAIL Indicates a failure 234*78ee8d1cSJulian Grajkowski *************************************************************************/ 235*78ee8d1cSJulian Grajkowski CpaStatus icp_sal_DcPollInstance(CpaInstanceHandle instanceHandle, 236*78ee8d1cSJulian Grajkowski Cpa32U response_quota); 237*78ee8d1cSJulian Grajkowski 238*78ee8d1cSJulian Grajkowski /************************************************************************* 239*78ee8d1cSJulian Grajkowski * @ingroup SalPoll 240*78ee8d1cSJulian Grajkowski * @description 241*78ee8d1cSJulian Grajkowski * Poll the response ring associated with a Dc logical instance to 242*78ee8d1cSJulian Grajkowski * retrieve requests and dispatch the associated callbacks. 243*78ee8d1cSJulian Grajkowski * 244*78ee8d1cSJulian Grajkowski * This API is recommended for data plane applications, in which the 245*78ee8d1cSJulian Grajkowski * cost of offload - that is, the cycles consumed by the driver in 246*78ee8d1cSJulian Grajkowski * sending requests to the hardware, and processing responses - needs 247*78ee8d1cSJulian Grajkowski * to be minimized. In particular, use of this API is recommended 248*78ee8d1cSJulian Grajkowski * if the following constraints are acceptable to your application: 249*78ee8d1cSJulian Grajkowski * 250*78ee8d1cSJulian Grajkowski * - Thread safety is not guaranteed. Each software thread should 251*78ee8d1cSJulian Grajkowski * have access to its own unique instance (CpaInstanceHandle) to 252*78ee8d1cSJulian Grajkowski * avoid contention. 253*78ee8d1cSJulian Grajkowski * - The "default" instance (@ref CPA_INSTANCE_HANDLE_SINGLE) is not 254*78ee8d1cSJulian Grajkowski * supported on this API. The specific handle should be obtained 255*78ee8d1cSJulian Grajkowski * using the instance discovery functions (@ref cpaDcGetNumInstances, 256*78ee8d1cSJulian Grajkowski * @ref cpaDcGetInstances). 257*78ee8d1cSJulian Grajkowski * 258*78ee8d1cSJulian Grajkowski * This polling function should be used with the functions described 259*78ee8d1cSJulian Grajkowski * in cpa_dc_dp.h 260*78ee8d1cSJulian Grajkowski 261*78ee8d1cSJulian Grajkowski * 262*78ee8d1cSJulian Grajkowski * @context 263*78ee8d1cSJulian Grajkowski * This functions is called from both the user and kernel context 264*78ee8d1cSJulian Grajkowski * 265*78ee8d1cSJulian Grajkowski * @assumptions 266*78ee8d1cSJulian Grajkowski * None 267*78ee8d1cSJulian Grajkowski * @sideEffects 268*78ee8d1cSJulian Grajkowski * None 269*78ee8d1cSJulian Grajkowski * @reentrant 270*78ee8d1cSJulian Grajkowski * No 271*78ee8d1cSJulian Grajkowski * @threadSafe 272*78ee8d1cSJulian Grajkowski * No 273*78ee8d1cSJulian Grajkowski * 274*78ee8d1cSJulian Grajkowski * @param[in] instanceHandle Instance handle. 275*78ee8d1cSJulian Grajkowski * @param[in] response_quota The maximum number of messages that 276*78ee8d1cSJulian Grajkowski * will be read in one polling. Setting 277*78ee8d1cSJulian Grajkowski * the response quota to zero means that 278*78ee8d1cSJulian Grajkowski * all messages on the ring will be read. 279*78ee8d1cSJulian Grajkowski * 280*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_SUCCESS Successfully polled a ring with data 281*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_RETRY There are no responses on the ring 282*78ee8d1cSJulian Grajkowski * associated with this instance 283*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_FAIL Indicates a failure 284*78ee8d1cSJulian Grajkowski *************************************************************************/ 285*78ee8d1cSJulian Grajkowski CpaStatus icp_sal_DcPollDpInstance(CpaInstanceHandle dcInstance, 286*78ee8d1cSJulian Grajkowski Cpa32U responseQuota); 287*78ee8d1cSJulian Grajkowski 288*78ee8d1cSJulian Grajkowski /************************************************************************* 289*78ee8d1cSJulian Grajkowski * @ingroup SalPoll 290*78ee8d1cSJulian Grajkowski * @description 291*78ee8d1cSJulian Grajkowski * This function polls the rings on the given bank to determine 292*78ee8d1cSJulian Grajkowski * if any of the rings contain messages to be read. The 293*78ee8d1cSJulian Grajkowski * response quota is per ring. 294*78ee8d1cSJulian Grajkowski * 295*78ee8d1cSJulian Grajkowski * @context 296*78ee8d1cSJulian Grajkowski * This functions is called from both the user and kernel context 297*78ee8d1cSJulian Grajkowski * 298*78ee8d1cSJulian Grajkowski * @assumptions 299*78ee8d1cSJulian Grajkowski * None 300*78ee8d1cSJulian Grajkowski * @sideEffects 301*78ee8d1cSJulian Grajkowski * None 302*78ee8d1cSJulian Grajkowski * @reentrant 303*78ee8d1cSJulian Grajkowski * No 304*78ee8d1cSJulian Grajkowski * @threadSafe 305*78ee8d1cSJulian Grajkowski * Yes 306*78ee8d1cSJulian Grajkowski * 307*78ee8d1cSJulian Grajkowski * @param[in] accelId Acceleration device Id, also known as 308*78ee8d1cSJulian Grajkowski * packageId. This can be obtained using 309*78ee8d1cSJulian Grajkowski * instance info functions ( 310*78ee8d1cSJulian Grajkowski * @ref cpaCyInstanceGetInfo2 311*78ee8d1cSJulian Grajkowski * and @ref cpaDcInstanceGetInfo2) 312*78ee8d1cSJulian Grajkowski * 313*78ee8d1cSJulian Grajkowski * @param[in] bank_number Bank number 314*78ee8d1cSJulian Grajkowski * 315*78ee8d1cSJulian Grajkowski * @param[in] response_quota The maximum number of messages that 316*78ee8d1cSJulian Grajkowski * will be read in one polling. Setting 317*78ee8d1cSJulian Grajkowski * the response quota to zero means that 318*78ee8d1cSJulian Grajkowski * all messages on the ring will be read. 319*78ee8d1cSJulian Grajkowski * 320*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_SUCCESS Successfully polled a ring with data 321*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_RETRY There is no data on any ring on the bank 322*78ee8d1cSJulian Grajkowski * or the bank is already being polled 323*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_FAIL Indicates a failure 324*78ee8d1cSJulian Grajkowski *************************************************************************/ 325*78ee8d1cSJulian Grajkowski CpaStatus 326*78ee8d1cSJulian Grajkowski icp_sal_pollBank(Cpa32U accelId, Cpa32U bank_number, Cpa32U response_quota); 327*78ee8d1cSJulian Grajkowski 328*78ee8d1cSJulian Grajkowski /************************************************************************* 329*78ee8d1cSJulian Grajkowski * @ingroup SalPoll 330*78ee8d1cSJulian Grajkowski * @description 331*78ee8d1cSJulian Grajkowski * This function polls the rings on all banks to determine 332*78ee8d1cSJulian Grajkowski * if any of the rings contain messages to be read. The 333*78ee8d1cSJulian Grajkowski * response quota is per ring. 334*78ee8d1cSJulian Grajkowski * 335*78ee8d1cSJulian Grajkowski * @context 336*78ee8d1cSJulian Grajkowski * This functions is called from both the user and kernel context 337*78ee8d1cSJulian Grajkowski * 338*78ee8d1cSJulian Grajkowski * @assumptions 339*78ee8d1cSJulian Grajkowski * None 340*78ee8d1cSJulian Grajkowski * @sideEffects 341*78ee8d1cSJulian Grajkowski * None 342*78ee8d1cSJulian Grajkowski * @reentrant 343*78ee8d1cSJulian Grajkowski * No 344*78ee8d1cSJulian Grajkowski * @threadSafe 345*78ee8d1cSJulian Grajkowski * Yes 346*78ee8d1cSJulian Grajkowski * 347*78ee8d1cSJulian Grajkowski * @param[in] accelId Acceleration device Id, also known as 348*78ee8d1cSJulian Grajkowski * packageId. This can be obtained using 349*78ee8d1cSJulian Grajkowski * instance info functions ( 350*78ee8d1cSJulian Grajkowski * @ref cpaCyInstanceGetInfo2 351*78ee8d1cSJulian Grajkowski * and @ref cpaDcInstanceGetInfo2) 352*78ee8d1cSJulian Grajkowski * 353*78ee8d1cSJulian Grajkowski * @param[in] response_quota The maximum number of messages that 354*78ee8d1cSJulian Grajkowski * will be read in one polling. Setting 355*78ee8d1cSJulian Grajkowski * the response quota to zero means that 356*78ee8d1cSJulian Grajkowski * all messages on the ring will be read. 357*78ee8d1cSJulian Grajkowski * 358*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_SUCCESS Successfully polled a ring with data 359*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_RETRY There is no data on any ring on any bank 360*78ee8d1cSJulian Grajkowski * or the banks are already being polled 361*78ee8d1cSJulian Grajkowski * @retval CPA_STATUS_FAIL Indicates a failure 362*78ee8d1cSJulian Grajkowski *************************************************************************/ 363*78ee8d1cSJulian Grajkowski CpaStatus icp_sal_pollAllBanks(Cpa32U accelId, Cpa32U response_quota); 364*78ee8d1cSJulian Grajkowski 365*78ee8d1cSJulian Grajkowski #endif 366