Lines Matching full:bps
1690 struct ras_badpage **bps, unsigned int *count);
1747 struct ras_badpage *bps = NULL; in amdgpu_ras_sysfs_badpages_read() local
1752 if (amdgpu_ras_badpages_read(adev, &bps, &bps_count)) in amdgpu_ras_sysfs_badpages_read()
1758 bps[start].bp, in amdgpu_ras_sysfs_badpages_read()
1759 bps[start].size, in amdgpu_ras_sysfs_badpages_read()
1760 amdgpu_ras_badpage_flags_str(bps[start].flags)); in amdgpu_ras_sysfs_badpages_read()
1762 kfree(bps); in amdgpu_ras_sysfs_badpages_read()
2539 * caller need free bps.
2542 struct ras_badpage **bps, unsigned int *count) in amdgpu_ras_badpages_read() argument
2549 if (!con || !con->eh_data || !bps || !count) in amdgpu_ras_badpages_read()
2555 *bps = NULL; in amdgpu_ras_badpages_read()
2560 *bps = kmalloc(sizeof(struct ras_badpage) * data->count, GFP_KERNEL); in amdgpu_ras_badpages_read()
2561 if (!*bps) { in amdgpu_ras_badpages_read()
2567 (*bps)[i] = (struct ras_badpage){ in amdgpu_ras_badpages_read()
2568 .bp = data->bps[i].retired_page, in amdgpu_ras_badpages_read()
2573 data->bps[i].retired_page << AMDGPU_GPU_PAGE_SHIFT); in amdgpu_ras_badpages_read()
2575 (*bps)[i].flags = AMDGPU_RAS_RETIRE_PAGE_PENDING; in amdgpu_ras_badpages_read()
2577 (*bps)[i].flags = AMDGPU_RAS_RETIRE_PAGE_FAULT; in amdgpu_ras_badpages_read()
2709 /* alloc/realloc bps array */
2716 void *bps = kmalloc(align_space * sizeof(*data->bps), GFP_KERNEL); in amdgpu_ras_realloc_eh_data_space() local
2718 if (!bps) { in amdgpu_ras_realloc_eh_data_space()
2722 if (data->bps) { in amdgpu_ras_realloc_eh_data_space()
2723 memcpy(bps, data->bps, in amdgpu_ras_realloc_eh_data_space()
2724 data->count * sizeof(*data->bps)); in amdgpu_ras_realloc_eh_data_space()
2725 kfree(data->bps); in amdgpu_ras_realloc_eh_data_space()
2728 data->bps = bps; in amdgpu_ras_realloc_eh_data_space()
2734 struct eeprom_table_record *bps, in amdgpu_ras_mca2pa_by_idx() argument
2749 addr_in.ma.err_addr = bps->address; in amdgpu_ras_mca2pa_by_idx()
2751 addr_in.ma.ch_inst = bps->mem_channel; in amdgpu_ras_mca2pa_by_idx()
2763 struct eeprom_table_record *bps, in amdgpu_ras_mca2pa() argument
2776 die_id = adev->umc.ras->get_die_id_from_pa(adev, bps->address, in amdgpu_ras_mca2pa()
2777 bps->retired_page << AMDGPU_GPU_PAGE_SHIFT); in amdgpu_ras_mca2pa()
2786 addr_in.ma.err_addr = bps->address; in amdgpu_ras_mca2pa()
2787 addr_in.ma.ch_inst = bps->mem_channel; in amdgpu_ras_mca2pa()
2788 addr_in.ma.umc_inst = bps->mcumc_id; in amdgpu_ras_mca2pa()
2801 struct eeprom_table_record *bps, int pages, bool from_rom) in amdgpu_ras_add_bad_pages() argument
2814 if (!con || !con->eh_data || !bps || pages <= 0) in amdgpu_ras_add_bad_pages()
2844 if (amdgpu_ras_mca2pa_by_idx(adev, &bps[i], &err_data)) { in amdgpu_ras_add_bad_pages()
2850 bps[i].retired_page << in amdgpu_ras_add_bad_pages()
2865 bps[i].retired_page << AMDGPU_GPU_PAGE_SHIFT)) { in amdgpu_ras_add_bad_pages()
2872 if (bps[i].retired_page & UMC_CHANNEL_IDX_V2) { in amdgpu_ras_add_bad_pages()
2874 if (amdgpu_ras_mca2pa_by_idx(adev, &bps[i], &err_data)) { in amdgpu_ras_add_bad_pages()
2882 if (amdgpu_ras_mca2pa(adev, &bps[i], &err_data)) { in amdgpu_ras_add_bad_pages()
2888 err_rec = &bps[i]; in amdgpu_ras_add_bad_pages()
2903 err_rec = &bps[i]; in amdgpu_ras_add_bad_pages()
2920 memcpy(&data->bps[data->count], &(err_rec[j]), in amdgpu_ras_add_bad_pages()
2971 &data->bps[control->ras_num_recs], in amdgpu_ras_save_bad_pages()
2979 &data->bps[bad_page_num + i * adev->umc.retire_unit], in amdgpu_ras_save_bad_pages()
3001 struct eeprom_table_record *bps; in amdgpu_ras_load_bad_pages() local
3008 bps = kcalloc(control->ras_num_recs, sizeof(*bps), GFP_KERNEL); in amdgpu_ras_load_bad_pages()
3009 if (!bps) in amdgpu_ras_load_bad_pages()
3012 ret = amdgpu_ras_eeprom_read(control, bps, control->ras_num_recs); in amdgpu_ras_load_bad_pages()
3018 if ((bps[0].address == bps[1].address) && in amdgpu_ras_load_bad_pages()
3019 (bps[0].mem_channel == bps[1].mem_channel)) in amdgpu_ras_load_bad_pages()
3035 ret = amdgpu_ras_add_bad_pages(adev, bps, control->ras_num_recs, true); in amdgpu_ras_load_bad_pages()
3039 kfree(bps); in amdgpu_ras_load_bad_pages()
3051 if (addr == data->bps[i].retired_page) in amdgpu_ras_check_bad_page_unlock()
3519 kfree((*data)->bps); in amdgpu_ras_recovery_init()
3570 kfree(data->bps); in amdgpu_ras_recovery_fini()