| 3179 | } |
| 3180 | |
| 3181 | static void |
| 3182 | dequeue_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[ |
nothing calls this directly
no test coverage detected