Lines Matching refs:geo
286 struct nvm_geo *geo) in nvme_nvm_setup_12() argument
302 geo->major_ver_id = id->ver_id; in nvme_nvm_setup_12()
303 geo->minor_ver_id = 2; in nvme_nvm_setup_12()
306 geo->version = NVM_OCSSD_SPEC_12; in nvme_nvm_setup_12()
308 geo->num_ch = src->num_ch; in nvme_nvm_setup_12()
309 geo->num_lun = src->num_lun; in nvme_nvm_setup_12()
310 geo->all_luns = geo->num_ch * geo->num_lun; in nvme_nvm_setup_12()
312 geo->num_chk = le16_to_cpu(src->num_chk); in nvme_nvm_setup_12()
314 geo->csecs = le16_to_cpu(src->csecs); in nvme_nvm_setup_12()
315 geo->sos = le16_to_cpu(src->sos); in nvme_nvm_setup_12()
318 sec_per_pg = le16_to_cpu(src->fpg_sz) / geo->csecs; in nvme_nvm_setup_12()
320 geo->clba = sec_per_pl * pg_per_blk; in nvme_nvm_setup_12()
322 geo->all_chunks = geo->all_luns * geo->num_chk; in nvme_nvm_setup_12()
323 geo->total_secs = geo->clba * geo->all_chunks; in nvme_nvm_setup_12()
325 geo->ws_min = sec_per_pg; in nvme_nvm_setup_12()
326 geo->ws_opt = sec_per_pg; in nvme_nvm_setup_12()
327 geo->mw_cunits = geo->ws_opt << 3; /* default to MLC safe values */ in nvme_nvm_setup_12()
333 geo->maxoc = geo->all_luns * geo->num_chk; in nvme_nvm_setup_12()
334 geo->maxocpu = geo->num_chk; in nvme_nvm_setup_12()
336 geo->mccap = le32_to_cpu(src->mccap); in nvme_nvm_setup_12()
338 geo->trdt = le32_to_cpu(src->trdt); in nvme_nvm_setup_12()
339 geo->trdm = le32_to_cpu(src->trdm); in nvme_nvm_setup_12()
340 geo->tprt = le32_to_cpu(src->tprt); in nvme_nvm_setup_12()
341 geo->tprm = le32_to_cpu(src->tprm); in nvme_nvm_setup_12()
342 geo->tbet = le32_to_cpu(src->tbet); in nvme_nvm_setup_12()
343 geo->tbem = le32_to_cpu(src->tbem); in nvme_nvm_setup_12()
346 geo->vmnt = id->vmnt; in nvme_nvm_setup_12()
347 geo->cap = le32_to_cpu(id->cap); in nvme_nvm_setup_12()
348 geo->dom = le32_to_cpu(id->dom); in nvme_nvm_setup_12()
350 geo->mtype = src->mtype; in nvme_nvm_setup_12()
351 geo->fmtype = src->fmtype; in nvme_nvm_setup_12()
353 geo->cpar = le16_to_cpu(src->cpar); in nvme_nvm_setup_12()
354 geo->mpos = le32_to_cpu(src->mpos); in nvme_nvm_setup_12()
356 geo->pln_mode = NVM_PLANE_SINGLE; in nvme_nvm_setup_12()
358 if (geo->mpos & 0x020202) { in nvme_nvm_setup_12()
359 geo->pln_mode = NVM_PLANE_DOUBLE; in nvme_nvm_setup_12()
360 geo->ws_opt <<= 1; in nvme_nvm_setup_12()
361 } else if (geo->mpos & 0x040404) { in nvme_nvm_setup_12()
362 geo->pln_mode = NVM_PLANE_QUAD; in nvme_nvm_setup_12()
363 geo->ws_opt <<= 2; in nvme_nvm_setup_12()
366 geo->num_pln = src->num_pln; in nvme_nvm_setup_12()
367 geo->num_pg = le16_to_cpu(src->num_pg); in nvme_nvm_setup_12()
368 geo->fpg_sz = le16_to_cpu(src->fpg_sz); in nvme_nvm_setup_12()
370 nvme_nvm_set_addr_12((struct nvm_addrf_12 *)&geo->addrf, &id->ppaf); in nvme_nvm_setup_12()
395 struct nvm_geo *geo) in nvme_nvm_setup_20() argument
397 geo->major_ver_id = id->mjr; in nvme_nvm_setup_20()
398 geo->minor_ver_id = id->mnr; in nvme_nvm_setup_20()
401 geo->version = NVM_OCSSD_SPEC_20; in nvme_nvm_setup_20()
403 geo->num_ch = le16_to_cpu(id->num_grp); in nvme_nvm_setup_20()
404 geo->num_lun = le16_to_cpu(id->num_pu); in nvme_nvm_setup_20()
405 geo->all_luns = geo->num_ch * geo->num_lun; in nvme_nvm_setup_20()
407 geo->num_chk = le32_to_cpu(id->num_chk); in nvme_nvm_setup_20()
408 geo->clba = le32_to_cpu(id->clba); in nvme_nvm_setup_20()
410 geo->all_chunks = geo->all_luns * geo->num_chk; in nvme_nvm_setup_20()
411 geo->total_secs = geo->clba * geo->all_chunks; in nvme_nvm_setup_20()
413 geo->ws_min = le32_to_cpu(id->ws_min); in nvme_nvm_setup_20()
414 geo->ws_opt = le32_to_cpu(id->ws_opt); in nvme_nvm_setup_20()
415 geo->mw_cunits = le32_to_cpu(id->mw_cunits); in nvme_nvm_setup_20()
416 geo->maxoc = le32_to_cpu(id->maxoc); in nvme_nvm_setup_20()
417 geo->maxocpu = le32_to_cpu(id->maxocpu); in nvme_nvm_setup_20()
419 geo->trdt = le32_to_cpu(id->trdt); in nvme_nvm_setup_20()
420 geo->trdm = le32_to_cpu(id->trdm); in nvme_nvm_setup_20()
421 geo->tprt = le32_to_cpu(id->twrt); in nvme_nvm_setup_20()
422 geo->tprm = le32_to_cpu(id->twrm); in nvme_nvm_setup_20()
423 geo->tbet = le32_to_cpu(id->tcrst); in nvme_nvm_setup_20()
424 geo->tbem = le32_to_cpu(id->tcrsm); in nvme_nvm_setup_20()
426 nvme_nvm_set_addr_20(&geo->addrf, &id->lbaf); in nvme_nvm_setup_20()
458 ret = nvme_nvm_setup_12(id, &nvmdev->geo); in nvme_nvm_identity()
462 &nvmdev->geo); in nvme_nvm_identity()
479 struct nvm_geo *geo = &nvmdev->geo; in nvme_nvm_get_bb_tbl() local
484 int nr_blks = geo->num_chk * geo->num_pln; in nvme_nvm_get_bb_tbl()
525 memcpy(blks, bb_tbl->blk, geo->num_chk * geo->num_pln); in nvme_nvm_get_bb_tbl()
559 struct nvm_geo *geo = &ndev->geo; in nvme_nvm_get_chk_meta() local
584 log_pos += ppa.m.pu * geo->num_chk; in nvme_nvm_get_chk_meta()
585 log_pos += ppa.m.grp * geo->num_lun * geo->num_chk; in nvme_nvm_get_chk_meta()
673 struct nvm_geo *geo = &dev->geo; in nvme_nvm_submit_io() local
690 ret = blk_rq_map_kern(q, rq, buf, geo->csecs * rqd->nr_ppas, in nvme_nvm_submit_io()
952 struct nvm_geo *geo; in nvme_nvm_register() local
961 geo = &dev->geo; in nvme_nvm_register()
962 geo->csecs = 1 << ns->lba_shift; in nvme_nvm_register()
963 geo->sos = ns->ms; in nvme_nvm_register()
965 geo->ext = true; in nvme_nvm_register()
967 geo->ext = false; in nvme_nvm_register()
968 geo->mdts = ns->ctrl->max_hw_sectors; in nvme_nvm_register()
989 struct nvm_geo *geo = &ndev->geo; in nvm_dev_attr_show() local
998 if (geo->major_ver_id == 1) in nvm_dev_attr_show()
1000 geo->major_ver_id); in nvm_dev_attr_show()
1003 geo->major_ver_id, in nvm_dev_attr_show()
1004 geo->minor_ver_id); in nvm_dev_attr_show()
1006 return scnprintf(page, PAGE_SIZE, "%u\n", geo->cap); in nvm_dev_attr_show()
1008 return scnprintf(page, PAGE_SIZE, "%u\n", geo->trdt); in nvm_dev_attr_show()
1010 return scnprintf(page, PAGE_SIZE, "%u\n", geo->trdm); in nvm_dev_attr_show()
1036 struct nvm_geo *geo = &ndev->geo; in nvm_dev_attr_show_12() local
1045 return scnprintf(page, PAGE_SIZE, "%u\n", geo->vmnt); in nvm_dev_attr_show_12()
1047 return scnprintf(page, PAGE_SIZE, "%u\n", geo->dom); in nvm_dev_attr_show_12()
1052 return nvm_dev_attr_show_ppaf((void *)&geo->addrf, page); in nvm_dev_attr_show_12()
1054 return scnprintf(page, PAGE_SIZE, "%u\n", geo->mtype); in nvm_dev_attr_show_12()
1056 return scnprintf(page, PAGE_SIZE, "%u\n", geo->fmtype); in nvm_dev_attr_show_12()
1058 return scnprintf(page, PAGE_SIZE, "%u\n", geo->num_ch); in nvm_dev_attr_show_12()
1060 return scnprintf(page, PAGE_SIZE, "%u\n", geo->num_lun); in nvm_dev_attr_show_12()
1062 return scnprintf(page, PAGE_SIZE, "%u\n", geo->num_pln); in nvm_dev_attr_show_12()
1064 return scnprintf(page, PAGE_SIZE, "%u\n", geo->num_chk); in nvm_dev_attr_show_12()
1066 return scnprintf(page, PAGE_SIZE, "%u\n", geo->num_pg); in nvm_dev_attr_show_12()
1068 return scnprintf(page, PAGE_SIZE, "%u\n", geo->fpg_sz); in nvm_dev_attr_show_12()
1070 return scnprintf(page, PAGE_SIZE, "%u\n", geo->csecs); in nvm_dev_attr_show_12()
1072 return scnprintf(page, PAGE_SIZE, "%u\n", geo->sos); in nvm_dev_attr_show_12()
1074 return scnprintf(page, PAGE_SIZE, "%u\n", geo->tprt); in nvm_dev_attr_show_12()
1076 return scnprintf(page, PAGE_SIZE, "%u\n", geo->tprm); in nvm_dev_attr_show_12()
1078 return scnprintf(page, PAGE_SIZE, "%u\n", geo->tbet); in nvm_dev_attr_show_12()
1080 return scnprintf(page, PAGE_SIZE, "%u\n", geo->tbem); in nvm_dev_attr_show_12()
1082 return scnprintf(page, PAGE_SIZE, "0x%08x\n", geo->mpos); in nvm_dev_attr_show_12()
1084 return scnprintf(page, PAGE_SIZE, "0x%08x\n", geo->mccap); in nvm_dev_attr_show_12()
1099 struct nvm_geo *geo = &ndev->geo; in nvm_dev_attr_show_20() local
1108 return scnprintf(page, PAGE_SIZE, "%u\n", geo->num_ch); in nvm_dev_attr_show_20()
1110 return scnprintf(page, PAGE_SIZE, "%u\n", geo->num_lun); in nvm_dev_attr_show_20()
1112 return scnprintf(page, PAGE_SIZE, "%u\n", geo->num_chk); in nvm_dev_attr_show_20()
1114 return scnprintf(page, PAGE_SIZE, "%u\n", geo->clba); in nvm_dev_attr_show_20()
1116 return scnprintf(page, PAGE_SIZE, "%u\n", geo->ws_min); in nvm_dev_attr_show_20()
1118 return scnprintf(page, PAGE_SIZE, "%u\n", geo->ws_opt); in nvm_dev_attr_show_20()
1120 return scnprintf(page, PAGE_SIZE, "%u\n", geo->maxoc); in nvm_dev_attr_show_20()
1122 return scnprintf(page, PAGE_SIZE, "%u\n", geo->maxocpu); in nvm_dev_attr_show_20()
1124 return scnprintf(page, PAGE_SIZE, "%u\n", geo->mw_cunits); in nvm_dev_attr_show_20()
1126 return scnprintf(page, PAGE_SIZE, "%u\n", geo->tprt); in nvm_dev_attr_show_20()
1128 return scnprintf(page, PAGE_SIZE, "%u\n", geo->tprm); in nvm_dev_attr_show_20()
1130 return scnprintf(page, PAGE_SIZE, "%u\n", geo->tbet); in nvm_dev_attr_show_20()
1132 return scnprintf(page, PAGE_SIZE, "%u\n", geo->tbem); in nvm_dev_attr_show_20()
1257 switch (ndev->geo.major_ver_id) { in nvm_dev_attrs_visible()