Lines Matching +full:ctrl +full:- +full:module

1 /* SPDX-License-Identifier: GPL-2.0 */
4 * Copyright (c) 2015-2016 HGST, a Western Digital Company.
18 /* default is -1: the fail fast mechanism is disabled */
19 #define NVMF_DEF_FAIL_FAST_TMO -1
37 * enum nvmf_parsing_opts - used to define the sysfs parsing options used.
72 * struct nvmf_ctrl_options - Used to hold the options specified
77 * the controller, (-1) means reconnect forever, zero means remove
84 * @traddr: The transport-specific TRADDR field for a port on the
86 * @trsvcid: The transport-specific TRSVCID field for a port on the
88 * @host_traddr: A transport-specific field identifying the NVME host port
90 * @host_iface: A transport-specific field identifying the NVME host
95 * @discovery_nqn: indicates if the subsysnqn is the well-known discovery NQN.
96 * @kato: Keep-alive timeout.
98 * @dhchap_secret: DH-HMAC-CHAP secret
99 * @dhchap_ctrl_secret: DH-HMAC-CHAP controller secret for bi-directional
143 * struct nvmf_transport_ops - used to register a specific
146 * registration entry to its linked-list internal tree.
147 * @module: Transport module reference
149 * @required_opts: sysfs command-line options that must be specified
151 * @allowed_opts: sysfs command-line options that can be specified
153 * @create_ctrl(): function pointer that points to a non-NVMe
154 * implementation-specific fabric technology
164 * modules .bss section so that a pure module_get on @module
169 struct module *module; member
178 nvmf_ctlr_matches_baseopts(struct nvme_ctrl *ctrl, in nvmf_ctlr_matches_baseopts() argument
181 enum nvme_ctrl_state state = nvme_ctrl_state(ctrl); in nvmf_ctlr_matches_baseopts()
186 strcmp(opts->subsysnqn, ctrl->opts->subsysnqn) || in nvmf_ctlr_matches_baseopts()
187 strcmp(opts->host->nqn, ctrl->opts->host->nqn) || in nvmf_ctlr_matches_baseopts()
188 !uuid_equal(&opts->host->id, &ctrl->opts->host->id)) in nvmf_ctlr_matches_baseopts()
194 static inline char *nvmf_ctrl_subsysnqn(struct nvme_ctrl *ctrl) in nvmf_ctrl_subsysnqn() argument
196 if (!ctrl->subsys || in nvmf_ctrl_subsysnqn()
197 !strcmp(ctrl->opts->subsysnqn, NVME_DISC_SUBSYS_NAME)) in nvmf_ctrl_subsysnqn()
198 return ctrl->opts->subsysnqn; in nvmf_ctrl_subsysnqn()
199 return ctrl->subsys->subnqn; in nvmf_ctrl_subsysnqn()
205 nvme_req(rq)->status = NVME_SC_HOST_ABORTED_CMD; in nvmf_complete_timed_out_request()
212 return min(opts->nr_io_queues, num_online_cpus()) + in nvmf_nr_io_queues()
213 min(opts->nr_write_queues, num_online_cpus()) + in nvmf_nr_io_queues()
214 min(opts->nr_poll_queues, num_online_cpus()); in nvmf_nr_io_queues()
217 int nvmf_reg_read32(struct nvme_ctrl *ctrl, u32 off, u32 *val);
218 int nvmf_reg_read64(struct nvme_ctrl *ctrl, u32 off, u64 *val);
219 int nvmf_reg_write32(struct nvme_ctrl *ctrl, u32 off, u32 val);
220 int nvmf_subsystem_reset(struct nvme_ctrl *ctrl);
221 int nvmf_connect_admin_queue(struct nvme_ctrl *ctrl);
222 int nvmf_connect_io_queue(struct nvme_ctrl *ctrl, u16 qid);
226 int nvmf_get_address(struct nvme_ctrl *ctrl, char *buf, int size);
227 bool nvmf_should_reconnect(struct nvme_ctrl *ctrl, int status);
228 bool nvmf_ip_options_match(struct nvme_ctrl *ctrl,
232 void nvmf_map_queues(struct blk_mq_tag_set *set, struct nvme_ctrl *ctrl,