• Home
  • Raw
  • Download

Lines Matching refs:geo

115 				int lunid = (ch * dev->geo.num_lun) + lun;  in nvm_remove_tgt_dev()
142 int num_ch = num_lun / dev->geo.num_lun; in nvm_create_tgt_dev()
143 int num_ch_mod = num_lun % dev->geo.num_lun; in nvm_create_tgt_dev()
144 int bch = lun_begin / dev->geo.num_lun; in nvm_create_tgt_dev()
145 int blun = lun_begin % dev->geo.num_lun; in nvm_create_tgt_dev()
165 prev_num_lun = (luns_left > dev->geo.num_lun) ? in nvm_create_tgt_dev()
166 dev->geo.num_lun : luns_left; in nvm_create_tgt_dev()
172 int luns_in_chnl = (luns_left > dev->geo.num_lun) ? in nvm_create_tgt_dev()
173 dev->geo.num_lun : luns_left; in nvm_create_tgt_dev()
208 memcpy(&tgt_dev->geo, &dev->geo, sizeof(struct nvm_geo)); in nvm_create_tgt_dev()
211 tgt_dev->geo.num_ch = num_ch; in nvm_create_tgt_dev()
212 tgt_dev->geo.num_lun = (lun_balanced) ? prev_num_lun : -1; in nvm_create_tgt_dev()
213 tgt_dev->geo.all_luns = num_lun; in nvm_create_tgt_dev()
214 tgt_dev->geo.all_chunks = num_lun * dev->geo.num_chk; in nvm_create_tgt_dev()
216 tgt_dev->geo.op = op; in nvm_create_tgt_dev()
218 sec_per_lun = dev->geo.clba * dev->geo.num_chk; in nvm_create_tgt_dev()
219 tgt_dev->geo.total_secs = num_lun * sec_per_lun; in nvm_create_tgt_dev()
261 static int nvm_config_check_luns(struct nvm_geo *geo, int lun_begin, in nvm_config_check_luns() argument
264 if (lun_begin > lun_end || lun_end >= geo->all_luns) { in nvm_config_check_luns()
266 lun_begin, lun_end, geo->all_luns - 1); in nvm_config_check_luns()
276 struct nvm_geo *geo = &dev->geo; in __nvm_config_simple() local
280 s->lun_end = geo->all_luns - 1; in __nvm_config_simple()
283 return nvm_config_check_luns(geo, s->lun_begin, s->lun_end); in __nvm_config_simple()
291 e->lun_end = dev->geo.all_luns - 1; in __nvm_config_extended()
302 return nvm_config_check_luns(&dev->geo, e->lun_begin, e->lun_end); in __nvm_config_extended()
345 if ((tt->flags & NVM_TGT_F_HOST_L2P) != (dev->geo.dom & NVM_RSP_L2P)) { in nvm_create_tgt()
401 mdts = (dev->geo.csecs >> 9) * NVM_MAX_VLBA; in nvm_create_tgt()
402 if (dev->geo.mdts) { in nvm_create_tgt()
403 mdts = min_t(u32, dev->geo.mdts, in nvm_create_tgt()
404 (dev->geo.csecs >> 9) * NVM_MAX_VLBA); in nvm_create_tgt()
514 rmap->chnls = kcalloc(dev->geo.num_ch, sizeof(struct nvm_ch_map), in nvm_register_map()
519 for (i = 0; i < dev->geo.num_ch; i++) { in nvm_register_map()
522 int luns_in_chnl = dev->geo.num_lun; in nvm_register_map()
556 for (i = 0; i < dev->geo.num_ch; i++) in nvm_unregister_map()
675 struct nvm_geo *geo = &tgt_dev->geo; in nvm_set_rqd_ppalist() local
679 if (geo->pln_mode == NVM_PLANE_SINGLE && nr_ppas == 1) { in nvm_set_rqd_ppalist()
693 plane_cnt = geo->pln_mode; in nvm_set_rqd_ppalist()
716 static int nvm_set_flags(struct nvm_geo *geo, struct nvm_rq *rqd) in nvm_set_flags() argument
720 if (geo->version == NVM_OCSSD_SPEC_20) in nvm_set_flags()
724 flags |= geo->pln_mode >> 1; in nvm_set_flags()
745 rqd->flags = nvm_set_flags(&tgt_dev->geo, rqd); in nvm_submit_io()
792 rqd->flags = nvm_set_flags(&tgt_dev->geo, rqd); in nvm_submit_io_sync()
819 rqd->flags = nvm_set_flags(&dev->geo, rqd); in nvm_submit_io_sync_raw()
862 struct nvm_geo *geo = &dev->geo; in nvm_bb_chunk_scan() local
891 ppa.g.pg = geo->num_pg - 1; in nvm_bb_chunk_scan()
892 ppa.g.pl = geo->num_pln - 1; in nvm_bb_chunk_scan()
899 meta->wp = geo->clba; in nvm_bb_chunk_scan()
920 for (pg = 0; pg < geo->num_pg; pg++) { in nvm_bb_chunk_scan()
921 for (pl = 0; pl < geo->num_pln; pl++) { in nvm_bb_chunk_scan()
929 meta->wp += geo->ws_min; in nvm_bb_chunk_scan()
937 meta->wp += geo->ws_min; in nvm_bb_chunk_scan()
959 struct nvm_geo *geo = &dev->geo; in nvm_bb_to_chunk() local
962 for (blk = 0; blk < geo->num_chk; blk++) { in nvm_bb_to_chunk()
963 offset = blk * geo->pln_mode; in nvm_bb_to_chunk()
966 for (pl = 0; pl < geo->pln_mode; pl++) { in nvm_bb_to_chunk()
980 meta->cnlb = dev->geo.clba; in nvm_bb_to_chunk()
999 struct nvm_geo *geo = &dev->geo; in nvm_get_bb_meta() local
1011 if ((nchks % geo->num_chk) != 0) in nvm_get_bb_meta()
1014 nr_blks = geo->num_chk * geo->pln_mode; in nvm_get_bb_meta()
1020 for (ch = ppa.g.ch; ch < geo->num_ch; ch++) { in nvm_get_bb_meta()
1021 for (lun = ppa.g.lun; lun < geo->num_lun; lun++) { in nvm_get_bb_meta()
1041 meta += geo->num_chk; in nvm_get_bb_meta()
1042 nchks -= geo->num_chk; in nvm_get_bb_meta()
1057 if (dev->geo.version == NVM_OCSSD_SPEC_12) in nvm_get_chunk_meta()
1071 if (dev->geo.version == NVM_OCSSD_SPEC_20) in nvm_set_chunk_meta()
1095 struct nvm_geo *geo = &dev->geo; in nvm_core_init() local
1098 dev->lun_map = kcalloc(BITS_TO_LONGS(geo->all_luns), in nvm_core_init()
1134 struct nvm_geo *geo = &dev->geo; in nvm_init() local
1142 pr_debug("ver:%u.%u nvm_vendor:%x\n", geo->major_ver_id, in nvm_init()
1143 geo->minor_ver_id, geo->vmnt); in nvm_init()
1152 dev->name, dev->geo.ws_min, dev->geo.ws_opt, in nvm_init()
1153 dev->geo.num_chk, dev->geo.all_luns, in nvm_init()
1154 dev->geo.num_ch); in nvm_init()
1189 (NVM_MAX_VLBA * (sizeof(u64) + dev->geo.sos))); in nvm_register()