Lines Matching refs:subsys

19     NvmeSubsystem *subsys = n->subsys;  in nvme_subsys_reserve_cntlids()  local
24 for (i = start; i < ARRAY_SIZE(subsys->ctrls) && cnt < num; i++) { in nvme_subsys_reserve_cntlids()
25 if (!subsys->ctrls[i]) { in nvme_subsys_reserve_cntlids()
28 subsys->ctrls[i] = SUBSYS_SLOT_RSVD; in nvme_subsys_reserve_cntlids()
38 NvmeSubsystem *subsys = n->subsys; in nvme_subsys_unreserve_cntlids() local
48 assert(subsys->ctrls[cntlid] == SUBSYS_SLOT_RSVD); in nvme_subsys_unreserve_cntlids()
49 subsys->ctrls[cntlid] = NULL; in nvme_subsys_unreserve_cntlids()
57 NvmeSubsystem *subsys = n->subsys; in nvme_subsys_register_ctrl() local
66 for (cntlid = 0; cntlid < ARRAY_SIZE(subsys->ctrls); cntlid++) { in nvme_subsys_register_ctrl()
67 if (!subsys->ctrls[cntlid]) { in nvme_subsys_register_ctrl()
72 if (cntlid == ARRAY_SIZE(subsys->ctrls)) { in nvme_subsys_register_ctrl()
86 if (!subsys->serial) { in nvme_subsys_register_ctrl()
87 subsys->serial = g_strdup(n->params.serial); in nvme_subsys_register_ctrl()
88 } else if (strcmp(subsys->serial, n->params.serial)) { in nvme_subsys_register_ctrl()
93 subsys->ctrls[cntlid] = n; in nvme_subsys_register_ctrl()
95 for (nsid = 1; nsid < ARRAY_SIZE(subsys->namespaces); nsid++) { in nvme_subsys_register_ctrl()
96 NvmeNamespace *ns = subsys->namespaces[nsid]; in nvme_subsys_register_ctrl()
105 void nvme_subsys_unregister_ctrl(NvmeSubsystem *subsys, NvmeCtrl *n) in nvme_subsys_unregister_ctrl() argument
108 subsys->ctrls[n->cntlid] = SUBSYS_SLOT_RSVD; in nvme_subsys_unregister_ctrl()
110 subsys->ctrls[n->cntlid] = NULL; in nvme_subsys_unregister_ctrl()
145 static bool nvme_subsys_setup_fdp(NvmeSubsystem *subsys, Error **errp) in nvme_subsys_setup_fdp() argument
147 NvmeEnduranceGroup *endgrp = &subsys->endgrp; in nvme_subsys_setup_fdp()
149 if (!subsys->params.fdp.runs) { in nvme_subsys_setup_fdp()
154 endgrp->fdp.runs = subsys->params.fdp.runs; in nvme_subsys_setup_fdp()
156 if (!subsys->params.fdp.nrg) { in nvme_subsys_setup_fdp()
161 endgrp->fdp.nrg = subsys->params.fdp.nrg; in nvme_subsys_setup_fdp()
163 if (!subsys->params.fdp.nruh || in nvme_subsys_setup_fdp()
164 subsys->params.fdp.nruh > NVME_FDP_MAXPIDS) { in nvme_subsys_setup_fdp()
170 endgrp->fdp.nruh = subsys->params.fdp.nruh; in nvme_subsys_setup_fdp()
195 static bool nvme_subsys_setup(NvmeSubsystem *subsys, Error **errp) in nvme_subsys_setup() argument
197 const char *nqn = subsys->params.nqn ? in nvme_subsys_setup()
198 subsys->params.nqn : subsys->parent_obj.id; in nvme_subsys_setup()
200 snprintf((char *)subsys->subnqn, sizeof(subsys->subnqn), in nvme_subsys_setup()
203 if (subsys->params.fdp.enabled && !nvme_subsys_setup_fdp(subsys, errp)) { in nvme_subsys_setup()
212 NvmeSubsystem *subsys = NVME_SUBSYS(dev); in nvme_subsys_realize() local
214 qbus_init(&subsys->bus, sizeof(NvmeBus), TYPE_NVME_BUS, dev, dev->id); in nvme_subsys_realize()
216 nvme_subsys_setup(subsys, errp); in nvme_subsys_realize()