MCPcopy Create free account
hub / github.com/F-Stack/f-stack / dequeue_event_callback

Function dequeue_event_callback

dpdk/app/test-bbdev/test_bbdev_perf.c:3181–3337  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3179}
3180
3181static void
3182dequeue_event_callback(uint16_t dev_id,
3183 enum rte_bbdev_event_type event, void *cb_arg,
3184 void *ret_param)
3185{
3186 int ret;
3187 uint16_t i;
3188 uint64_t total_time;
3189 uint16_t deq, burst_sz, num_ops;
3190 uint16_t queue_id = *(uint16_t *) ret_param;
3191 struct rte_bbdev_info info;
3192 double tb_len_bits;
3193 struct thread_params *tp = cb_arg;
3194
3195 /* Find matching thread params using queue_id */
3196 for (i = 0; i < MAX_QUEUES; ++i, ++tp)
3197 if (tp->queue_id == queue_id)
3198 break;
3199
3200 if (i == MAX_QUEUES) {
3201 printf("%s: Queue_id from interrupt details was not found!\n",
3202 __func__);
3203 return;
3204 }
3205
3206 if (unlikely(event != RTE_BBDEV_EVENT_DEQUEUE)) {
3207 __atomic_store_n(&tp->processing_status, TEST_FAILED, __ATOMIC_RELAXED);
3208 printf(
3209 "Dequeue interrupt handler called for incorrect event!\n");
3210 return;
3211 }
3212
3213 burst_sz = __atomic_load_n(&tp->burst_sz, __ATOMIC_RELAXED);
3214 num_ops = tp->op_params->num_to_process;
3215
3216 if (test_vector.op_type == RTE_BBDEV_OP_TURBO_DEC)
3217 deq = rte_bbdev_dequeue_dec_ops(dev_id, queue_id,
3218 &tp->dec_ops[
3219 __atomic_load_n(&tp->nb_dequeued, __ATOMIC_RELAXED)],
3220 burst_sz);
3221 else if (test_vector.op_type == RTE_BBDEV_OP_LDPC_DEC)
3222 deq = rte_bbdev_dequeue_ldpc_dec_ops(dev_id, queue_id,
3223 &tp->dec_ops[
3224 __atomic_load_n(&tp->nb_dequeued, __ATOMIC_RELAXED)],
3225 burst_sz);
3226 else if (test_vector.op_type == RTE_BBDEV_OP_LDPC_ENC)
3227 deq = rte_bbdev_dequeue_ldpc_enc_ops(dev_id, queue_id,
3228 &tp->enc_ops[
3229 __atomic_load_n(&tp->nb_dequeued, __ATOMIC_RELAXED)],
3230 burst_sz);
3231 else if (test_vector.op_type == RTE_BBDEV_OP_FFT)
3232 deq = rte_bbdev_dequeue_fft_ops(dev_id, queue_id,
3233 &tp->fft_ops[
3234 __atomic_load_n(&tp->nb_dequeued, __ATOMIC_RELAXED)],
3235 burst_sz);
3236 else if (test_vector.op_type == RTE_BBDEV_OP_MLDTS)
3237 deq = rte_bbdev_dequeue_mldts_ops(dev_id, queue_id,
3238 &tp->mldts_ops[

Callers

nothing calls this directly

Calls 15

rte_bbdev_info_getFunction · 0.85
validate_fft_opFunction · 0.85
validate_mldts_opFunction · 0.85

Tested by

no test coverage detected