Lines Matching refs:op_req_q

41 mpi3mr_check_req_qfull(struct op_req_qinfo *op_req_q)  in mpi3mr_check_req_qfull()  argument
46 pi = op_req_q->pi; in mpi3mr_check_req_qfull()
47 ci = READ_ONCE(op_req_q->ci); in mpi3mr_check_req_qfull()
48 max_entries = op_req_q->num_requests; in mpi3mr_check_req_qfull()
498 struct op_req_qinfo *op_req_q; in mpi3mr_process_op_reply_q() local
526 op_req_q = &mrioc->req_qinfo[req_q_idx]; in mpi3mr_process_op_reply_q()
528 WRITE_ONCE(op_req_q->ci, le16_to_cpu(reply_desc->request_queue_ci)); in mpi3mr_process_op_reply_q()
1787 struct op_req_qinfo *op_req_q = mrioc->req_qinfo + qidx; in mpi3mr_alloc_op_req_q_segments() local
1793 op_req_q->segment_qd = in mpi3mr_alloc_op_req_q_segments()
1798 op_req_q->q_segment_list = dma_alloc_coherent(&mrioc->pdev->dev, in mpi3mr_alloc_op_req_q_segments()
1799 MPI3MR_MAX_SEG_LIST_SIZE, &op_req_q->q_segment_list_dma, in mpi3mr_alloc_op_req_q_segments()
1801 if (!op_req_q->q_segment_list) in mpi3mr_alloc_op_req_q_segments()
1803 q_segment_list_entry = (u64 *)op_req_q->q_segment_list; in mpi3mr_alloc_op_req_q_segments()
1806 op_req_q->segment_qd = op_req_q->num_requests; in mpi3mr_alloc_op_req_q_segments()
1807 size = op_req_q->num_requests * mrioc->facts.op_req_sz; in mpi3mr_alloc_op_req_q_segments()
1810 op_req_q->num_segments = DIV_ROUND_UP(op_req_q->num_requests, in mpi3mr_alloc_op_req_q_segments()
1811 op_req_q->segment_qd); in mpi3mr_alloc_op_req_q_segments()
1813 op_req_q->q_segments = kcalloc(op_req_q->num_segments, in mpi3mr_alloc_op_req_q_segments()
1815 if (!op_req_q->q_segments) in mpi3mr_alloc_op_req_q_segments()
1818 segments = op_req_q->q_segments; in mpi3mr_alloc_op_req_q_segments()
1819 for (i = 0; i < op_req_q->num_segments; i++) { in mpi3mr_alloc_op_req_q_segments()
1979 struct op_req_qinfo *op_req_q = mrioc->req_qinfo + idx; in mpi3mr_create_op_req_q() local
1983 req_qid = op_req_q->qid; in mpi3mr_create_op_req_q()
1994 op_req_q->num_requests = MPI3MR_OP_REQ_Q_QD; in mpi3mr_create_op_req_q()
1995 op_req_q->ci = 0; in mpi3mr_create_op_req_q()
1996 op_req_q->pi = 0; in mpi3mr_create_op_req_q()
1997 op_req_q->reply_qid = reply_qid; in mpi3mr_create_op_req_q()
1998 spin_lock_init(&op_req_q->q_lock); in mpi3mr_create_op_req_q()
2000 if (!op_req_q->q_segments) { in mpi3mr_create_op_req_q()
2025 op_req_q->q_segment_list_dma); in mpi3mr_create_op_req_q()
2028 op_req_q->q_segments[0].segment_dma); in mpi3mr_create_op_req_q()
2030 create_req.size = cpu_to_le16(op_req_q->num_requests); in mpi3mr_create_op_req_q()
2057 op_req_q->qid = req_qid; in mpi3mr_create_op_req_q()
2165 struct op_req_qinfo *op_req_q, u8 *req) in mpi3mr_op_request_post() argument
2173 struct segments *segments = op_req_q->q_segments; in mpi3mr_op_request_post()
2175 reply_qidx = op_req_q->reply_qid - 1; in mpi3mr_op_request_post()
2180 spin_lock_irqsave(&op_req_q->q_lock, flags); in mpi3mr_op_request_post()
2181 pi = op_req_q->pi; in mpi3mr_op_request_post()
2182 max_entries = op_req_q->num_requests; in mpi3mr_op_request_post()
2184 if (mpi3mr_check_req_qfull(op_req_q)) { in mpi3mr_op_request_post()
2189 if (mpi3mr_check_req_qfull(op_req_q)) { in mpi3mr_op_request_post()
2201 segment_base_addr = segments[pi / op_req_q->segment_qd].segment; in mpi3mr_op_request_post()
2203 ((pi % op_req_q->segment_qd) * req_sz); in mpi3mr_op_request_post()
2210 op_req_q->pi = pi; in mpi3mr_op_request_post()
2220 writel(op_req_q->pi, in mpi3mr_op_request_post()
2224 spin_unlock_irqrestore(&op_req_q->q_lock, flags); in mpi3mr_op_request_post()
4139 struct op_req_qinfo *op_req_q = mrioc->req_qinfo + qidx; in mpi3mr_memset_op_req_q_buffers() local
4143 if (!op_req_q->q_segments) in mpi3mr_memset_op_req_q_buffers()
4146 size = op_req_q->segment_qd * mrioc->facts.op_req_sz; in mpi3mr_memset_op_req_q_buffers()
4147 segments = op_req_q->q_segments; in mpi3mr_memset_op_req_q_buffers()
4148 for (i = 0; i < op_req_q->num_segments; i++) in mpi3mr_memset_op_req_q_buffers()