Lines Matching refs:mrange_info
838 static void fadump_free_mem_ranges(struct fadump_mrange_info *mrange_info) in fadump_free_mem_ranges() argument
840 if (mrange_info->is_static) { in fadump_free_mem_ranges()
841 mrange_info->mem_range_cnt = 0; in fadump_free_mem_ranges()
845 kfree(mrange_info->mem_ranges); in fadump_free_mem_ranges()
846 memset((void *)((u64)mrange_info + RNG_NAME_SZ), 0, in fadump_free_mem_ranges()
854 static int fadump_alloc_mem_ranges(struct fadump_mrange_info *mrange_info) in fadump_alloc_mem_ranges() argument
859 new_size = mrange_info->mem_ranges_sz + PAGE_SIZE; in fadump_alloc_mem_ranges()
861 new_size, mrange_info->name); in fadump_alloc_mem_ranges()
863 new_array = krealloc(mrange_info->mem_ranges, new_size, GFP_KERNEL); in fadump_alloc_mem_ranges()
866 mrange_info->name); in fadump_alloc_mem_ranges()
867 fadump_free_mem_ranges(mrange_info); in fadump_alloc_mem_ranges()
871 mrange_info->mem_ranges = new_array; in fadump_alloc_mem_ranges()
872 mrange_info->mem_ranges_sz = new_size; in fadump_alloc_mem_ranges()
873 mrange_info->max_mem_ranges = (new_size / in fadump_alloc_mem_ranges()
877 static inline int fadump_add_mem_range(struct fadump_mrange_info *mrange_info, in fadump_add_mem_range() argument
880 struct fadump_memory_range *mem_ranges = mrange_info->mem_ranges; in fadump_add_mem_range()
891 if (mrange_info->mem_range_cnt) { in fadump_add_mem_range()
892 start = mem_ranges[mrange_info->mem_range_cnt - 1].base; in fadump_add_mem_range()
893 size = mem_ranges[mrange_info->mem_range_cnt - 1].size; in fadump_add_mem_range()
905 if (mrange_info->mem_range_cnt == mrange_info->max_mem_ranges) { in fadump_add_mem_range()
908 if (mrange_info->is_static) { in fadump_add_mem_range()
910 mrange_info->name); in fadump_add_mem_range()
914 ret = fadump_alloc_mem_ranges(mrange_info); in fadump_add_mem_range()
919 mem_ranges = mrange_info->mem_ranges; in fadump_add_mem_range()
923 mem_ranges[mrange_info->mem_range_cnt].base = start; in fadump_add_mem_range()
924 mrange_info->mem_range_cnt++; in fadump_add_mem_range()
927 mem_ranges[mrange_info->mem_range_cnt - 1].size = (end - start); in fadump_add_mem_range()
929 mrange_info->name, (mrange_info->mem_range_cnt - 1), in fadump_add_mem_range()
1290 static void sort_and_merge_mem_ranges(struct fadump_mrange_info *mrange_info) in sort_and_merge_mem_ranges() argument
1300 mem_ranges = mrange_info->mem_ranges; in sort_and_merge_mem_ranges()
1301 for (i = 0; i < mrange_info->mem_range_cnt; i++) { in sort_and_merge_mem_ranges()
1303 for (j = (i + 1); j < mrange_info->mem_range_cnt; j++) { in sort_and_merge_mem_ranges()
1313 for (i = 1; i < mrange_info->mem_range_cnt; i++) { in sort_and_merge_mem_ranges()
1326 mrange_info->mem_range_cnt = idx + 1; in sort_and_merge_mem_ranges()