Lines Matching refs:mrange_info
825 static void fadump_free_mem_ranges(struct fadump_mrange_info *mrange_info) in fadump_free_mem_ranges() argument
827 if (mrange_info->is_static) { in fadump_free_mem_ranges()
828 mrange_info->mem_range_cnt = 0; in fadump_free_mem_ranges()
832 kfree(mrange_info->mem_ranges); in fadump_free_mem_ranges()
833 memset((void *)((u64)mrange_info + RNG_NAME_SZ), 0, in fadump_free_mem_ranges()
841 static int fadump_alloc_mem_ranges(struct fadump_mrange_info *mrange_info) in fadump_alloc_mem_ranges() argument
846 new_size = mrange_info->mem_ranges_sz + PAGE_SIZE; in fadump_alloc_mem_ranges()
848 new_size, mrange_info->name); in fadump_alloc_mem_ranges()
850 new_array = krealloc(mrange_info->mem_ranges, new_size, GFP_KERNEL); in fadump_alloc_mem_ranges()
853 mrange_info->name); in fadump_alloc_mem_ranges()
854 fadump_free_mem_ranges(mrange_info); in fadump_alloc_mem_ranges()
858 mrange_info->mem_ranges = new_array; in fadump_alloc_mem_ranges()
859 mrange_info->mem_ranges_sz = new_size; in fadump_alloc_mem_ranges()
860 mrange_info->max_mem_ranges = (new_size / in fadump_alloc_mem_ranges()
865 static inline int fadump_add_mem_range(struct fadump_mrange_info *mrange_info, in fadump_add_mem_range() argument
868 struct fadump_memory_range *mem_ranges = mrange_info->mem_ranges; in fadump_add_mem_range()
879 if (mrange_info->mem_range_cnt) { in fadump_add_mem_range()
880 start = mem_ranges[mrange_info->mem_range_cnt - 1].base; in fadump_add_mem_range()
881 size = mem_ranges[mrange_info->mem_range_cnt - 1].size; in fadump_add_mem_range()
888 if (mrange_info->mem_range_cnt == mrange_info->max_mem_ranges) { in fadump_add_mem_range()
891 if (mrange_info->is_static) { in fadump_add_mem_range()
893 mrange_info->name); in fadump_add_mem_range()
897 ret = fadump_alloc_mem_ranges(mrange_info); in fadump_add_mem_range()
902 mem_ranges = mrange_info->mem_ranges; in fadump_add_mem_range()
906 mem_ranges[mrange_info->mem_range_cnt].base = start; in fadump_add_mem_range()
907 mrange_info->mem_range_cnt++; in fadump_add_mem_range()
910 mem_ranges[mrange_info->mem_range_cnt - 1].size = (end - start); in fadump_add_mem_range()
912 mrange_info->name, (mrange_info->mem_range_cnt - 1), in fadump_add_mem_range()
1265 static void sort_and_merge_mem_ranges(struct fadump_mrange_info *mrange_info) in sort_and_merge_mem_ranges() argument
1276 mem_ranges = mrange_info->mem_ranges; in sort_and_merge_mem_ranges()
1277 for (i = 0; i < mrange_info->mem_range_cnt; i++) { in sort_and_merge_mem_ranges()
1279 for (j = (i + 1); j < mrange_info->mem_range_cnt; j++) { in sort_and_merge_mem_ranges()
1292 for (i = 1; i < mrange_info->mem_range_cnt; i++) { in sort_and_merge_mem_ranges()
1305 mrange_info->mem_range_cnt = idx + 1; in sort_and_merge_mem_ranges()