Lines Matching refs:ring

95 	struct adf_etr_ring_data *ring = trans_handle;
97 ICP_CHECK_FOR_NULL_PARAM(ring);
98 adf_remove_ring(ring);
115 * get ring number from a transport handle
120 struct adf_etr_ring_data *ring = trans_handle;
122 ICP_CHECK_FOR_NULL_PARAM(ring);
124 *ringNum = (uint32_t)(ring->ring_number);
139 struct adf_etr_ring_data *ring = trans_handle;
143 ICP_CHECK_FOR_NULL_PARAM(ring);
145 error = adf_send_message(ring, inBuf);
161 struct adf_etr_ring_data *ring = trans_handle;
162 ICP_CHECK_FOR_NULL_PARAM(ring);
169 *numInflightRequests = (*(uint32_t *)ring->inflights);
171 ADF_MAX_INFLIGHTS(ring->ring_size, ring->msg_size);
190 * This function allows the user to poll the response ring. The
191 * ring number to be polled is supplied by the user via the
192 * trans handle for that ring. The trans_hnd is a pointer
193 * to an array of trans handles. This ring is
197 * This function will return RETRY if the ring is empty.
206 struct adf_etr_ring_data *ring = NULL;
213 ring = trans_hnd[i];
214 if (!ring)
216 bank = ring->bank;
218 /* If the ring in question is empty try the next ring.*/
223 num_resp = adf_handle_response(ring, response_quota);
236 * This function allows the user to check the response ring. The
237 * ring number to be polled is supplied by the user via the
238 * trans handle for that ring. The trans_hnd is a pointer
287 * Data plane support function - returns the pointer to next message on the ring
295 struct adf_etr_ring_data *ring = trans_handle;
298 ICP_CHECK_FOR_NULL_PARAM_VOID(ring);
300 /* Check if there is enough space in the ring */
301 flight = atomic_add_return(numberRequests, ring->inflights);
302 if (flight > ADF_MAX_INFLIGHTS(ring->ring_size, ring->msg_size)) {
303 atomic_sub(numberRequests, ring->inflights);
309 *pCurrentQatMsg = (void *)((uintptr_t)ring->base_addr + ring->tail);
314 * Data plane support function - returns the pointer to next message on the ring
321 struct adf_etr_ring_data *ring = trans_handle;
324 ICP_CHECK_FOR_NULL_PARAM_VOID(ring);
327 /* Check if there is enough space in the ring */
328 flight = atomic_add_return(1, ring->inflights);
329 if (flight > ADF_MAX_INFLIGHTS(ring->ring_size, ring->msg_size)) {
330 atomic_dec(ring->inflights);
336 *pCurrentQatMsg = (void *)((uintptr_t)ring->base_addr + ring->tail);
339 ring->tail =
340 adf_modulo(ring->tail + ADF_MSG_SIZE_TO_BYTES(ring->msg_size),
341 ADF_RING_SIZE_MODULO(ring->ring_size));
347 * the pointer to next message on the ring.
352 struct adf_etr_ring_data *ring = trans_handle;
354 ICP_CHECK_FOR_NULL_PARAM_VOID(ring);
358 ring->tail =
359 adf_modulo(ring->tail + ADF_MSG_SIZE_TO_BYTES(ring->msg_size),
360 ADF_RING_SIZE_MODULO(ring->ring_size));
363 *pCurrentQatMsg = (void *)((uintptr_t)ring->base_addr + ring->tail);
373 struct adf_etr_ring_data *ring = trans_handle;
376 ICP_CHECK_FOR_NULL_PARAM_VOID(ring);
377 ICP_CHECK_FOR_NULL_PARAM_VOID(ring->bank);
378 ICP_CHECK_FOR_NULL_PARAM_VOID(ring->bank->accel_dev);
380 csr_ops = GET_CSR_OPS(ring->bank->accel_dev);
384 csr_ops->write_csr_ring_tail(ring->bank->csr_addr,
385 ring->bank->bank_number,
386 ring->ring_number,
387 ring->tail);
388 ring->csr_tail_offset = ring->tail;
399 struct adf_etr_ring_data *ring = trans_handle;
401 ICP_CHECK_FOR_NULL_PARAM(ring);
403 num_resp = adf_handle_response(ring, response_quota);
413 * Data-plane support function - Indicates if there is data on the ring to be
415 * true then it is ok to call icp_adf_updateQueueTail() function on this ring.
420 struct adf_etr_ring_data *ring = trans_handle;
422 if (ring->tail != ring->csr_tail_offset)