Lines Matching refs:lm

409 	struct pblk_line_meta *lm = &pblk->lm;
429 } else if (vsc < lm->high_thrs) {
434 } else if (vsc < lm->mid_thrs) {
459 lm->high_thrs, lm->mid_thrs);
605 pblk->lm.sec_per_line, line->cur_sec);
621 if (line->cur_sec + nr_secs > pblk->lm.sec_per_line) {
623 nr_secs = pblk->lm.sec_per_line - line->cur_sec;
627 pblk->lm.sec_per_line, line->cur_sec);
656 pblk->lm.sec_per_line, line->cur_sec);
666 struct pblk_line_meta *lm = &pblk->lm;
670 bit = find_first_zero_bit(line->blk_bitmap, lm->blk_per_line);
671 if (bit >= lm->blk_per_line)
679 struct pblk_line_meta *lm = &pblk->lm;
692 rqd.nr_ppas = lm->smeta_sec;
696 for (i = 0; i < lm->smeta_sec; i++, paddr++)
720 struct pblk_line_meta *lm = &pblk->lm;
734 rqd.nr_ppas = lm->smeta_sec;
738 for (i = 0; i < lm->smeta_sec; i++, paddr++) {
769 struct pblk_line_meta *lm = &pblk->lm;
776 int left_ppas = lm->emeta_sec[0];
887 struct pblk_line_meta *lm = &pblk->lm;
894 bit = find_next_zero_bit(line->erase_bitmap, lm->blk_per_line,
896 if (bit >= lm->blk_per_line) {
920 struct pblk_line_meta *lm)
941 memset(line->smeta, 0, lm->smeta_len);
942 memset(line->emeta->buf, 0, lm->emeta_len[0]);
956 struct pblk_line_meta *lm = &pblk->lm;
966 nr_blk_line = lm->blk_per_line -
967 bitmap_weight(line->blk_bitmap, lm->blk_per_line);
968 if (nr_blk_line < lm->min_blk_line) {
988 bitmap_set(line->lun_bitmap, 0, lm->lun_bitmap_len);
1003 memcpy(line->lun_bitmap, cur->lun_bitmap, lm->lun_bitmap_len);
1036 struct pblk_line_meta *lm = &pblk->lm;
1043 memset(line->map_bitmap, 0, lm->sec_bitmap_len);
1064 struct pblk_line_meta *lm = &pblk->lm;
1070 line->sec_in_line = lm->sec_per_line;
1073 while ((bit = find_next_bit(line->blk_bitmap, lm->blk_per_line,
1074 bit + 1)) < lm->blk_per_line) {
1077 lm->sec_per_line);
1079 lm->sec_per_line);
1084 bit = find_first_zero_bit(line->blk_bitmap, lm->blk_per_line);
1086 bitmap_set(line->map_bitmap, off, lm->smeta_sec);
1087 line->sec_in_line -= lm->smeta_sec;
1088 line->cur_sec = off + lm->smeta_sec;
1095 bitmap_copy(line->invalid_bitmap, line->map_bitmap, lm->sec_per_line);
1100 emeta_secs = lm->emeta_sec[0];
1101 off = lm->sec_per_line;
1111 line->sec_in_line -= lm->emeta_sec[0];
1116 if (lm->sec_per_line - line->sec_in_line !=
1117 bitmap_weight(line->invalid_bitmap, lm->sec_per_line)) {
1135 struct pblk_line_meta *lm = &pblk->lm;
1141 for (i = 0; i < lm->blk_per_line; i++) {
1159 struct pblk_line_meta *lm = &pblk->lm;
1164 bitmap_copy(line->erase_bitmap, line->blk_bitmap, lm->blk_per_line);
1180 if (blk_in_line < lm->min_blk_line) {
1199 line->meta_distance = lm->meta_distance;
1280 struct pblk_line_meta *lm = &pblk->lm;
1296 bit = find_first_zero_bit(line->blk_bitmap, lm->blk_per_line);
1297 if (unlikely(bit >= lm->blk_per_line)) {
1387 pblk_line_setup_metadata(line, l_mg, &pblk->lm);
1465 struct pblk_line_meta *lm = &pblk->lm;
1481 while (emeta->mem < lm->emeta_len[0]) {
1557 pblk_line_setup_metadata(new, l_mg, &pblk->lm);
1746 struct pblk_line_meta *lm = &pblk->lm;
1752 WARN(!bitmap_full(line->map_bitmap, lm->sec_per_line),
1772 for (i = 0; i < lm->blk_per_line; i++) {
1791 struct pblk_line_meta *lm = &pblk->lm;
1794 struct wa_counters *wa = emeta_to_wa(lm, emeta_buf);
1797 memcpy(emeta_to_vsc(pblk, emeta_buf), l_mg->vsc_list, lm->vsc_list_len);
1798 memcpy(emeta_to_bb(emeta_buf), line->blk_bitmap, lm->blk_bitmap_len);
1837 struct pblk_line_meta *lm = &pblk->lm;
1838 unsigned int lba_list_size = lm->emeta_len[2];