l_mg              167 drivers/lightnvm/pblk-core.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg              189 drivers/lightnvm/pblk-core.c 		spin_lock(&l_mg->gc_lock);
l_mg              194 drivers/lightnvm/pblk-core.c 			spin_unlock(&l_mg->gc_lock);
l_mg              200 drivers/lightnvm/pblk-core.c 		spin_unlock(&l_mg->gc_lock);
l_mg              410 drivers/lightnvm/pblk-core.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg              421 drivers/lightnvm/pblk-core.c 			move_list = &l_mg->gc_werr_list;
l_mg              427 drivers/lightnvm/pblk-core.c 			move_list = &l_mg->gc_full_list;
l_mg              432 drivers/lightnvm/pblk-core.c 			move_list = &l_mg->gc_high_list;
l_mg              437 drivers/lightnvm/pblk-core.c 			move_list = &l_mg->gc_mid_list;
l_mg              442 drivers/lightnvm/pblk-core.c 			move_list = &l_mg->gc_low_list;
l_mg              447 drivers/lightnvm/pblk-core.c 			move_list = &l_mg->gc_empty_list;
l_mg              455 drivers/lightnvm/pblk-core.c 		move_list =  &l_mg->corrupt_list;
l_mg              919 drivers/lightnvm/pblk-core.c 				     struct pblk_line_mgmt *l_mg,
l_mg              924 drivers/lightnvm/pblk-core.c 	lockdep_assert_held(&l_mg->free_lock);
l_mg              927 drivers/lightnvm/pblk-core.c 	meta_line = find_first_zero_bit(&l_mg->meta_bitmap, PBLK_DATA_LINES);
l_mg              929 drivers/lightnvm/pblk-core.c 		spin_unlock(&l_mg->free_lock);
l_mg              931 drivers/lightnvm/pblk-core.c 		spin_lock(&l_mg->free_lock);
l_mg              935 drivers/lightnvm/pblk-core.c 	set_bit(meta_line, &l_mg->meta_bitmap);
l_mg              938 drivers/lightnvm/pblk-core.c 	line->smeta = l_mg->sline_meta[meta_line];
l_mg              939 drivers/lightnvm/pblk-core.c 	line->emeta = l_mg->eline_meta[meta_line];
l_mg              957 drivers/lightnvm/pblk-core.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg              969 drivers/lightnvm/pblk-core.c 		spin_lock(&l_mg->free_lock);
l_mg              976 drivers/lightnvm/pblk-core.c 		list_add_tail(&line->list, &l_mg->bad_list);
l_mg              977 drivers/lightnvm/pblk-core.c 		spin_unlock(&l_mg->free_lock);
l_mg             1037 drivers/lightnvm/pblk-core.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg             1039 drivers/lightnvm/pblk-core.c 	line->map_bitmap = mempool_alloc(l_mg->bitmap_pool, GFP_KERNEL);
l_mg             1046 drivers/lightnvm/pblk-core.c 	line->invalid_bitmap = mempool_alloc(l_mg->bitmap_pool, GFP_KERNEL);
l_mg             1048 drivers/lightnvm/pblk-core.c 		mempool_free(line->map_bitmap, l_mg->bitmap_pool);
l_mg             1065 drivers/lightnvm/pblk-core.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg             1076 drivers/lightnvm/pblk-core.c 		bitmap_shift_left(l_mg->bb_aux, l_mg->bb_template, off,
l_mg             1078 drivers/lightnvm/pblk-core.c 		bitmap_or(line->map_bitmap, line->map_bitmap, l_mg->bb_aux,
l_mg             1124 drivers/lightnvm/pblk-core.c 		list_add_tail(&line->list, &l_mg->bad_list);
l_mg             1211 drivers/lightnvm/pblk-core.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg             1214 drivers/lightnvm/pblk-core.c 	spin_lock(&l_mg->free_lock);
l_mg             1215 drivers/lightnvm/pblk-core.c 	l_mg->data_line = line;
l_mg             1220 drivers/lightnvm/pblk-core.c 		list_add(&line->list, &l_mg->free_list);
l_mg             1221 drivers/lightnvm/pblk-core.c 		spin_unlock(&l_mg->free_lock);
l_mg             1224 drivers/lightnvm/pblk-core.c 	spin_unlock(&l_mg->free_lock);
l_mg             1239 drivers/lightnvm/pblk-core.c 	spin_lock(&l_mg->free_lock);
l_mg             1240 drivers/lightnvm/pblk-core.c 	list_add(&line->list, &l_mg->free_list);
l_mg             1241 drivers/lightnvm/pblk-core.c 	spin_unlock(&l_mg->free_lock);
l_mg             1248 drivers/lightnvm/pblk-core.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg             1250 drivers/lightnvm/pblk-core.c 	mempool_free(line->map_bitmap, l_mg->bitmap_pool);
l_mg             1269 drivers/lightnvm/pblk-core.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg             1271 drivers/lightnvm/pblk-core.c 	mempool_free(line->map_bitmap, l_mg->bitmap_pool);
l_mg             1272 drivers/lightnvm/pblk-core.c 	mempool_free(line->invalid_bitmap, l_mg->bitmap_pool);
l_mg             1279 drivers/lightnvm/pblk-core.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg             1284 drivers/lightnvm/pblk-core.c 	lockdep_assert_held(&l_mg->free_lock);
l_mg             1287 drivers/lightnvm/pblk-core.c 	if (list_empty(&l_mg->free_list)) {
l_mg             1292 drivers/lightnvm/pblk-core.c 	line = list_first_entry(&l_mg->free_list, struct pblk_line, list);
l_mg             1294 drivers/lightnvm/pblk-core.c 	l_mg->nr_free_lines--;
l_mg             1304 drivers/lightnvm/pblk-core.c 		list_add_tail(&line->list, &l_mg->bad_list);
l_mg             1314 drivers/lightnvm/pblk-core.c 			list_add(&line->list, &l_mg->bad_list);
l_mg             1317 drivers/lightnvm/pblk-core.c 			list_add(&line->list, &l_mg->corrupt_list);
l_mg             1321 drivers/lightnvm/pblk-core.c 			list_add(&line->list, &l_mg->free_list);
l_mg             1322 drivers/lightnvm/pblk-core.c 			l_mg->nr_free_lines++;
l_mg             1333 drivers/lightnvm/pblk-core.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg             1337 drivers/lightnvm/pblk-core.c 	spin_lock(&l_mg->free_lock);
l_mg             1340 drivers/lightnvm/pblk-core.c 		l_mg->data_line = NULL;
l_mg             1341 drivers/lightnvm/pblk-core.c 		spin_unlock(&l_mg->free_lock);
l_mg             1353 drivers/lightnvm/pblk-core.c 	l_mg->data_line = retry_line;
l_mg             1354 drivers/lightnvm/pblk-core.c 	spin_unlock(&l_mg->free_lock);
l_mg             1373 drivers/lightnvm/pblk-core.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg             1376 drivers/lightnvm/pblk-core.c 	spin_lock(&l_mg->free_lock);
l_mg             1379 drivers/lightnvm/pblk-core.c 		spin_unlock(&l_mg->free_lock);
l_mg             1383 drivers/lightnvm/pblk-core.c 	line->seq_nr = l_mg->d_seq_nr++;
l_mg             1385 drivers/lightnvm/pblk-core.c 	l_mg->data_line = line;
l_mg             1387 drivers/lightnvm/pblk-core.c 	pblk_line_setup_metadata(line, l_mg, &pblk->lm);
l_mg             1390 drivers/lightnvm/pblk-core.c 	l_mg->data_next = pblk_line_get(pblk);
l_mg             1391 drivers/lightnvm/pblk-core.c 	if (!l_mg->data_next) {
l_mg             1398 drivers/lightnvm/pblk-core.c 		l_mg->data_next = NULL;
l_mg             1400 drivers/lightnvm/pblk-core.c 		l_mg->data_next->seq_nr = l_mg->d_seq_nr++;
l_mg             1401 drivers/lightnvm/pblk-core.c 		l_mg->data_next->type = PBLK_LINETYPE_DATA;
l_mg             1403 drivers/lightnvm/pblk-core.c 	spin_unlock(&l_mg->free_lock);
l_mg             1455 drivers/lightnvm/pblk-core.c 	lockdep_assert_held(&pblk->l_mg.free_lock);
l_mg             1464 drivers/lightnvm/pblk-core.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg             1469 drivers/lightnvm/pblk-core.c 	spin_lock(&l_mg->close_lock);
l_mg             1470 drivers/lightnvm/pblk-core.c 	if (list_empty(&l_mg->emeta_list)) {
l_mg             1471 drivers/lightnvm/pblk-core.c 		spin_unlock(&l_mg->close_lock);
l_mg             1475 drivers/lightnvm/pblk-core.c 	list_cut_position(&list, &l_mg->emeta_list, l_mg->emeta_list.prev);
l_mg             1476 drivers/lightnvm/pblk-core.c 	spin_unlock(&l_mg->close_lock);
l_mg             1499 drivers/lightnvm/pblk-core.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg             1502 drivers/lightnvm/pblk-core.c 	spin_lock(&l_mg->free_lock);
l_mg             1505 drivers/lightnvm/pblk-core.c 		spin_unlock(&l_mg->free_lock);
l_mg             1510 drivers/lightnvm/pblk-core.c 	spin_unlock(&l_mg->free_lock);
l_mg             1527 drivers/lightnvm/pblk-core.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg             1529 drivers/lightnvm/pblk-core.c 	spin_lock(&l_mg->free_lock);
l_mg             1532 drivers/lightnvm/pblk-core.c 	l_mg->data_line = NULL;
l_mg             1533 drivers/lightnvm/pblk-core.c 	l_mg->data_next = NULL;
l_mg             1534 drivers/lightnvm/pblk-core.c 	spin_unlock(&l_mg->free_lock);
l_mg             1545 drivers/lightnvm/pblk-core.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg             1549 drivers/lightnvm/pblk-core.c 	new = l_mg->data_next;
l_mg             1553 drivers/lightnvm/pblk-core.c 	spin_lock(&l_mg->free_lock);
l_mg             1554 drivers/lightnvm/pblk-core.c 	cur = l_mg->data_line;
l_mg             1555 drivers/lightnvm/pblk-core.c 	l_mg->data_line = new;
l_mg             1557 drivers/lightnvm/pblk-core.c 	pblk_line_setup_metadata(new, l_mg, &pblk->lm);
l_mg             1558 drivers/lightnvm/pblk-core.c 	spin_unlock(&l_mg->free_lock);
l_mg             1596 drivers/lightnvm/pblk-core.c 	spin_lock(&l_mg->free_lock);
l_mg             1597 drivers/lightnvm/pblk-core.c 	l_mg->data_next = pblk_line_get(pblk);
l_mg             1598 drivers/lightnvm/pblk-core.c 	if (!l_mg->data_next) {
l_mg             1604 drivers/lightnvm/pblk-core.c 		l_mg->data_next = NULL;
l_mg             1606 drivers/lightnvm/pblk-core.c 		l_mg->data_next->seq_nr = l_mg->d_seq_nr++;
l_mg             1607 drivers/lightnvm/pblk-core.c 		l_mg->data_next->type = PBLK_LINETYPE_DATA;
l_mg             1609 drivers/lightnvm/pblk-core.c 	spin_unlock(&l_mg->free_lock);
l_mg             1617 drivers/lightnvm/pblk-core.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg             1644 drivers/lightnvm/pblk-core.c 	spin_lock(&l_mg->free_lock);
l_mg             1645 drivers/lightnvm/pblk-core.c 	list_add_tail(&line->list, &l_mg->free_list);
l_mg             1646 drivers/lightnvm/pblk-core.c 	l_mg->nr_free_lines++;
l_mg             1647 drivers/lightnvm/pblk-core.c 	spin_unlock(&l_mg->free_lock);
l_mg             1722 drivers/lightnvm/pblk-core.c 	return pblk->l_mg.data_line;
l_mg             1728 drivers/lightnvm/pblk-core.c 	return pblk->l_mg.data_next;
l_mg             1747 drivers/lightnvm/pblk-core.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg             1756 drivers/lightnvm/pblk-core.c 	spin_lock(&l_mg->free_lock);
l_mg             1757 drivers/lightnvm/pblk-core.c 	WARN_ON(!test_and_clear_bit(line->meta_line, &l_mg->meta_bitmap));
l_mg             1758 drivers/lightnvm/pblk-core.c 	spin_unlock(&l_mg->free_lock);
l_mg             1760 drivers/lightnvm/pblk-core.c 	spin_lock(&l_mg->gc_lock);
l_mg             1767 drivers/lightnvm/pblk-core.c 	mempool_free(line->map_bitmap, l_mg->bitmap_pool);
l_mg             1782 drivers/lightnvm/pblk-core.c 	spin_unlock(&l_mg->gc_lock);
l_mg             1790 drivers/lightnvm/pblk-core.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg             1797 drivers/lightnvm/pblk-core.c 	memcpy(emeta_to_vsc(pblk, emeta_buf), l_mg->vsc_list, lm->vsc_list_len);
l_mg             1819 drivers/lightnvm/pblk-core.c 	spin_lock(&l_mg->close_lock);
l_mg             1828 drivers/lightnvm/pblk-core.c 	list_add_tail(&line->list, &l_mg->emeta_list);
l_mg             1830 drivers/lightnvm/pblk-core.c 	spin_unlock(&l_mg->close_lock);
l_mg               64 drivers/lightnvm/pblk-gc.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg               67 drivers/lightnvm/pblk-gc.c 	spin_lock(&l_mg->gc_lock);
l_mg               83 drivers/lightnvm/pblk-gc.c 	spin_unlock(&l_mg->gc_lock);
l_mg              409 drivers/lightnvm/pblk-gc.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg              414 drivers/lightnvm/pblk-gc.c 		spin_lock(&l_mg->gc_lock);
l_mg              415 drivers/lightnvm/pblk-gc.c 		if (list_empty(&l_mg->gc_full_list)) {
l_mg              416 drivers/lightnvm/pblk-gc.c 			spin_unlock(&l_mg->gc_lock);
l_mg              420 drivers/lightnvm/pblk-gc.c 		line = list_first_entry(&l_mg->gc_full_list,
l_mg              431 drivers/lightnvm/pblk-gc.c 		spin_unlock(&l_mg->gc_lock);
l_mg              446 drivers/lightnvm/pblk-gc.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg              460 drivers/lightnvm/pblk-gc.c 	group_list = l_mg->gc_lists[gc_group++];
l_mg              463 drivers/lightnvm/pblk-gc.c 		spin_lock(&l_mg->gc_lock);
l_mg              467 drivers/lightnvm/pblk-gc.c 			spin_unlock(&l_mg->gc_lock);
l_mg              479 drivers/lightnvm/pblk-gc.c 		spin_unlock(&l_mg->gc_lock);
l_mg              537 drivers/lightnvm/pblk-init.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg              540 drivers/lightnvm/pblk-init.c 	kfree(l_mg->bb_template);
l_mg              541 drivers/lightnvm/pblk-init.c 	kfree(l_mg->bb_aux);
l_mg              542 drivers/lightnvm/pblk-init.c 	kfree(l_mg->vsc_list);
l_mg              545 drivers/lightnvm/pblk-init.c 		kfree(l_mg->sline_meta[i]);
l_mg              546 drivers/lightnvm/pblk-init.c 		kvfree(l_mg->eline_meta[i]->buf);
l_mg              547 drivers/lightnvm/pblk-init.c 		kfree(l_mg->eline_meta[i]);
l_mg              550 drivers/lightnvm/pblk-init.c 	mempool_destroy(l_mg->bitmap_pool);
l_mg              551 drivers/lightnvm/pblk-init.c 	kmem_cache_destroy(l_mg->bitmap_cache);
l_mg              554 drivers/lightnvm/pblk-init.c static void pblk_line_meta_free(struct pblk_line_mgmt *l_mg,
l_mg              569 drivers/lightnvm/pblk-init.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg              573 drivers/lightnvm/pblk-init.c 	for (i = 0; i < l_mg->nr_lines; i++) {
l_mg              577 drivers/lightnvm/pblk-init.c 		pblk_line_meta_free(l_mg, line);
l_mg              623 drivers/lightnvm/pblk-init.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg              639 drivers/lightnvm/pblk-init.c 	lm->emeta_sec[3] = DIV_ROUND_UP(l_mg->nr_lines * sizeof(u32),
l_mg              643 drivers/lightnvm/pblk-init.c 	lm->vsc_list_len = l_mg->nr_lines * sizeof(u32);
l_mg              651 drivers/lightnvm/pblk-init.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg              692 drivers/lightnvm/pblk-init.c 	sec_meta = (lm->smeta_sec + lm->emeta_sec[0]) * l_mg->nr_free_lines;
l_mg              754 drivers/lightnvm/pblk-init.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg              763 drivers/lightnvm/pblk-init.c 	line->vsc = &l_mg->vsc_list[line_id];
l_mg              772 drivers/lightnvm/pblk-init.c 		list_add_tail(&line->list, &l_mg->bad_list);
l_mg              777 drivers/lightnvm/pblk-init.c 	list_add_tail(&line->list, &l_mg->free_list);
l_mg              778 drivers/lightnvm/pblk-init.c 	l_mg->nr_free_lines++;
l_mg              820 drivers/lightnvm/pblk-init.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg              824 drivers/lightnvm/pblk-init.c 	l_mg->nr_lines = geo->num_chk;
l_mg              825 drivers/lightnvm/pblk-init.c 	l_mg->log_line = l_mg->data_line = NULL;
l_mg              826 drivers/lightnvm/pblk-init.c 	l_mg->l_seq_nr = l_mg->d_seq_nr = 0;
l_mg              827 drivers/lightnvm/pblk-init.c 	l_mg->nr_free_lines = 0;
l_mg              828 drivers/lightnvm/pblk-init.c 	bitmap_zero(&l_mg->meta_bitmap, PBLK_DATA_LINES);
l_mg              830 drivers/lightnvm/pblk-init.c 	INIT_LIST_HEAD(&l_mg->free_list);
l_mg              831 drivers/lightnvm/pblk-init.c 	INIT_LIST_HEAD(&l_mg->corrupt_list);
l_mg              832 drivers/lightnvm/pblk-init.c 	INIT_LIST_HEAD(&l_mg->bad_list);
l_mg              833 drivers/lightnvm/pblk-init.c 	INIT_LIST_HEAD(&l_mg->gc_full_list);
l_mg              834 drivers/lightnvm/pblk-init.c 	INIT_LIST_HEAD(&l_mg->gc_high_list);
l_mg              835 drivers/lightnvm/pblk-init.c 	INIT_LIST_HEAD(&l_mg->gc_mid_list);
l_mg              836 drivers/lightnvm/pblk-init.c 	INIT_LIST_HEAD(&l_mg->gc_low_list);
l_mg              837 drivers/lightnvm/pblk-init.c 	INIT_LIST_HEAD(&l_mg->gc_empty_list);
l_mg              838 drivers/lightnvm/pblk-init.c 	INIT_LIST_HEAD(&l_mg->gc_werr_list);
l_mg              840 drivers/lightnvm/pblk-init.c 	INIT_LIST_HEAD(&l_mg->emeta_list);
l_mg              842 drivers/lightnvm/pblk-init.c 	l_mg->gc_lists[0] = &l_mg->gc_werr_list;
l_mg              843 drivers/lightnvm/pblk-init.c 	l_mg->gc_lists[1] = &l_mg->gc_high_list;
l_mg              844 drivers/lightnvm/pblk-init.c 	l_mg->gc_lists[2] = &l_mg->gc_mid_list;
l_mg              845 drivers/lightnvm/pblk-init.c 	l_mg->gc_lists[3] = &l_mg->gc_low_list;
l_mg              847 drivers/lightnvm/pblk-init.c 	spin_lock_init(&l_mg->free_lock);
l_mg              848 drivers/lightnvm/pblk-init.c 	spin_lock_init(&l_mg->close_lock);
l_mg              849 drivers/lightnvm/pblk-init.c 	spin_lock_init(&l_mg->gc_lock);
l_mg              851 drivers/lightnvm/pblk-init.c 	l_mg->vsc_list = kcalloc(l_mg->nr_lines, sizeof(__le32), GFP_KERNEL);
l_mg              852 drivers/lightnvm/pblk-init.c 	if (!l_mg->vsc_list)
l_mg              855 drivers/lightnvm/pblk-init.c 	l_mg->bb_template = kzalloc(lm->sec_bitmap_len, GFP_KERNEL);
l_mg              856 drivers/lightnvm/pblk-init.c 	if (!l_mg->bb_template)
l_mg              859 drivers/lightnvm/pblk-init.c 	l_mg->bb_aux = kzalloc(lm->sec_bitmap_len, GFP_KERNEL);
l_mg              860 drivers/lightnvm/pblk-init.c 	if (!l_mg->bb_aux)
l_mg              867 drivers/lightnvm/pblk-init.c 		l_mg->sline_meta[i] = kmalloc(lm->smeta_len, GFP_KERNEL);
l_mg              868 drivers/lightnvm/pblk-init.c 		if (!l_mg->sline_meta[i])
l_mg              872 drivers/lightnvm/pblk-init.c 	l_mg->bitmap_cache = kmem_cache_create("pblk_lm_bitmap",
l_mg              874 drivers/lightnvm/pblk-init.c 	if (!l_mg->bitmap_cache)
l_mg              878 drivers/lightnvm/pblk-init.c 	l_mg->bitmap_pool = mempool_create_slab_pool(PBLK_DATA_LINES * 2,
l_mg              879 drivers/lightnvm/pblk-init.c 				l_mg->bitmap_cache);
l_mg              880 drivers/lightnvm/pblk-init.c 	if (!l_mg->bitmap_pool)
l_mg              900 drivers/lightnvm/pblk-init.c 		l_mg->eline_meta[i] = emeta;
l_mg              903 drivers/lightnvm/pblk-init.c 	for (i = 0; i < l_mg->nr_lines; i++)
l_mg              904 drivers/lightnvm/pblk-init.c 		l_mg->vsc_list[i] = cpu_to_le32(EMPTY_ENTRY);
l_mg              908 drivers/lightnvm/pblk-init.c 		bitmap_set(l_mg->bb_template, i, geo->ws_opt);
l_mg              914 drivers/lightnvm/pblk-init.c 		kvfree(l_mg->eline_meta[i]->buf);
l_mg              915 drivers/lightnvm/pblk-init.c 		kfree(l_mg->eline_meta[i]);
l_mg              918 drivers/lightnvm/pblk-init.c 	mempool_destroy(l_mg->bitmap_pool);
l_mg              920 drivers/lightnvm/pblk-init.c 	kmem_cache_destroy(l_mg->bitmap_cache);
l_mg              923 drivers/lightnvm/pblk-init.c 		kfree(l_mg->sline_meta[i]);
l_mg              924 drivers/lightnvm/pblk-init.c 	kfree(l_mg->bb_aux);
l_mg              926 drivers/lightnvm/pblk-init.c 	kfree(l_mg->bb_template);
l_mg              928 drivers/lightnvm/pblk-init.c 	kfree(l_mg->vsc_list);
l_mg              996 drivers/lightnvm/pblk-init.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg             1020 drivers/lightnvm/pblk-init.c 	pblk->lines = kcalloc(l_mg->nr_lines, sizeof(struct pblk_line),
l_mg             1027 drivers/lightnvm/pblk-init.c 	for (i = 0; i < l_mg->nr_lines; i++) {
l_mg             1055 drivers/lightnvm/pblk-init.c 		pblk_line_meta_free(l_mg, &pblk->lines[i]);
l_mg             1253 drivers/lightnvm/pblk-init.c 			geo->all_luns, pblk->l_mg.nr_lines,
l_mg               96 drivers/lightnvm/pblk-recovery.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg              102 drivers/lightnvm/pblk-recovery.c 	spin_lock(&l_mg->free_lock);
l_mg              113 drivers/lightnvm/pblk-recovery.c 	spin_unlock(&l_mg->free_lock);
l_mg              654 drivers/lightnvm/pblk-recovery.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg              668 drivers/lightnvm/pblk-recovery.c 	spin_lock(&l_mg->free_lock);
l_mg              669 drivers/lightnvm/pblk-recovery.c 	meta_line = find_first_zero_bit(&l_mg->meta_bitmap, PBLK_DATA_LINES);
l_mg              670 drivers/lightnvm/pblk-recovery.c 	set_bit(meta_line, &l_mg->meta_bitmap);
l_mg              671 drivers/lightnvm/pblk-recovery.c 	smeta = l_mg->sline_meta[meta_line];
l_mg              672 drivers/lightnvm/pblk-recovery.c 	emeta = l_mg->eline_meta[meta_line];
l_mg              674 drivers/lightnvm/pblk-recovery.c 	spin_unlock(&l_mg->free_lock);
l_mg              677 drivers/lightnvm/pblk-recovery.c 	for (i = 0; i < l_mg->nr_lines; i++) {
l_mg              729 drivers/lightnvm/pblk-recovery.c 		spin_lock(&l_mg->free_lock);
l_mg              730 drivers/lightnvm/pblk-recovery.c 		if (line->seq_nr >= l_mg->d_seq_nr)
l_mg              731 drivers/lightnvm/pblk-recovery.c 			l_mg->d_seq_nr = line->seq_nr + 1;
l_mg              732 drivers/lightnvm/pblk-recovery.c 		l_mg->nr_free_lines--;
l_mg              733 drivers/lightnvm/pblk-recovery.c 		spin_unlock(&l_mg->free_lock);
l_mg              747 drivers/lightnvm/pblk-recovery.c 		spin_lock(&l_mg->free_lock);
l_mg              749 drivers/lightnvm/pblk-recovery.c 							&l_mg->meta_bitmap));
l_mg              750 drivers/lightnvm/pblk-recovery.c 		spin_unlock(&l_mg->free_lock);
l_mg              797 drivers/lightnvm/pblk-recovery.c 			spin_lock(&l_mg->gc_lock);
l_mg              799 drivers/lightnvm/pblk-recovery.c 			spin_unlock(&l_mg->gc_lock);
l_mg              801 drivers/lightnvm/pblk-recovery.c 			mempool_free(line->map_bitmap, l_mg->bitmap_pool);
l_mg              824 drivers/lightnvm/pblk-recovery.c 		spin_lock(&l_mg->free_lock);
l_mg              826 drivers/lightnvm/pblk-recovery.c 							&l_mg->meta_bitmap));
l_mg              827 drivers/lightnvm/pblk-recovery.c 		spin_unlock(&l_mg->free_lock);
l_mg              829 drivers/lightnvm/pblk-recovery.c 		spin_lock(&l_mg->free_lock);
l_mg              830 drivers/lightnvm/pblk-recovery.c 		l_mg->data_line = data_line;
l_mg              832 drivers/lightnvm/pblk-recovery.c 		l_mg->data_next = pblk_line_get(pblk);
l_mg              833 drivers/lightnvm/pblk-recovery.c 		if (l_mg->data_next) {
l_mg              834 drivers/lightnvm/pblk-recovery.c 			l_mg->data_next->seq_nr = l_mg->d_seq_nr++;
l_mg              835 drivers/lightnvm/pblk-recovery.c 			l_mg->data_next->type = PBLK_LINETYPE_DATA;
l_mg              838 drivers/lightnvm/pblk-recovery.c 		spin_unlock(&l_mg->free_lock);
l_mg              842 drivers/lightnvm/pblk-recovery.c 		pblk_line_erase(pblk, l_mg->data_next);
l_mg              858 drivers/lightnvm/pblk-recovery.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg              862 drivers/lightnvm/pblk-recovery.c 	spin_lock(&l_mg->free_lock);
l_mg              863 drivers/lightnvm/pblk-recovery.c 	line = l_mg->data_line;
l_mg              865 drivers/lightnvm/pblk-recovery.c 	spin_unlock(&l_mg->free_lock);
l_mg              215 drivers/lightnvm/pblk-rl.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg              221 drivers/lightnvm/pblk-rl.c 	sec_meta = (lm->smeta_sec + lm->emeta_sec[0]) * l_mg->nr_free_lines;
l_mg              169 drivers/lightnvm/pblk-sysfs.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg              183 drivers/lightnvm/pblk-sysfs.c 	spin_lock(&l_mg->free_lock);
l_mg              184 drivers/lightnvm/pblk-sysfs.c 	cur_data = (l_mg->data_line) ? l_mg->data_line->id : -1;
l_mg              185 drivers/lightnvm/pblk-sysfs.c 	cur_log = (l_mg->log_line) ? l_mg->log_line->id : -1;
l_mg              186 drivers/lightnvm/pblk-sysfs.c 	nr_free_lines = l_mg->nr_free_lines;
l_mg              188 drivers/lightnvm/pblk-sysfs.c 	list_for_each_entry(line, &l_mg->free_list, list)
l_mg              190 drivers/lightnvm/pblk-sysfs.c 	spin_unlock(&l_mg->free_lock);
l_mg              192 drivers/lightnvm/pblk-sysfs.c 	spin_lock(&l_mg->close_lock);
l_mg              193 drivers/lightnvm/pblk-sysfs.c 	list_for_each_entry(line, &l_mg->emeta_list, list)
l_mg              195 drivers/lightnvm/pblk-sysfs.c 	spin_unlock(&l_mg->close_lock);
l_mg              197 drivers/lightnvm/pblk-sysfs.c 	spin_lock(&l_mg->gc_lock);
l_mg              198 drivers/lightnvm/pblk-sysfs.c 	list_for_each_entry(line, &l_mg->gc_full_list, list) {
l_mg              207 drivers/lightnvm/pblk-sysfs.c 	list_for_each_entry(line, &l_mg->gc_high_list, list) {
l_mg              216 drivers/lightnvm/pblk-sysfs.c 	list_for_each_entry(line, &l_mg->gc_mid_list, list) {
l_mg              225 drivers/lightnvm/pblk-sysfs.c 	list_for_each_entry(line, &l_mg->gc_low_list, list) {
l_mg              234 drivers/lightnvm/pblk-sysfs.c 	list_for_each_entry(line, &l_mg->gc_empty_list, list) {
l_mg              243 drivers/lightnvm/pblk-sysfs.c 	list_for_each_entry(line, &l_mg->gc_werr_list, list) {
l_mg              252 drivers/lightnvm/pblk-sysfs.c 	list_for_each_entry(line, &l_mg->bad_list, list)
l_mg              254 drivers/lightnvm/pblk-sysfs.c 	list_for_each_entry(line, &l_mg->corrupt_list, list)
l_mg              256 drivers/lightnvm/pblk-sysfs.c 	spin_unlock(&l_mg->gc_lock);
l_mg              258 drivers/lightnvm/pblk-sysfs.c 	spin_lock(&l_mg->free_lock);
l_mg              259 drivers/lightnvm/pblk-sysfs.c 	if (l_mg->data_line) {
l_mg              260 drivers/lightnvm/pblk-sysfs.c 		cur_sec = l_mg->data_line->cur_sec;
l_mg              261 drivers/lightnvm/pblk-sysfs.c 		msecs = l_mg->data_line->left_msecs;
l_mg              262 drivers/lightnvm/pblk-sysfs.c 		vsc = le32_to_cpu(*l_mg->data_line->vsc);
l_mg              263 drivers/lightnvm/pblk-sysfs.c 		sec_in_line = l_mg->data_line->sec_in_line;
l_mg              264 drivers/lightnvm/pblk-sysfs.c 		meta_weight = bitmap_weight(&l_mg->meta_bitmap,
l_mg              267 drivers/lightnvm/pblk-sysfs.c 		spin_lock(&l_mg->data_line->lock);
l_mg              268 drivers/lightnvm/pblk-sysfs.c 		if (l_mg->data_line->map_bitmap)
l_mg              269 drivers/lightnvm/pblk-sysfs.c 			map_weight = bitmap_weight(l_mg->data_line->map_bitmap,
l_mg              273 drivers/lightnvm/pblk-sysfs.c 		spin_unlock(&l_mg->data_line->lock);
l_mg              275 drivers/lightnvm/pblk-sysfs.c 	spin_unlock(&l_mg->free_lock);
l_mg              293 drivers/lightnvm/pblk-sysfs.c 					l_mg->nr_lines);
l_mg              371 drivers/lightnvm/pblk-write.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg              406 drivers/lightnvm/pblk-write.c 	spin_lock(&l_mg->close_lock);
l_mg              410 drivers/lightnvm/pblk-write.c 	spin_unlock(&l_mg->close_lock);
l_mg              424 drivers/lightnvm/pblk-write.c 	spin_lock(&l_mg->close_lock);
l_mg              427 drivers/lightnvm/pblk-write.c 	spin_unlock(&l_mg->close_lock);
l_mg              473 drivers/lightnvm/pblk-write.c 	struct pblk_line_mgmt *l_mg = &pblk->l_mg;
l_mg              476 drivers/lightnvm/pblk-write.c 	spin_lock(&l_mg->close_lock);
l_mg              477 drivers/lightnvm/pblk-write.c 	if (list_empty(&l_mg->emeta_list)) {
l_mg              478 drivers/lightnvm/pblk-write.c 		spin_unlock(&l_mg->close_lock);
l_mg              481 drivers/lightnvm/pblk-write.c 	meta_line = list_first_entry(&l_mg->emeta_list, struct pblk_line, list);
l_mg              483 drivers/lightnvm/pblk-write.c 		spin_unlock(&l_mg->close_lock);
l_mg              486 drivers/lightnvm/pblk-write.c 	spin_unlock(&l_mg->close_lock);
l_mg              601 drivers/lightnvm/pblk.h 	struct pblk_line_mgmt l_mg;		/* Line management */