Lines Matching refs:ppa
27 struct ppa_addr *ppa = line_ws->priv; in pblk_line_mark_bb() local
30 ret = nvm_set_tgt_bb_tbl(dev, ppa, 1, NVM_BLK_T_GRWN_BAD); in pblk_line_mark_bb()
35 line = &pblk->lines[pblk_ppa_to_line(*ppa)]; in pblk_line_mark_bb()
36 pos = pblk_ppa_to_pos(&dev->geo, *ppa); in pblk_line_mark_bb()
42 kfree(ppa); in pblk_line_mark_bb()
51 struct ppa_addr *ppa; in pblk_mark_bb() local
66 ppa = kmalloc(sizeof(struct ppa_addr), GFP_ATOMIC); in pblk_mark_bb()
67 if (!ppa) in pblk_mark_bb()
70 *ppa = ppa_addr; in pblk_mark_bb()
71 pblk_gen_run_ws(pblk, NULL, ppa, pblk_line_mark_bb, in pblk_mark_bb()
118 struct ppa_addr ppa; in pblk_chunk_get_info() local
122 ppa.ppa = 0; in pblk_chunk_get_info()
129 ret = nvm_get_chunk_meta(dev, meta, ppa, geo->all_chunks); in pblk_chunk_get_info()
140 struct ppa_addr ppa) in pblk_chunk_get_off() argument
144 int ch_off = ppa.m.grp * geo->num_chk * geo->num_lun; in pblk_chunk_get_off()
145 int lun_off = ppa.m.pu * geo->num_chk; in pblk_chunk_get_off()
146 int chk_off = ppa.m.chk; in pblk_chunk_get_off()
191 void pblk_map_invalidate(struct pblk *pblk, struct ppa_addr ppa) in pblk_map_invalidate() argument
199 BUG_ON(pblk_addr_in_cache(ppa)); in pblk_map_invalidate()
200 BUG_ON(pblk_ppa_empty(ppa)); in pblk_map_invalidate()
203 line_id = pblk_ppa_to_line(ppa); in pblk_map_invalidate()
205 paddr = pblk_dev_ppa_to_line_addr(pblk, ppa); in pblk_map_invalidate()
217 struct ppa_addr ppa; in pblk_invalidate_range() local
219 ppa = pblk_trans_map_get(pblk, lba); in pblk_invalidate_range()
221 if (!pblk_addr_in_cache(ppa) && !pblk_ppa_empty(ppa)) in pblk_invalidate_range()
222 pblk_map_invalidate(pblk, ppa); in pblk_invalidate_range()
224 pblk_ppa_set_empty(&ppa); in pblk_invalidate_range()
225 pblk_trans_map_set(pblk, lba, ppa); in pblk_invalidate_range()
704 struct ppa_addr ppa = addr_to_gen_ppa(pblk, paddr, id); in pblk_line_submit_emeta_io() local
705 int pos = pblk_ppa_to_pos(geo, ppa); in pblk_line_submit_emeta_io()
722 ppa = addr_to_gen_ppa(pblk, paddr, id); in pblk_line_submit_emeta_io()
723 pos = pblk_ppa_to_pos(geo, ppa); in pblk_line_submit_emeta_io()
883 struct ppa_addr ppa) in pblk_setup_e_rq() argument
886 rqd->ppa_addr = ppa; in pblk_setup_e_rq()
892 static int pblk_blk_erase_sync(struct pblk *pblk, struct ppa_addr ppa) in pblk_blk_erase_sync() argument
899 pblk_setup_e_rq(pblk, &rqd, ppa); in pblk_blk_erase_sync()
910 pblk_ppa_to_line(ppa), in pblk_blk_erase_sync()
911 pblk_ppa_to_pos(geo, ppa)); in pblk_blk_erase_sync()
927 struct ppa_addr ppa; in pblk_line_erase() local
940 ppa = pblk->luns[bit].bppa; /* set ch and lun */ in pblk_line_erase()
941 ppa.a.blk = line->id; in pblk_line_erase()
947 ret = pblk_blk_erase_sync(pblk, ppa); in pblk_line_erase()
1671 int pblk_blk_erase_async(struct pblk *pblk, struct ppa_addr ppa) in pblk_blk_erase_async() argument
1678 pblk_setup_e_rq(pblk, rqd, ppa); in pblk_blk_erase_async()
1692 pblk_ppa_to_line(ppa), in pblk_blk_erase_async()
1693 pblk_ppa_to_pos(geo, ppa)); in pblk_blk_erase_async()
1933 void pblk_update_map(struct pblk *pblk, sector_t lba, struct ppa_addr ppa) in pblk_update_map() argument
1949 pblk_trans_map_set(pblk, lba, ppa); in pblk_update_map()
1953 void pblk_update_map_cache(struct pblk *pblk, sector_t lba, struct ppa_addr ppa) in pblk_update_map_cache() argument
1958 BUG_ON(!pblk_addr_in_cache(ppa)); in pblk_update_map_cache()
1959 BUG_ON(pblk_rb_pos_oob(&pblk->rwb, pblk_addr_to_cacheline(ppa))); in pblk_update_map_cache()
1962 pblk_update_map(pblk, lba, ppa); in pblk_update_map_cache()
2057 struct ppa_addr ppa; in pblk_lookup_l2p_seq() local
2059 ppa = ppas[i] = pblk_trans_map_get(pblk, blba + i); in pblk_lookup_l2p_seq()
2062 if (!pblk_ppa_empty(ppa) && !pblk_addr_in_cache(ppa)) { in pblk_lookup_l2p_seq()
2063 int line_id = pblk_ppa_to_line(ppa); in pblk_lookup_l2p_seq()