Lines Matching refs:tgt_dev
101 static void nvm_remove_tgt_dev(struct nvm_tgt_dev *tgt_dev, int clear) in nvm_remove_tgt_dev() argument
103 struct nvm_dev *dev = tgt_dev->parent; in nvm_remove_tgt_dev()
104 struct nvm_dev_map *dev_map = tgt_dev->map; in nvm_remove_tgt_dev()
128 kfree(tgt_dev->luns); in nvm_remove_tgt_dev()
129 kfree(tgt_dev); in nvm_remove_tgt_dev()
136 struct nvm_tgt_dev *tgt_dev = NULL; in nvm_create_tgt_dev() local
203 tgt_dev = kmalloc(sizeof(struct nvm_tgt_dev), GFP_KERNEL); in nvm_create_tgt_dev()
204 if (!tgt_dev) 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()
219 tgt_dev->geo.total_secs = num_lun * sec_per_lun; in nvm_create_tgt_dev()
221 tgt_dev->q = dev->q; in nvm_create_tgt_dev()
222 tgt_dev->map = dev_map; in nvm_create_tgt_dev()
223 tgt_dev->luns = luns; in nvm_create_tgt_dev()
224 tgt_dev->parent = dev; in nvm_create_tgt_dev()
226 return tgt_dev; in nvm_create_tgt_dev()
236 return tgt_dev; in nvm_create_tgt_dev()
312 struct nvm_tgt_dev *tgt_dev; in nvm_create_tgt() local
366 tgt_dev = nvm_create_tgt_dev(dev, e.lun_begin, e.lun_end, e.op); in nvm_create_tgt()
367 if (!tgt_dev) { in nvm_create_tgt()
392 targetdata = tt->init(tgt_dev, tdisk, create->flags); in nvm_create_tgt()
418 t->dev = tgt_dev; in nvm_create_tgt()
436 nvm_remove_tgt_dev(tgt_dev, 0); in nvm_create_tgt()
563 static void nvm_map_to_dev(struct nvm_tgt_dev *tgt_dev, struct ppa_addr *p) in nvm_map_to_dev() argument
565 struct nvm_dev_map *dev_map = tgt_dev->map; in nvm_map_to_dev()
573 static void nvm_map_to_tgt(struct nvm_tgt_dev *tgt_dev, struct ppa_addr *p) in nvm_map_to_tgt() argument
575 struct nvm_dev *dev = tgt_dev->parent; in nvm_map_to_tgt()
584 static void nvm_ppa_tgt_to_dev(struct nvm_tgt_dev *tgt_dev, in nvm_ppa_tgt_to_dev() argument
590 nvm_map_to_dev(tgt_dev, &ppa_list[i]); in nvm_ppa_tgt_to_dev()
591 ppa_list[i] = generic_to_dev_addr(tgt_dev->parent, ppa_list[i]); in nvm_ppa_tgt_to_dev()
595 static void nvm_ppa_dev_to_tgt(struct nvm_tgt_dev *tgt_dev, in nvm_ppa_dev_to_tgt() argument
601 ppa_list[i] = dev_to_generic_addr(tgt_dev->parent, ppa_list[i]); in nvm_ppa_dev_to_tgt()
602 nvm_map_to_tgt(tgt_dev, &ppa_list[i]); in nvm_ppa_dev_to_tgt()
606 static void nvm_rq_tgt_to_dev(struct nvm_tgt_dev *tgt_dev, struct nvm_rq *rqd) in nvm_rq_tgt_to_dev() argument
610 nvm_ppa_tgt_to_dev(tgt_dev, ppa_list, rqd->nr_ppas); in nvm_rq_tgt_to_dev()
613 static void nvm_rq_dev_to_tgt(struct nvm_tgt_dev *tgt_dev, struct nvm_rq *rqd) in nvm_rq_dev_to_tgt() argument
617 nvm_ppa_dev_to_tgt(tgt_dev, ppa_list, rqd->nr_ppas); in nvm_rq_dev_to_tgt()
671 static int nvm_set_rqd_ppalist(struct nvm_tgt_dev *tgt_dev, struct nvm_rq *rqd, in nvm_set_rqd_ppalist() argument
674 struct nvm_dev *dev = tgt_dev->parent; in nvm_set_rqd_ppalist()
675 struct nvm_geo *geo = &tgt_dev->geo; in nvm_set_rqd_ppalist()
707 static void nvm_free_rqd_ppalist(struct nvm_tgt_dev *tgt_dev, in nvm_free_rqd_ppalist() argument
713 nvm_dev_dma_free(tgt_dev->parent, rqd->ppa_list, rqd->dma_ppa_list); in nvm_free_rqd_ppalist()
734 int nvm_submit_io(struct nvm_tgt_dev *tgt_dev, struct nvm_rq *rqd, void *buf) in nvm_submit_io() argument
736 struct nvm_dev *dev = tgt_dev->parent; in nvm_submit_io()
742 nvm_rq_tgt_to_dev(tgt_dev, rqd); in nvm_submit_io()
744 rqd->dev = tgt_dev; in nvm_submit_io()
745 rqd->flags = nvm_set_flags(&tgt_dev->geo, rqd); in nvm_submit_io()
750 nvm_rq_dev_to_tgt(tgt_dev, rqd); in nvm_submit_io()
780 int nvm_submit_io_sync(struct nvm_tgt_dev *tgt_dev, struct nvm_rq *rqd, in nvm_submit_io_sync() argument
783 struct nvm_dev *dev = tgt_dev->parent; in nvm_submit_io_sync()
789 nvm_rq_tgt_to_dev(tgt_dev, rqd); in nvm_submit_io_sync()
791 rqd->dev = tgt_dev; in nvm_submit_io_sync()
792 rqd->flags = nvm_set_flags(&tgt_dev->geo, rqd); in nvm_submit_io_sync()
802 struct nvm_tgt_dev *tgt_dev = rqd->dev; in nvm_end_io() local
805 if (tgt_dev) in nvm_end_io()
806 nvm_rq_dev_to_tgt(tgt_dev, rqd); in nvm_end_io()
1051 int nvm_get_chunk_meta(struct nvm_tgt_dev *tgt_dev, struct ppa_addr ppa, in nvm_get_chunk_meta() argument
1054 struct nvm_dev *dev = tgt_dev->parent; in nvm_get_chunk_meta()
1056 nvm_ppa_tgt_to_dev(tgt_dev, &ppa, 1); in nvm_get_chunk_meta()
1065 int nvm_set_chunk_meta(struct nvm_tgt_dev *tgt_dev, struct ppa_addr *ppas, in nvm_set_chunk_meta() argument
1068 struct nvm_dev *dev = tgt_dev->parent; in nvm_set_chunk_meta()
1082 nvm_set_rqd_ppalist(tgt_dev, &rqd, ppas, nr_ppas); in nvm_set_chunk_meta()
1083 nvm_rq_tgt_to_dev(tgt_dev, &rqd); in nvm_set_chunk_meta()
1086 nvm_free_rqd_ppalist(tgt_dev, &rqd); in nvm_set_chunk_meta()