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()
316 struct nvm_tgt_dev *tgt_dev; in nvm_create_tgt() local
370 tgt_dev = nvm_create_tgt_dev(dev, e.lun_begin, e.lun_end, e.op); in nvm_create_tgt()
371 if (!tgt_dev) { in nvm_create_tgt()
397 targetdata = tt->init(tgt_dev, tdisk, create->flags); in nvm_create_tgt()
423 t->dev = tgt_dev; in nvm_create_tgt()
441 nvm_remove_tgt_dev(tgt_dev, 0); in nvm_create_tgt()
568 static void nvm_map_to_dev(struct nvm_tgt_dev *tgt_dev, struct ppa_addr *p) in nvm_map_to_dev() argument
570 struct nvm_dev_map *dev_map = tgt_dev->map; in nvm_map_to_dev()
578 static void nvm_map_to_tgt(struct nvm_tgt_dev *tgt_dev, struct ppa_addr *p) in nvm_map_to_tgt() argument
580 struct nvm_dev *dev = tgt_dev->parent; in nvm_map_to_tgt()
589 static void nvm_ppa_tgt_to_dev(struct nvm_tgt_dev *tgt_dev, in nvm_ppa_tgt_to_dev() argument
595 nvm_map_to_dev(tgt_dev, &ppa_list[i]); in nvm_ppa_tgt_to_dev()
596 ppa_list[i] = generic_to_dev_addr(tgt_dev->parent, ppa_list[i]); in nvm_ppa_tgt_to_dev()
600 static void nvm_ppa_dev_to_tgt(struct nvm_tgt_dev *tgt_dev, in nvm_ppa_dev_to_tgt() argument
606 ppa_list[i] = dev_to_generic_addr(tgt_dev->parent, ppa_list[i]); in nvm_ppa_dev_to_tgt()
607 nvm_map_to_tgt(tgt_dev, &ppa_list[i]); in nvm_ppa_dev_to_tgt()
611 static void nvm_rq_tgt_to_dev(struct nvm_tgt_dev *tgt_dev, struct nvm_rq *rqd) in nvm_rq_tgt_to_dev() argument
615 nvm_ppa_tgt_to_dev(tgt_dev, ppa_list, rqd->nr_ppas); in nvm_rq_tgt_to_dev()
618 static void nvm_rq_dev_to_tgt(struct nvm_tgt_dev *tgt_dev, struct nvm_rq *rqd) in nvm_rq_dev_to_tgt() argument
622 nvm_ppa_dev_to_tgt(tgt_dev, ppa_list, rqd->nr_ppas); in nvm_rq_dev_to_tgt()
676 static int nvm_set_rqd_ppalist(struct nvm_tgt_dev *tgt_dev, struct nvm_rq *rqd, in nvm_set_rqd_ppalist() argument
679 struct nvm_dev *dev = tgt_dev->parent; in nvm_set_rqd_ppalist()
680 struct nvm_geo *geo = &tgt_dev->geo; in nvm_set_rqd_ppalist()
712 static void nvm_free_rqd_ppalist(struct nvm_tgt_dev *tgt_dev, in nvm_free_rqd_ppalist() argument
718 nvm_dev_dma_free(tgt_dev->parent, rqd->ppa_list, rqd->dma_ppa_list); in nvm_free_rqd_ppalist()
739 int nvm_submit_io(struct nvm_tgt_dev *tgt_dev, struct nvm_rq *rqd, void *buf) in nvm_submit_io() argument
741 struct nvm_dev *dev = tgt_dev->parent; in nvm_submit_io()
747 nvm_rq_tgt_to_dev(tgt_dev, rqd); in nvm_submit_io()
749 rqd->dev = tgt_dev; in nvm_submit_io()
750 rqd->flags = nvm_set_flags(&tgt_dev->geo, rqd); in nvm_submit_io()
755 nvm_rq_dev_to_tgt(tgt_dev, rqd); in nvm_submit_io()
785 int nvm_submit_io_sync(struct nvm_tgt_dev *tgt_dev, struct nvm_rq *rqd, in nvm_submit_io_sync() argument
788 struct nvm_dev *dev = tgt_dev->parent; in nvm_submit_io_sync()
794 nvm_rq_tgt_to_dev(tgt_dev, rqd); in nvm_submit_io_sync()
796 rqd->dev = tgt_dev; in nvm_submit_io_sync()
797 rqd->flags = nvm_set_flags(&tgt_dev->geo, rqd); in nvm_submit_io_sync()
807 struct nvm_tgt_dev *tgt_dev = rqd->dev; in nvm_end_io() local
810 if (tgt_dev) in nvm_end_io()
811 nvm_rq_dev_to_tgt(tgt_dev, rqd); in nvm_end_io()
1056 int nvm_get_chunk_meta(struct nvm_tgt_dev *tgt_dev, struct ppa_addr ppa, in nvm_get_chunk_meta() argument
1059 struct nvm_dev *dev = tgt_dev->parent; in nvm_get_chunk_meta()
1061 nvm_ppa_tgt_to_dev(tgt_dev, &ppa, 1); in nvm_get_chunk_meta()
1070 int nvm_set_chunk_meta(struct nvm_tgt_dev *tgt_dev, struct ppa_addr *ppas, in nvm_set_chunk_meta() argument
1073 struct nvm_dev *dev = tgt_dev->parent; in nvm_set_chunk_meta()
1087 nvm_set_rqd_ppalist(tgt_dev, &rqd, ppas, nr_ppas); in nvm_set_chunk_meta()
1088 nvm_rq_tgt_to_dev(tgt_dev, &rqd); in nvm_set_chunk_meta()
1091 nvm_free_rqd_ppalist(tgt_dev, &rqd); in nvm_set_chunk_meta()