Lines Matching refs:bps
1836 struct ras_badpage *bps, uint32_t count, uint32_t start);
1838 struct ras_badpage *bps, uint32_t count, uint32_t start);
1895 struct ras_badpage *bps = NULL; in amdgpu_ras_sysfs_badpages_read() local
1902 bps = kmalloc_array(bps_count, sizeof(*bps), GFP_KERNEL); in amdgpu_ras_sysfs_badpages_read()
1903 if (!bps) in amdgpu_ras_sysfs_badpages_read()
1906 memset(bps, 0, sizeof(*bps) * bps_count); in amdgpu_ras_sysfs_badpages_read()
1909 bps_count = amdgpu_uniras_badpages_read(adev, bps, bps_count, start); in amdgpu_ras_sysfs_badpages_read()
1911 bps_count = amdgpu_ras_badpages_read(adev, bps, bps_count, start); in amdgpu_ras_sysfs_badpages_read()
1914 kfree(bps); in amdgpu_ras_sysfs_badpages_read()
1919 address = ((uint64_t)bps[i].bp) << AMDGPU_GPU_PAGE_SHIFT; in amdgpu_ras_sysfs_badpages_read()
1923 bps[i].size = AMDGPU_GPU_PAGE_SIZE; in amdgpu_ras_sysfs_badpages_read()
1928 bps[i].flags = AMDGPU_RAS_RETIRE_PAGE_PENDING; in amdgpu_ras_sysfs_badpages_read()
1930 bps[i].flags = AMDGPU_RAS_RETIRE_PAGE_FAULT; in amdgpu_ras_sysfs_badpages_read()
1932 bps[i].flags = AMDGPU_RAS_RETIRE_PAGE_RESERVED; in amdgpu_ras_sysfs_badpages_read()
1936 bps[i].bp, in amdgpu_ras_sysfs_badpages_read()
1937 bps[i].size, in amdgpu_ras_sysfs_badpages_read()
1938 amdgpu_ras_badpage_flags_str(bps[i].flags)); in amdgpu_ras_sysfs_badpages_read()
1941 kfree(bps); in amdgpu_ras_sysfs_badpages_read()
2763 struct ras_badpage *bps, uint32_t count, uint32_t start) in amdgpu_ras_badpages_read() argument
2770 if (!con || !con->eh_data || !bps || !count) in amdgpu_ras_badpages_read()
2777 if (!data->bps[i].ts) in amdgpu_ras_badpages_read()
2780 bps[r].bp = data->bps[i].retired_page; in amdgpu_ras_badpages_read()
2792 struct ras_badpage *bps, uint32_t count, uint32_t start) in amdgpu_uniras_badpages_read() argument
2800 if (!bps || !count) in amdgpu_uniras_badpages_read()
2829 bps[r].bp = output->records[i].retired_page; in amdgpu_uniras_badpages_read()
2983 void *bps = kmalloc_array(align_space, sizeof(*data->bps), GFP_KERNEL); in amdgpu_ras_realloc_eh_data_space() local
2985 if (!bps) { in amdgpu_ras_realloc_eh_data_space()
2989 if (data->bps) { in amdgpu_ras_realloc_eh_data_space()
2990 memcpy(bps, data->bps, in amdgpu_ras_realloc_eh_data_space()
2991 data->count * sizeof(*data->bps)); in amdgpu_ras_realloc_eh_data_space()
2992 kfree(data->bps); in amdgpu_ras_realloc_eh_data_space()
2995 data->bps = bps; in amdgpu_ras_realloc_eh_data_space()
3001 struct eeprom_table_record *bps, in amdgpu_ras_mca2pa_by_idx() argument
3016 addr_in.ma.err_addr = bps->address; in amdgpu_ras_mca2pa_by_idx()
3018 addr_in.ma.ch_inst = bps->mem_channel; in amdgpu_ras_mca2pa_by_idx()
3023 addr_in.ma.umc_inst = bps->mcumc_id; in amdgpu_ras_mca2pa_by_idx()
3024 addr_in.ma.node_inst = bps->cu; in amdgpu_ras_mca2pa_by_idx()
3035 struct eeprom_table_record *bps, in amdgpu_ras_mca2pa() argument
3048 die_id = adev->umc.ras->get_die_id_from_pa(adev, bps->address, in amdgpu_ras_mca2pa()
3049 bps->retired_page << AMDGPU_GPU_PAGE_SHIFT); in amdgpu_ras_mca2pa()
3058 addr_in.ma.err_addr = bps->address; in amdgpu_ras_mca2pa()
3059 addr_in.ma.ch_inst = bps->mem_channel; in amdgpu_ras_mca2pa()
3060 addr_in.ma.umc_inst = bps->mcumc_id; in amdgpu_ras_mca2pa()
3072 struct eeprom_table_record *bps, int count) in __amdgpu_ras_restore_bad_pages() argument
3080 bps[j].retired_page << AMDGPU_GPU_PAGE_SHIFT)) { in __amdgpu_ras_restore_bad_pages()
3091 amdgpu_ras_reserve_page(adev, bps[j].retired_page); in __amdgpu_ras_restore_bad_pages()
3093 memcpy(&data->bps[data->count], &(bps[j]), in __amdgpu_ras_restore_bad_pages()
3104 struct eeprom_table_record *bps, struct ras_err_data *err_data, in __amdgpu_ras_convert_rec_array_from_rom() argument
3110 save_nps = (bps[0].retired_page >> UMC_NPS_SHIFT) & UMC_NPS_MASK; in __amdgpu_ras_convert_rec_array_from_rom()
3114 memcpy(err_data->err_addr, bps, in __amdgpu_ras_convert_rec_array_from_rom()
3120 bps[i].retired_page &= ~(UMC_NPS_MASK << UMC_NPS_SHIFT); in __amdgpu_ras_convert_rec_array_from_rom()
3125 bps[0].retired_page << AMDGPU_GPU_PAGE_SHIFT)) in __amdgpu_ras_convert_rec_array_from_rom()
3128 err_data->err_addr[i].address = bps[0].address; in __amdgpu_ras_convert_rec_array_from_rom()
3129 err_data->err_addr[i].mem_channel = bps[0].mem_channel; in __amdgpu_ras_convert_rec_array_from_rom()
3130 err_data->err_addr[i].bank = bps[0].bank; in __amdgpu_ras_convert_rec_array_from_rom()
3131 err_data->err_addr[i].err_type = bps[0].err_type; in __amdgpu_ras_convert_rec_array_from_rom()
3132 err_data->err_addr[i].mcumc_id = bps[0].mcumc_id; in __amdgpu_ras_convert_rec_array_from_rom()
3135 if (amdgpu_ras_mca2pa_by_idx(adev, &bps[0], err_data)) in __amdgpu_ras_convert_rec_array_from_rom()
3139 if (bps[0].address == 0) { in __amdgpu_ras_convert_rec_array_from_rom()
3143 if (amdgpu_umc_pa2mca(adev, bps[0].retired_page << AMDGPU_GPU_PAGE_SHIFT, in __amdgpu_ras_convert_rec_array_from_rom()
3144 &(bps[0].address), AMDGPU_NPS1_PARTITION_MODE)) in __amdgpu_ras_convert_rec_array_from_rom()
3148 if (amdgpu_ras_mca2pa(adev, &bps[0], err_data)) { in __amdgpu_ras_convert_rec_array_from_rom()
3150 memcpy(err_data->err_addr, bps, in __amdgpu_ras_convert_rec_array_from_rom()
3162 struct eeprom_table_record *bps, struct ras_err_data *err_data, in __amdgpu_ras_convert_rec_from_rom() argument
3169 save_nps = (bps->retired_page >> UMC_NPS_SHIFT) & UMC_NPS_MASK; in __amdgpu_ras_convert_rec_from_rom()
3170 bps->retired_page &= ~(UMC_NPS_MASK << UMC_NPS_SHIFT); in __amdgpu_ras_convert_rec_from_rom()
3181 bps->retired_page << AMDGPU_GPU_PAGE_SHIFT)) in __amdgpu_ras_convert_rec_from_rom()
3184 err_data->err_addr[i].address = bps->address; in __amdgpu_ras_convert_rec_from_rom()
3185 err_data->err_addr[i].mem_channel = bps->mem_channel; in __amdgpu_ras_convert_rec_from_rom()
3186 err_data->err_addr[i].bank = bps->bank; in __amdgpu_ras_convert_rec_from_rom()
3187 err_data->err_addr[i].err_type = bps->err_type; in __amdgpu_ras_convert_rec_from_rom()
3188 err_data->err_addr[i].mcumc_id = bps->mcumc_id; in __amdgpu_ras_convert_rec_from_rom()
3191 if (bps->address) { in __amdgpu_ras_convert_rec_from_rom()
3192 if (amdgpu_ras_mca2pa_by_idx(adev, bps, err_data)) in __amdgpu_ras_convert_rec_from_rom()
3198 if (amdgpu_umc_pa2mca(adev, bps->retired_page << AMDGPU_GPU_PAGE_SHIFT, in __amdgpu_ras_convert_rec_from_rom()
3199 &(bps->address), AMDGPU_NPS1_PARTITION_MODE)) in __amdgpu_ras_convert_rec_from_rom()
3202 if (amdgpu_ras_mca2pa(adev, bps, err_data)) in __amdgpu_ras_convert_rec_from_rom()
3213 struct eeprom_table_record *bps, int pages, bool from_rom) in amdgpu_ras_add_bad_pages() argument
3223 if (!con || !con->eh_data || !bps || pages <= 0) in amdgpu_ras_add_bad_pages()
3247 if ((bps[i].address == bps[i + 1].address) && in amdgpu_ras_add_bad_pages()
3248 (bps[i].mem_channel == bps[i + 1].mem_channel)) { in amdgpu_ras_add_bad_pages()
3251 &bps[i], &err_data, nps); in amdgpu_ras_add_bad_pages()
3265 &bps[i], &err_data, nps); in amdgpu_ras_add_bad_pages()
3272 ret = __amdgpu_ras_restore_bad_pages(adev, bps, pages); in amdgpu_ras_add_bad_pages()
3332 &data->bps[data->count_saved], unit_num)) { in amdgpu_ras_save_bad_pages()
3339 &data->bps[data->count_saved + in amdgpu_ras_save_bad_pages()
3362 struct eeprom_table_record *bps; in amdgpu_ras_load_bad_pages() local
3369 bps = kcalloc(control->ras_num_recs, sizeof(*bps), GFP_KERNEL); in amdgpu_ras_load_bad_pages()
3370 if (!bps) in amdgpu_ras_load_bad_pages()
3373 ret = amdgpu_ras_eeprom_read(control, bps, control->ras_num_recs); in amdgpu_ras_load_bad_pages()
3385 if ((bps[i].address == bps[i + 1].address) && in amdgpu_ras_load_bad_pages()
3386 (bps[i].mem_channel == bps[i + 1].mem_channel)) { in amdgpu_ras_load_bad_pages()
3404 ret = amdgpu_ras_add_bad_pages(adev, bps, control->ras_num_recs, true); in amdgpu_ras_load_bad_pages()
3418 kfree(bps); in amdgpu_ras_load_bad_pages()
3436 if (addr == data->bps[i].retired_page) in amdgpu_ras_check_bad_page_unlock()
3903 kfree((*data)->bps); in amdgpu_ras_recovery_init()
3954 kfree(data->bps); in amdgpu_ras_recovery_fini()