Lines Matching refs:eq

172 	req.log2_throttle_limit = queue->eq.log2_throttle_limit;  in mana_gd_create_hw_eq()
173 req.eq_pci_msix_index = queue->eq.msix_index; in mana_gd_create_hw_eq()
183 queue->eq.disable_needed = true; in mana_gd_create_hw_eq()
229 e.eq.id = qid; in mana_gd_ring_doorbell()
230 e.eq.tail_ptr = tail_ptr; in mana_gd_ring_doorbell()
231 e.eq.arm = num_req; in mana_gd_ring_doorbell()
288 static void mana_gd_process_eqe(struct gdma_queue *eq) in mana_gd_process_eqe() argument
290 u32 head = eq->head % (eq->queue_size / GDMA_EQE_SIZE); in mana_gd_process_eqe()
291 struct gdma_context *gc = eq->gdma_dev->gdma_context; in mana_gd_process_eqe()
292 struct gdma_eqe *eq_eqe_ptr = eq->queue_mem_ptr; in mana_gd_process_eqe()
320 gc->test_event_eq_id = eq->id; in mana_gd_process_eqe()
327 if (!eq->eq.callback) in mana_gd_process_eqe()
332 eq->eq.callback(eq->eq.context, eq, &event); in mana_gd_process_eqe()
345 struct gdma_queue *eq = arg; in mana_gd_process_eq_events() local
351 gc = eq->gdma_dev->gdma_context; in mana_gd_process_eq_events()
353 num_eqe = eq->queue_size / GDMA_EQE_SIZE; in mana_gd_process_eq_events()
354 eq_eqe_ptr = eq->queue_mem_ptr; in mana_gd_process_eq_events()
358 eqe = &eq_eqe_ptr[eq->head % num_eqe]; in mana_gd_process_eq_events()
362 old_bits = (eq->head / num_eqe - 1) & GDMA_EQE_OWNER_MASK; in mana_gd_process_eq_events()
367 new_bits = (eq->head / num_eqe) & GDMA_EQE_OWNER_MASK; in mana_gd_process_eq_events()
369 dev_err(gc->dev, "EQ %d: overflow detected\n", eq->id); in mana_gd_process_eq_events()
373 mana_gd_process_eqe(eq); in mana_gd_process_eq_events()
375 eq->head++; in mana_gd_process_eq_events()
378 head = eq->head % (num_eqe << GDMA_EQE_OWNER_BITS); in mana_gd_process_eq_events()
380 mana_gd_ring_doorbell(gc, eq->gdma_dev->doorbell, eq->type, eq->id, in mana_gd_process_eq_events()
407 queue->eq.msix_index = msi_index; in mana_gd_register_irq()
443 msix_index = queue->eq.msix_index; in mana_gd_deregiser_irq()
455 queue->eq.msix_index = INVALID_PCI_MSIX_INDEX; in mana_gd_deregiser_irq()
458 int mana_gd_test_eq(struct gdma_context *gc, struct gdma_queue *eq) in mana_gd_test_eq() argument
473 req.hdr.dev_id = eq->gdma_dev->dev_id; in mana_gd_test_eq()
474 req.queue_index = eq->id; in mana_gd_test_eq()
490 dev_err(dev, "test_eq timed out on queue %d\n", eq->id); in mana_gd_test_eq()
494 if (eq->id != gc->test_event_eq_id) { in mana_gd_test_eq()
496 gc->test_event_eq_id, eq->id); in mana_gd_test_eq()
519 if (queue->eq.disable_needed) in mana_gd_destroy_eq()
532 queue->eq.msix_index = INVALID_PCI_MSIX_INDEX; in mana_gd_create_eq()
536 if (spec->eq.log2_throttle_limit > log2_num_entries) { in mana_gd_create_eq()
538 spec->eq.log2_throttle_limit, log2_num_entries); in mana_gd_create_eq()
548 queue->eq.callback = spec->eq.callback; in mana_gd_create_eq()
549 queue->eq.context = spec->eq.context; in mana_gd_create_eq()
551 queue->eq.log2_throttle_limit = spec->eq.log2_throttle_limit ?: 1; in mana_gd_create_eq()
811 mana_gd_destroy_eq(gc, queue->eq.disable_needed, queue); in mana_gd_destroy_queue()