Lines Matching defs:aeq

210  * irdma_process_aeq - handle aeq events
216 struct irdma_aeq *aeq = &rf->aeq;
217 struct irdma_sc_aeq *sc_aeq = &aeq->sc_aeq;
443 * irdma_dpc - tasklet for aeq and ceq 0
528 * irdma_irq_handler - interrupt handler for aeq and ceq0
564 * The function is called when destroying aeq/ceq
612 struct irdma_aeq *aeq = &rf->aeq;
613 u32 pg_cnt = DIV_ROUND_UP(aeq->mem.size, PAGE_SIZE);
614 dma_addr_t *pg_arr = (dma_addr_t *)aeq->palloc.level1.addr;
617 irdma_free_pble(rf->pble_rsrc, &aeq->palloc);
618 vfree(aeq->mem.va);
622 * irdma_destroy_aeq - destroy aeq
625 * Issue a destroy aeq request and
626 * free the resources associated with the aeq
632 struct irdma_aeq *aeq = &rf->aeq;
642 aeq->sc_aeq.size = 0;
643 status = irdma_cqp_aeq_cmd(dev, &aeq->sc_aeq, IRDMA_OP_AEQ_DESTROY);
648 if (aeq->virtual_map) {
651 dma_free_coherent(dev->hw->device, aeq->mem.size, aeq->mem.va,
652 aeq->mem.pa);
653 aeq->mem.va = NULL;
1151 * irdma_cfg_aeq_vector - set up the msix vector for aeq
1170 ibdev_dbg(&rf->iwdev->ibdev, "ERR: aeq irq config fail\n");
1340 struct irdma_aeq *aeq = &rf->aeq;
1348 aeq->mem.size = sizeof(struct irdma_sc_aeqe) * size;
1349 aeq->mem.va = vzalloc(aeq->mem.size);
1351 if (!aeq->mem.va)
1354 pg_cnt = DIV_ROUND_UP(aeq->mem.size, PAGE_SIZE);
1355 status = irdma_get_pble(rf->pble_rsrc, &aeq->palloc, pg_cnt, true);
1357 vfree(aeq->mem.va);
1361 pg_arr = (dma_addr_t *)aeq->palloc.level1.addr;
1362 status = irdma_map_vm_page_list(&rf->hw, aeq->mem.va, pg_arr, pg_cnt);
1364 irdma_free_pble(rf->pble_rsrc, &aeq->palloc);
1365 vfree(aeq->mem.va);
1376 * Return 0, if the aeq and the resources associated with it
1383 struct irdma_aeq *aeq = &rf->aeq;
1393 aeq->mem.size = ALIGN(sizeof(struct irdma_sc_aeqe) * aeq_size,
1395 aeq->mem.va = dma_alloc_coherent(dev->hw->device, aeq->mem.size,
1396 &aeq->mem.pa,
1398 if (aeq->mem.va)
1401 /* physically mapped aeq failed. setup virtual aeq */
1407 aeq->virtual_map = info.virtual_map;
1409 info.first_pm_pbl_idx = aeq->palloc.level1.idx;
1412 info.aeqe_base = aeq->mem.va;
1413 info.aeq_elem_pa = aeq->mem.pa;
1417 status = irdma_sc_aeq_init(&aeq->sc_aeq, &info);
1421 status = irdma_cqp_aeq_cmd(dev, &aeq->sc_aeq, IRDMA_OP_AEQ_CREATE);
1428 if (aeq->virtual_map) {
1431 dma_free_coherent(dev->hw->device, aeq->mem.size, aeq->mem.va,
1432 aeq->mem.pa);
1433 aeq->mem.va = NULL;
1440 * irdma_setup_aeq - set up the device aeq
1443 * Create the aeq and configure its msix interrupt vector