• Home
  • Raw
  • Download

Lines Matching refs:op_reply_q

436 mpi3mr_get_reply_desc(struct op_reply_qinfo *op_reply_q, u32 reply_ci)  in mpi3mr_get_reply_desc()  argument
439 struct segments *segments = op_reply_q->q_segments; in mpi3mr_get_reply_desc()
443 segments[reply_ci / op_reply_q->segment_qd].segment; in mpi3mr_get_reply_desc()
445 (reply_ci % op_reply_q->segment_qd); in mpi3mr_get_reply_desc()
452 struct op_reply_qinfo *op_reply_q = intr_info->op_reply_q; in mpi3mr_process_op_reply_q() local
461 reply_qidx = op_reply_q->qid - 1; in mpi3mr_process_op_reply_q()
463 if (!atomic_add_unless(&op_reply_q->in_use, 1, 1)) in mpi3mr_process_op_reply_q()
466 exp_phase = op_reply_q->ephase; in mpi3mr_process_op_reply_q()
467 reply_ci = op_reply_q->ci; in mpi3mr_process_op_reply_q()
469 reply_desc = mpi3mr_get_reply_desc(op_reply_q, reply_ci); in mpi3mr_process_op_reply_q()
472 atomic_dec(&op_reply_q->in_use); in mpi3mr_process_op_reply_q()
483 atomic_dec(&op_reply_q->pend_ios); in mpi3mr_process_op_reply_q()
488 if (++reply_ci == op_reply_q->num_replies) { in mpi3mr_process_op_reply_q()
493 reply_desc = mpi3mr_get_reply_desc(op_reply_q, reply_ci); in mpi3mr_process_op_reply_q()
503 intr_info->op_reply_q->enable_irq_poll = true; in mpi3mr_process_op_reply_q()
511 op_reply_q->ci = reply_ci; in mpi3mr_process_op_reply_q()
512 op_reply_q->ephase = exp_phase; in mpi3mr_process_op_reply_q()
514 atomic_dec(&op_reply_q->in_use); in mpi3mr_process_op_reply_q()
537 if (intr_info->op_reply_q) in mpi3mr_isr_primary()
565 if (!intr_info->op_reply_q) in mpi3mr_isr()
568 if (!intr_info->op_reply_q->enable_irq_poll || in mpi3mr_isr()
569 !atomic_read(&intr_info->op_reply_q->pend_ios)) in mpi3mr_isr()
594 if (!intr_info || !intr_info->op_reply_q) in mpi3mr_isr_poll()
607 if (intr_info->op_reply_q) in mpi3mr_isr_poll()
613 } while (atomic_read(&intr_info->op_reply_q->pend_ios) && in mpi3mr_isr_poll()
616 intr_info->op_reply_q->enable_irq_poll = false; in mpi3mr_isr_poll()
639 intr_info->op_reply_q = NULL; in mpi3mr_request_irq()
1411 mrioc->intr_info[midx].op_reply_q = NULL; in mpi3mr_delete_op_reply_q()
1434 struct op_reply_qinfo *op_reply_q = mrioc->op_reply_qinfo + qidx; in mpi3mr_alloc_op_reply_q_segments() local
1440 op_reply_q->segment_qd = in mpi3mr_alloc_op_reply_q_segments()
1445 op_reply_q->q_segment_list = dma_alloc_coherent(&mrioc->pdev->dev, in mpi3mr_alloc_op_reply_q_segments()
1446 MPI3MR_MAX_SEG_LIST_SIZE, &op_reply_q->q_segment_list_dma, in mpi3mr_alloc_op_reply_q_segments()
1448 if (!op_reply_q->q_segment_list) in mpi3mr_alloc_op_reply_q_segments()
1450 q_segment_list_entry = (u64 *)op_reply_q->q_segment_list; in mpi3mr_alloc_op_reply_q_segments()
1452 op_reply_q->segment_qd = op_reply_q->num_replies; in mpi3mr_alloc_op_reply_q_segments()
1453 size = op_reply_q->num_replies * mrioc->op_reply_desc_sz; in mpi3mr_alloc_op_reply_q_segments()
1456 op_reply_q->num_segments = DIV_ROUND_UP(op_reply_q->num_replies, in mpi3mr_alloc_op_reply_q_segments()
1457 op_reply_q->segment_qd); in mpi3mr_alloc_op_reply_q_segments()
1459 op_reply_q->q_segments = kcalloc(op_reply_q->num_segments, in mpi3mr_alloc_op_reply_q_segments()
1461 if (!op_reply_q->q_segments) in mpi3mr_alloc_op_reply_q_segments()
1464 segments = op_reply_q->q_segments; in mpi3mr_alloc_op_reply_q_segments()
1465 for (i = 0; i < op_reply_q->num_segments; i++) { in mpi3mr_alloc_op_reply_q_segments()
1550 struct op_reply_qinfo *op_reply_q = mrioc->op_reply_qinfo + qidx; in mpi3mr_create_op_reply_q() local
1554 reply_qid = op_reply_q->qid; in mpi3mr_create_op_reply_q()
1567 op_reply_q->num_replies = MPI3MR_OP_REP_Q_QD; in mpi3mr_create_op_reply_q()
1569 op_reply_q->num_replies = MPI3MR_OP_REP_Q_QD4K; in mpi3mr_create_op_reply_q()
1570 op_reply_q->ci = 0; in mpi3mr_create_op_reply_q()
1571 op_reply_q->ephase = 1; in mpi3mr_create_op_reply_q()
1572 atomic_set(&op_reply_q->pend_ios, 0); in mpi3mr_create_op_reply_q()
1573 atomic_set(&op_reply_q->in_use, 0); in mpi3mr_create_op_reply_q()
1574 op_reply_q->enable_irq_poll = false; in mpi3mr_create_op_reply_q()
1576 if (!op_reply_q->q_segments) { in mpi3mr_create_op_reply_q()
1603 op_reply_q->q_segment_list_dma); in mpi3mr_create_op_reply_q()
1606 op_reply_q->q_segments[0].segment_dma); in mpi3mr_create_op_reply_q()
1608 create_req.size = cpu_to_le16(op_reply_q->num_replies); in mpi3mr_create_op_reply_q()
1638 op_reply_q->qid = reply_qid; in mpi3mr_create_op_reply_q()
1639 mrioc->intr_info[midx].op_reply_q = op_reply_q; in mpi3mr_create_op_reply_q()
3457 struct op_reply_qinfo *op_reply_q = mrioc->op_reply_qinfo + qidx; in mpi3mr_memset_op_reply_q_buffers() local
3461 if (!op_reply_q->q_segments) in mpi3mr_memset_op_reply_q_buffers()
3464 size = op_reply_q->segment_qd * mrioc->op_reply_desc_sz; in mpi3mr_memset_op_reply_q_buffers()
3465 segments = op_reply_q->q_segments; in mpi3mr_memset_op_reply_q_buffers()
3466 for (i = 0; i < op_reply_q->num_segments; i++) in mpi3mr_memset_op_reply_q_buffers()
3593 intr_info->op_reply_q = NULL; in mpi3mr_free_mem()