Lines Matching refs:ctrl
27 nvmet_update_cc(req->sq->ctrl, val); in nvmet_execute_prop_set()
40 struct nvmet_ctrl *ctrl = req->sq->ctrl; in nvmet_execute_prop_get() local
50 val = ctrl->cap; in nvmet_execute_prop_get()
59 val = ctrl->subsys->ver; in nvmet_execute_prop_get()
62 val = ctrl->cc; in nvmet_execute_prop_get()
65 val = ctrl->csts; in nvmet_execute_prop_get()
68 val = NVME_CAP_TIMEOUT(ctrl->csts); in nvmet_execute_prop_get()
172 static u16 nvmet_install_queue(struct nvmet_ctrl *ctrl, struct nvmet_req *req) in nvmet_install_queue() argument
178 u16 mqes = NVME_CAP_MQES(ctrl->cap); in nvmet_install_queue()
189 if (ctrl->sqs[qid] != NULL) { in nvmet_install_queue()
198 sqsize, mqes, ctrl->cntlid); in nvmet_install_queue()
204 old = cmpxchg(&req->sq->ctrl, NULL, ctrl); in nvmet_install_queue()
212 nvmet_cq_setup(ctrl, req->cq, qid, sqsize + 1); in nvmet_install_queue()
213 nvmet_sq_setup(ctrl, req->sq, qid, sqsize + 1); in nvmet_install_queue()
220 if (ctrl->ops->install_queue) { in nvmet_install_queue()
221 ret = ctrl->ops->install_queue(req->sq); in nvmet_install_queue()
224 qid, ctrl->cntlid, ret); in nvmet_install_queue()
225 ctrl->sqs[qid] = NULL; in nvmet_install_queue()
233 req->sq->ctrl = NULL; in nvmet_install_queue()
237 static u32 nvmet_connect_result(struct nvmet_ctrl *ctrl, struct nvmet_sq *sq) in nvmet_connect_result() argument
239 bool needs_auth = nvmet_has_auth(ctrl, sq); in nvmet_connect_result()
243 if (ctrl->concat && sq->qid) in nvmet_connect_result()
248 __func__, ctrl->cntlid, sq->qid, in nvmet_connect_result()
252 __func__, ctrl->cntlid, sq->qid, in nvmet_connect_result()
254 ctrl->concat ? ", secure concatenation" : ""); in nvmet_connect_result()
255 return (u32)ctrl->cntlid | in nvmet_connect_result()
263 struct nvmet_ctrl *ctrl = NULL; in nvmet_execute_admin_connect() local
309 ctrl = nvmet_alloc_ctrl(&args); in nvmet_execute_admin_connect()
310 if (!ctrl) in nvmet_execute_admin_connect()
313 args.status = nvmet_install_queue(ctrl, req); in nvmet_execute_admin_connect()
315 nvmet_ctrl_put(ctrl); in nvmet_execute_admin_connect()
319 args.result = cpu_to_le32(nvmet_connect_result(ctrl, req->sq)); in nvmet_execute_admin_connect()
332 struct nvmet_ctrl *ctrl; in nvmet_execute_io_connect() local
358 ctrl = nvmet_ctrl_find_get(d->subsysnqn, d->hostnqn, in nvmet_execute_io_connect()
360 if (!ctrl) { in nvmet_execute_io_connect()
365 if (unlikely(qid > ctrl->subsys->max_qid)) { in nvmet_execute_io_connect()
372 status = nvmet_install_queue(ctrl, req); in nvmet_execute_io_connect()
376 pr_debug("adding queue %d to ctrl %d.\n", qid, ctrl->cntlid); in nvmet_execute_io_connect()
377 req->cqe->result.u32 = cpu_to_le32(nvmet_connect_result(ctrl, req->sq)); in nvmet_execute_io_connect()
385 nvmet_ctrl_put(ctrl); in nvmet_execute_io_connect()