Lines Matching refs:geo

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