Lines Matching defs:qp
47 struct nvmf_qpair *qp;
52 qp = NULL;
86 qp = nvmf_allocate_qpair(na, params);
87 if (qp == NULL)
100 cc = nvmf_allocate_command(qp, &cmd);
127 error = nvmf_receive_capsule(qp, &rc);
163 qp->nq_flow_control = false;
165 qp->nq_flow_control = true;
166 qp->nq_sqhd = sqhd;
167 qp->nq_sqtail = sqhd;
175 qp->nq_qsize = queue_size;
176 qp->nq_cntlid = le16toh(rsp->status_code_specific.success.cntlid);
177 qp->nq_kato = kato;
178 /* XXX: Save qid in qp? */
179 return (qp);
186 if (qp != NULL)
187 nvmf_free_qpair(qp);
192 nvmf_cntlid(struct nvmf_qpair *qp)
194 return (qp->nq_cntlid);
200 struct nvmf_qpair *qp = nc->nc_qpair;
205 new_sqtail = (qp->nq_sqtail + 1) % qp->nq_qsize;
206 if (new_sqtail == qp->nq_sqhd)
209 nc->nc_sqe.cid = htole16(qp->nq_cid);
212 qp->nq_cid++;
213 if (qp->nq_cid == 0xFFFF)
214 qp->nq_cid = 0;
220 qp->nq_sqtail = new_sqtail;
226 nvmf_host_receive_capsule(struct nvmf_qpair *qp, struct nvmf_capsule **ncp)
232 if (qp->nq_sqhd == qp->nq_sqtail)
235 error = nvmf_receive_capsule(qp, &nc);
239 if (qp->nq_flow_control) {
241 qp->nq_sqhd = le16toh(nc->nc_cqe.sqhd);
248 qp->nq_sqhd = (qp->nq_sqhd + 1) % qp->nq_qsize;
255 nvmf_host_receive_response(struct nvmf_qpair *qp, struct nvmf_capsule **ncp)
260 if (!TAILQ_EMPTY(&qp->nq_rx_capsules)) {
261 nc = TAILQ_FIRST(&qp->nq_rx_capsules);
262 TAILQ_REMOVE(&qp->nq_rx_capsules, nc, nc_link);
267 return (nvmf_host_receive_capsule(qp, ncp));
274 struct nvmf_qpair *qp = cc->nc_qpair;
279 TAILQ_FOREACH(rc, &qp->nq_rx_capsules, nc_link) {
281 TAILQ_REMOVE(&qp->nq_rx_capsules, rc, nc_link);
289 error = nvmf_host_receive_capsule(qp, &rc);
294 TAILQ_INSERT_TAIL(&qp->nq_rx_capsules, rc, nc_link);
304 nvmf_keepalive(struct nvmf_qpair *qp)
308 if (!qp->nq_admin) {
315 return (nvmf_allocate_command(qp, &cmd));
319 nvmf_get_property(struct nvmf_qpair *qp, uint32_t offset, uint8_t size)
337 return (nvmf_allocate_command(qp, &cmd));
341 nvmf_read_property(struct nvmf_qpair *qp, uint32_t offset, uint8_t size,
349 if (!qp->nq_admin)
352 cc = nvmf_get_property(qp, offset, size);
384 nvmf_set_property(struct nvmf_qpair *qp, uint32_t offset, uint8_t size,
405 return (nvmf_allocate_command(qp, &cmd));
409 nvmf_write_property(struct nvmf_qpair *qp, uint32_t offset, uint8_t size,
416 if (!qp->nq_admin)
419 cc = nvmf_set_property(qp, offset, size, value);
487 nvmf_host_identify_controller(struct nvmf_qpair *qp,
495 if (!qp->nq_admin)
503 cc = nvmf_allocate_command(qp, &cmd);
536 nvmf_host_identify_namespace(struct nvmf_qpair *qp, uint32_t nsid,
544 if (!qp->nq_admin)
553 cc = nvmf_allocate_command(qp, &cmd);
586 nvmf_get_discovery_log_page(struct nvmf_qpair *qp, uint64_t offset, void *buf,
605 cc = nvmf_allocate_command(qp, &cmd);
643 nvmf_host_fetch_discovery_log_page(struct nvmf_qpair *qp,
650 if (!qp->nq_admin)
655 error = nvmf_get_discovery_log_page(qp, 0, &hdr, sizeof(hdr));
684 error = nvmf_get_discovery_log_page(qp, sizeof(hdr),
694 error = nvmf_get_discovery_log_page(qp, 0, &hdr, sizeof(hdr));
713 nvmf_init_dle_from_admin_qp(struct nvmf_qpair *qp,
721 error = nvmf_populate_dle(qp, dle);
734 nvmf_host_request_queues(struct nvmf_qpair *qp, u_int requested, u_int *actual)
741 if (!qp->nq_admin || requested < 1 || requested > 65535)
753 cc = nvmf_allocate_command(qp, &cmd);
781 is_queue_pair_idle(struct nvmf_qpair *qp)
783 if (qp->nq_sqhd != qp->nq_sqtail)
785 if (!TAILQ_EMPTY(&qp->nq_rx_capsules))