Lines Matching defs:cdata

374 		      struct spdk_nvmf_ctrlr_data *cdata)
376 cdata->aerl = SPDK_NVMF_MAX_ASYNC_EVENTS - 1;
377 cdata->kas = KAS_DEFAULT_VALUE;
378 cdata->vid = SPDK_PCI_VID_INTEL;
379 cdata->ssvid = SPDK_PCI_VID_INTEL;
381 cdata->ieee[0] = 0xe4;
382 cdata->ieee[1] = 0xd2;
383 cdata->ieee[2] = 0x5c;
384 cdata->oncs.compare = 1;
385 cdata->oncs.dsm = 1;
386 cdata->oncs.write_zeroes = 1;
387 cdata->oncs.reservations = 1;
388 cdata->oncs.copy = 1;
389 cdata->fuses.compare_and_write = 1;
390 cdata->sgls.supported = 1;
391 cdata->sgls.keyed_sgl = 1;
392 cdata->sgls.sgl_offset = 1;
393 cdata->nvmf_specific.ioccsz = sizeof(struct spdk_nvme_cmd) / 16;
394 cdata->nvmf_specific.ioccsz += transport->opts.in_capsule_data_size / 16;
395 cdata->nvmf_specific.iorcsz = sizeof(struct spdk_nvme_cpl) / 16;
396 cdata->nvmf_specific.icdoff = 0; /* offset starts directly after SQE */
397 cdata->nvmf_specific.ctrattr.ctrlr_model = SPDK_NVMF_CTRLR_MODEL_DYNAMIC;
398 cdata->nvmf_specific.msdbd = 1;
401 transport->ops->cdata_init(transport, subsystem, cdata);
472 nvmf_ctrlr_cdata_init(transport, subsystem, &ctrlr->cdata);
478 if (ctrlr->cdata.kas) {
2564 if (!ctrlr->cdata.oncs.write_zeroes || !nvmf_ctrlr_write_zeroes_supported(ctrlr)) {
2567 if (!ctrlr->cdata.oncs.dsm || !nvmf_ctrlr_dsm_supported(ctrlr)) {
2570 if (!ctrlr->cdata.oncs.compare) {
2580 if (!ctrlr->cdata.oncs.copy) {
2908 struct spdk_nvme_ctrlr_data *cdata)
2910 cdata->oacs = ctrlr->cdata.oacs;
2912 cdata->oacs.virtualization_management =
2914 cdata->oacs.nvme_mi = g_nvmf_custom_admin_cmd_hdlrs[SPDK_NVME_OPC_NVME_MI_SEND].hdlr != NULL
2916 cdata->oacs.directives = g_nvmf_custom_admin_cmd_hdlrs[SPDK_NVME_OPC_DIRECTIVE_SEND].hdlr != NULL
2918 cdata->oacs.device_self_test =
2920 cdata->oacs.ns_manage = g_nvmf_custom_admin_cmd_hdlrs[SPDK_NVME_OPC_NS_MANAGEMENT].hdlr != NULL
2922 cdata->oacs.firmware = g_nvmf_custom_admin_cmd_hdlrs[SPDK_NVME_OPC_FIRMWARE_IMAGE_DOWNLOAD].hdlr !=
2925 cdata->oacs.format =
2927 cdata->oacs.security = g_nvmf_custom_admin_cmd_hdlrs[SPDK_NVME_OPC_SECURITY_SEND].hdlr != NULL
2929 cdata->oacs.get_lba_status = g_nvmf_custom_admin_cmd_hdlrs[SPDK_NVME_OPC_GET_LBA_STATUS].hdlr !=
2934 spdk_nvmf_ctrlr_identify_ctrlr(struct spdk_nvmf_ctrlr *ctrlr, struct spdk_nvme_ctrlr_data *cdata)
2944 spdk_strcpy_pad(cdata->fr, FW_VERSION, sizeof(cdata->fr), ' ');
2946 cdata->mdts = spdk_u32log2(transport->opts.max_io_size / 4096);
2947 cdata->cntlid = ctrlr->cntlid;
2948 cdata->ver = ctrlr->vcprop.vs;
2949 cdata->aerl = ctrlr->cdata.aerl;
2950 cdata->lpa.edlp = 1;
2951 cdata->elpe = 127;
2952 cdata->maxcmd = transport->opts.max_queue_depth;
2953 cdata->sgls = ctrlr->cdata.sgls;
2954 cdata->fuses = ctrlr->cdata.fuses;
2955 cdata->acwu = 0; /* ACWU is 0-based. */
2957 cdata->mnan = subsystem->max_nsid;
2959 spdk_strcpy_pad(cdata->subnqn, subsystem->subnqn, sizeof(cdata->subnqn), '\0');
2961 SPDK_DEBUGLOG(nvmf, "ctrlr data: maxcmd 0x%x\n", cdata->maxcmd);
2962 SPDK_DEBUGLOG(nvmf, "sgls data: 0x%x\n", from_le32(&cdata->sgls));
2969 cdata->oaes.discovery_log_change_notices = 1;
2970 cdata->cntrltype = SPDK_NVME_CTRLR_DISCOVERY;
2972 cdata->vid = ctrlr->cdata.vid;
2973 cdata->ssvid = ctrlr->cdata.ssvid;
2974 cdata->ieee[0] = ctrlr->cdata.ieee[0];
2975 cdata->ieee[1] = ctrlr->cdata.ieee[1];
2976 cdata->ieee[2] = ctrlr->cdata.ieee[2];
2981 spdk_strcpy_pad(cdata->mn, spdk_nvmf_subsystem_get_mn(subsystem), sizeof(cdata->mn), ' ');
2982 spdk_strcpy_pad(cdata->sn, spdk_nvmf_subsystem_get_sn(subsystem), sizeof(cdata->sn), ' ');
2983 cdata->kas = ctrlr->cdata.kas;
2985 cdata->rab = 6;
2986 cdata->cmic.multi_port = 1;
2987 cdata->cmic.multi_ctrlr = 1;
2988 cdata->oaes.ns_attribute_notices = 1;
2989 cdata->ctratt.bits.host_id_exhid_supported = 1;
2990 cdata->ctratt.bits.fdps = ctrlr->subsys->fdp_supported;
2991 cdata->cntrltype = SPDK_NVME_CTRLR_IO;
2995 cdata->acl = NVMF_ABORT_COMMAND_LIMIT;
2996 cdata->frmw.slot1_ro = 1;
2997 cdata->frmw.num_slots = 1;
2999 cdata->lpa.celp = 1; /* Command Effects log page supported */
3001 cdata->sqes.min = 6;
3002 cdata->sqes.max = 6;
3003 cdata->cqes.min = 4;
3004 cdata->cqes.max = 4;
3005 cdata->nn = subsystem->max_nsid;
3006 cdata->vwc.present = 1;
3007 cdata->vwc.flush_broadcast = SPDK_NVME_FLUSH_BROADCAST_NOT_SUPPORTED;
3009 cdata->nvmf_specific = ctrlr->cdata.nvmf_specific;
3011 cdata->oncs.compare = ctrlr->cdata.oncs.compare;
3012 cdata->oncs.dsm = ctrlr->cdata.oncs.dsm && nvmf_ctrlr_dsm_supported(ctrlr);
3013 cdata->oncs.write_zeroes = ctrlr->cdata.oncs.write_zeroes &&
3015 cdata->oncs.reservations = ctrlr->cdata.oncs.reservations;
3016 cdata->oncs.copy = ctrlr->cdata.oncs.copy;
3017 cdata->ocfs.copy_format0 = cdata->oncs.copy;
3020 cdata->cmic.ana_reporting = 1;
3021 cdata->oaes.ana_change_notices = 1;
3023 cdata->anatt = ANA_TRANSITION_TIME_IN_SEC;
3027 cdata->anacap.ana_optimized_state = 1;
3028 cdata->anacap.ana_non_optimized_state = 1;
3029 cdata->anacap.ana_inaccessible_state = 1;
3031 cdata->anacap.no_change_anagrpid = 1;
3032 cdata->anagrpmax = subsystem->max_nsid;
3033 cdata->nanagrpid = subsystem->max_nsid;
3036 nvmf_ctrlr_populate_oacs(ctrlr, cdata);
3039 cdata->crdt[0] = subsystem->tgt->crdt[0];
3040 cdata->crdt[1] = subsystem->tgt->crdt[1];
3041 cdata->crdt[2] = subsystem->tgt->crdt[2];
3044 cdata->nvmf_specific.ioccsz);
3046 cdata->nvmf_specific.iorcsz);
3048 cdata->nvmf_specific.icdoff);
3050 *(uint8_t *)&cdata->nvmf_specific.ctrattr);
3052 cdata->nvmf_specific.msdbd);
3178 void *cdata,
3183 memset(cdata, 0, cdata_size);
3187 return nvmf_ctrlr_identify_iocs_nvm(ctrlr, cmd, rsp, cdata);
3189 return nvmf_ctrlr_identify_iocs_zns(ctrlr, cmd, rsp, cdata);
3310 void *cdata, size_t cdata_size)
3330 memset(cdata, 0, cdata_size);
3332 vector = cdata;
4605 if (spdk_unlikely(!ctrlr->cdata.oncs.compare)) {
4610 if (spdk_unlikely(!ctrlr->cdata.oncs.write_zeroes)) {
4615 if (spdk_unlikely(!ctrlr->cdata.oncs.dsm)) {
4623 if (spdk_unlikely(!ctrlr->cdata.oncs.reservations)) {
4629 if (spdk_unlikely(!ctrlr->cdata.oncs.copy)) {