Lines Matching refs:rgn_idx
36 static void ufshpb_update_active_info(struct ufshpb_lu *hpb, int rgn_idx,
108 static bool ufshpb_is_pinned_region(struct ufshpb_lu *hpb, int rgn_idx) in ufshpb_is_pinned_region() argument
111 rgn_idx >= hpb->lu_pinned_start && in ufshpb_is_pinned_region()
112 rgn_idx <= hpb->lu_pinned_end) in ufshpb_is_pinned_region()
163 static void ufshpb_iterate_rgn(struct ufshpb_lu *hpb, int rgn_idx, int srgn_idx, in ufshpb_iterate_rgn() argument
173 rgn = hpb->rgn_tbl + rgn_idx; in ufshpb_iterate_rgn()
221 ufshpb_update_active_info(hpb, rgn_idx, srgn_idx); in ufshpb_iterate_rgn()
224 "activate region %d-%d\n", rgn_idx, srgn_idx); in ufshpb_iterate_rgn()
233 rgn_idx++; in ufshpb_iterate_rgn()
241 static bool ufshpb_test_ppn_dirty(struct ufshpb_lu *hpb, int rgn_idx, in ufshpb_test_ppn_dirty() argument
250 rgn = hpb->rgn_tbl + rgn_idx; in ufshpb_test_ppn_dirty()
269 srgn->rgn_idx, srgn->srgn_idx); in ufshpb_test_ppn_dirty()
285 rgn_idx++; in ufshpb_test_ppn_dirty()
330 ufshpb_get_pos_from_lpn(struct ufshpb_lu *hpb, unsigned long lpn, int *rgn_idx, in ufshpb_get_pos_from_lpn() argument
335 *rgn_idx = lpn >> hpb->entries_per_rgn_shift; in ufshpb_get_pos_from_lpn()
445 int rgn_idx, srgn_idx, srgn_offset; in ufshpb_prep_entry() local
449 ufshpb_get_pos_from_lpn(hpb, lpn, &rgn_idx, &srgn_idx, &srgn_offset); in ufshpb_prep_entry()
454 rgn = hpb->rgn_tbl + rgn_idx; in ufshpb_prep_entry()
478 rgn_idx++; in ufshpb_prep_entry()
618 int transfer_len, rgn_idx, srgn_idx, srgn_offset; in ufshpb_prep() local
646 ufshpb_get_pos_from_lpn(hpb, lpn, &rgn_idx, &srgn_idx, &srgn_offset); in ufshpb_prep()
647 rgn = hpb->rgn_tbl + rgn_idx; in ufshpb_prep()
652 ufshpb_iterate_rgn(hpb, rgn_idx, srgn_idx, srgn_offset, in ufshpb_prep()
667 ufshpb_iterate_rgn(hpb, rgn_idx, srgn_idx, srgn_offset, in ufshpb_prep()
676 if (ufshpb_test_ppn_dirty(hpb, rgn_idx, srgn_idx, srgn_offset, in ufshpb_prep()
721 int rgn_idx, enum req_opf dir, in ufshpb_get_req() argument
746 rq->rb.rgn_idx = rgn_idx; in ufshpb_get_req()
777 map_req = ufshpb_get_req(hpb, srgn->rgn_idx, REQ_OP_SCSI_IN, false); in ufshpb_get_map_req()
821 srgn->rgn_idx, srgn->srgn_idx); in ufshpb_clear_dirty_bitmap()
830 rgn = hpb->rgn_tbl + srgn->rgn_idx; in ufshpb_clear_dirty_bitmap()
836 static void ufshpb_update_active_info(struct ufshpb_lu *hpb, int rgn_idx, in ufshpb_update_active_info() argument
842 rgn = hpb->rgn_tbl + rgn_idx; in ufshpb_update_active_info()
853 static void ufshpb_update_inactive_info(struct ufshpb_lu *hpb, int rgn_idx) in ufshpb_update_inactive_info() argument
859 rgn = hpb->rgn_tbl + rgn_idx; in ufshpb_update_inactive_info()
884 srgn->rgn_idx, srgn->srgn_idx); in ufshpb_activate_subregion()
889 rgn = hpb->rgn_tbl + srgn->rgn_idx; in ufshpb_activate_subregion()
894 srgn->rgn_idx, srgn->srgn_idx); in ufshpb_activate_subregion()
915 srgn = hpb->rgn_tbl[map_req->rb.rgn_idx].srgn_tbl + in ufshpb_map_req_compl_fn()
932 put_unaligned_be16(rgn->rgn_idx, &cdb[2]); in ufshpb_set_unmap_cmd()
936 static void ufshpb_set_read_buf_cmd(unsigned char *cdb, int rgn_idx, in ufshpb_set_read_buf_cmd() argument
942 put_unaligned_be16(rgn_idx, &cdb[2]); in ufshpb_set_read_buf_cmd()
985 map_req->rb.rgn_idx, map_req->rb.srgn_idx); in ufshpb_execute_map_req()
1001 ufshpb_set_read_buf_cmd(rq->cmd, map_req->rb.rgn_idx, in ufshpb_execute_map_req()
1116 ufshpb_update_inactive_info(hpb, rgn->rgn_idx); in ufshpb_read_to_handler()
1203 int rgn_idx = rgn ? rgn->rgn_idx : 0; in ufshpb_issue_umap_req() local
1205 umap_req = ufshpb_get_req(hpb, rgn_idx, REQ_OP_SCSI_OUT, atomic); in ufshpb_issue_umap_req()
1234 dev_dbg(&hpb->sdev_ufs_lu->sdev_dev, "evict region %d\n", rgn->rgn_idx); in __ufshpb_evict_region()
1251 rgn->rgn_idx); in ufshpb_evict_region()
1322 rgn->rgn_idx, srgn->srgn_idx); in ufshpb_issue_map_req()
1337 __func__, ret, srgn->rgn_idx, srgn->srgn_idx); in ufshpb_issue_map_req()
1403 victim_rgn->rgn_idx); in ufshpb_add_region()
1677 rgn = hpb->rgn_tbl + srgn->rgn_idx; in ufshpb_run_active_subregion_list()
1686 ret, rgn->rgn_idx, srgn->srgn_idx); in ufshpb_run_active_subregion_list()
1696 rgn->rgn_idx, srgn->srgn_idx); in ufshpb_run_active_subregion_list()
1737 int rgn_idx; in ufshpb_normalization_work_handler() local
1740 for (rgn_idx = 0; rgn_idx < hpb->rgns_per_lu; rgn_idx++) { in ufshpb_normalization_work_handler()
1741 struct ufshpb_region *rgn = hpb->rgn_tbl + rgn_idx; in ufshpb_normalization_work_handler()
1759 ufshpb_update_inactive_info(hpb, rgn->rgn_idx); in ufshpb_normalization_work_handler()
1823 srgn->rgn_idx = rgn->rgn_idx; in ufshpb_init_subregion_tbl()
1906 int rgn_idx, i; in ufshpb_alloc_region_tbl() local
1916 for (rgn_idx = 0; rgn_idx < hpb->rgns_per_lu; rgn_idx++) { in ufshpb_alloc_region_tbl()
1920 rgn = rgn_table + rgn_idx; in ufshpb_alloc_region_tbl()
1921 rgn->rgn_idx = rgn_idx; in ufshpb_alloc_region_tbl()
1929 if (rgn_idx == hpb->rgns_per_lu - 1) { in ufshpb_alloc_region_tbl()
1940 if (ufshpb_is_pinned_region(hpb, rgn_idx)) { in ufshpb_alloc_region_tbl()
1955 for (i = 0; i < rgn_idx; i++) { in ufshpb_alloc_region_tbl()
1978 int rgn_idx; in ufshpb_destroy_region_tbl() local
1980 for (rgn_idx = 0; rgn_idx < hpb->rgns_per_lu; rgn_idx++) { in ufshpb_destroy_region_tbl()
1983 rgn = hpb->rgn_tbl + rgn_idx; in ufshpb_destroy_region_tbl()