Lines Matching refs:mrange_info
727 static void fadump_free_mem_ranges(struct fadump_mrange_info *mrange_info) in fadump_free_mem_ranges() argument
729 kfree(mrange_info->mem_ranges); in fadump_free_mem_ranges()
730 mrange_info->mem_ranges = NULL; in fadump_free_mem_ranges()
731 mrange_info->mem_ranges_sz = 0; in fadump_free_mem_ranges()
732 mrange_info->max_mem_ranges = 0; in fadump_free_mem_ranges()
739 static int fadump_alloc_mem_ranges(struct fadump_mrange_info *mrange_info) in fadump_alloc_mem_ranges() argument
744 new_size = mrange_info->mem_ranges_sz + PAGE_SIZE; in fadump_alloc_mem_ranges()
746 new_size, mrange_info->name); in fadump_alloc_mem_ranges()
748 new_array = krealloc(mrange_info->mem_ranges, new_size, GFP_KERNEL); in fadump_alloc_mem_ranges()
751 mrange_info->name); in fadump_alloc_mem_ranges()
752 fadump_free_mem_ranges(mrange_info); in fadump_alloc_mem_ranges()
756 mrange_info->mem_ranges = new_array; in fadump_alloc_mem_ranges()
757 mrange_info->mem_ranges_sz = new_size; in fadump_alloc_mem_ranges()
758 mrange_info->max_mem_ranges = (new_size / in fadump_alloc_mem_ranges()
763 static inline int fadump_add_mem_range(struct fadump_mrange_info *mrange_info, in fadump_add_mem_range() argument
766 struct fadump_memory_range *mem_ranges = mrange_info->mem_ranges; in fadump_add_mem_range()
777 if (mrange_info->mem_range_cnt) { in fadump_add_mem_range()
778 start = mem_ranges[mrange_info->mem_range_cnt - 1].base; in fadump_add_mem_range()
779 size = mem_ranges[mrange_info->mem_range_cnt - 1].size; in fadump_add_mem_range()
786 if (mrange_info->mem_range_cnt == mrange_info->max_mem_ranges) { in fadump_add_mem_range()
789 ret = fadump_alloc_mem_ranges(mrange_info); in fadump_add_mem_range()
794 mem_ranges = mrange_info->mem_ranges; in fadump_add_mem_range()
798 mem_ranges[mrange_info->mem_range_cnt].base = start; in fadump_add_mem_range()
799 mrange_info->mem_range_cnt++; in fadump_add_mem_range()
802 mem_ranges[mrange_info->mem_range_cnt - 1].size = (end - start); in fadump_add_mem_range()
804 mrange_info->name, (mrange_info->mem_range_cnt - 1), in fadump_add_mem_range()
1158 static void sort_and_merge_mem_ranges(struct fadump_mrange_info *mrange_info) in sort_and_merge_mem_ranges() argument
1169 mem_ranges = mrange_info->mem_ranges; in sort_and_merge_mem_ranges()
1170 for (i = 0; i < mrange_info->mem_range_cnt; i++) { in sort_and_merge_mem_ranges()
1172 for (j = (i + 1); j < mrange_info->mem_range_cnt; j++) { in sort_and_merge_mem_ranges()
1185 for (i = 1; i < mrange_info->mem_range_cnt; i++) { in sort_and_merge_mem_ranges()
1198 mrange_info->mem_range_cnt = idx + 1; in sort_and_merge_mem_ranges()