Lines Matching refs:bps

1841 		struct ras_badpage *bps, uint32_t count, uint32_t start);
1843 struct ras_badpage *bps, uint32_t count, uint32_t start);
1900 struct ras_badpage *bps = NULL; in amdgpu_ras_sysfs_badpages_read() local
1907 bps = kmalloc_objs(*bps, bps_count); in amdgpu_ras_sysfs_badpages_read()
1908 if (!bps) in amdgpu_ras_sysfs_badpages_read()
1911 memset(bps, 0, sizeof(*bps) * bps_count); in amdgpu_ras_sysfs_badpages_read()
1914 bps_count = amdgpu_uniras_badpages_read(adev, bps, bps_count, start); in amdgpu_ras_sysfs_badpages_read()
1916 bps_count = amdgpu_ras_badpages_read(adev, bps, bps_count, start); in amdgpu_ras_sysfs_badpages_read()
1919 kfree(bps); in amdgpu_ras_sysfs_badpages_read()
1924 address = ((uint64_t)bps[i].bp) << AMDGPU_GPU_PAGE_SHIFT; in amdgpu_ras_sysfs_badpages_read()
1926 bps[i].size = AMDGPU_GPU_PAGE_SIZE; in amdgpu_ras_sysfs_badpages_read()
1931 bps[i].flags = AMDGPU_RAS_RETIRE_PAGE_PENDING; in amdgpu_ras_sysfs_badpages_read()
1933 bps[i].flags = AMDGPU_RAS_RETIRE_PAGE_FAULT; in amdgpu_ras_sysfs_badpages_read()
1935 bps[i].flags = AMDGPU_RAS_RETIRE_PAGE_RESERVED; in amdgpu_ras_sysfs_badpages_read()
1937 if ((bps[i].flags != AMDGPU_RAS_RETIRE_PAGE_RESERVED) && in amdgpu_ras_sysfs_badpages_read()
1939 bps[i].flags = AMDGPU_RAS_RETIRE_PAGE_RESERVED; in amdgpu_ras_sysfs_badpages_read()
1943 bps[i].bp, in amdgpu_ras_sysfs_badpages_read()
1944 bps[i].size, in amdgpu_ras_sysfs_badpages_read()
1945 amdgpu_ras_badpage_flags_str(bps[i].flags)); in amdgpu_ras_sysfs_badpages_read()
1948 kfree(bps); in amdgpu_ras_sysfs_badpages_read()
2770 struct ras_badpage *bps, uint32_t count, uint32_t start) in amdgpu_ras_badpages_read() argument
2777 if (!con || !con->eh_data || !bps || !count) in amdgpu_ras_badpages_read()
2784 if (!data->bps[i].ts) in amdgpu_ras_badpages_read()
2788 if (data->bps[i].retired_page == U64_MAX) in amdgpu_ras_badpages_read()
2791 bps[r].bp = data->bps[i].retired_page; in amdgpu_ras_badpages_read()
2803 struct ras_badpage *bps, uint32_t count, uint32_t start) in amdgpu_uniras_badpages_read() argument
2811 if (!bps || !count) in amdgpu_uniras_badpages_read()
2840 bps[r].bp = output->records[i].retired_page; in amdgpu_uniras_badpages_read()
2994 void *bps = kmalloc_objs(*data->bps, align_space); in amdgpu_ras_realloc_eh_data_space() local
2996 if (!bps) { in amdgpu_ras_realloc_eh_data_space()
3000 if (data->bps) { in amdgpu_ras_realloc_eh_data_space()
3001 memcpy(bps, data->bps, in amdgpu_ras_realloc_eh_data_space()
3002 data->count * sizeof(*data->bps)); in amdgpu_ras_realloc_eh_data_space()
3003 kfree(data->bps); in amdgpu_ras_realloc_eh_data_space()
3006 data->bps = bps; in amdgpu_ras_realloc_eh_data_space()
3012 struct eeprom_table_record *bps, in amdgpu_ras_mca2pa_by_idx() argument
3027 addr_in.ma.err_addr = bps->address; in amdgpu_ras_mca2pa_by_idx()
3029 addr_in.ma.ch_inst = bps->mem_channel; in amdgpu_ras_mca2pa_by_idx()
3034 addr_in.ma.umc_inst = bps->mcumc_id; in amdgpu_ras_mca2pa_by_idx()
3035 addr_in.ma.node_inst = bps->cu; in amdgpu_ras_mca2pa_by_idx()
3046 struct eeprom_table_record *bps, in amdgpu_ras_mca2pa() argument
3059 die_id = adev->umc.ras->get_die_id_from_pa(adev, bps->address, in amdgpu_ras_mca2pa()
3060 bps->retired_page << AMDGPU_GPU_PAGE_SHIFT); in amdgpu_ras_mca2pa()
3069 addr_in.ma.err_addr = bps->address; in amdgpu_ras_mca2pa()
3070 addr_in.ma.ch_inst = bps->mem_channel; in amdgpu_ras_mca2pa()
3071 addr_in.ma.umc_inst = bps->mcumc_id; in amdgpu_ras_mca2pa()
3083 struct eeprom_table_record *bps, int count) in __amdgpu_ras_restore_bad_pages() argument
3096 bps[j].retired_page << AMDGPU_GPU_PAGE_SHIFT)) { in __amdgpu_ras_restore_bad_pages()
3098 data->bps[data->count].retired_page = U64_MAX; in __amdgpu_ras_restore_bad_pages()
3104 amdgpu_ras_reserve_page(adev, bps[j].retired_page); in __amdgpu_ras_restore_bad_pages()
3106 memcpy(&data->bps[data->count], &(bps[j]), in __amdgpu_ras_restore_bad_pages()
3117 struct eeprom_table_record *bps, struct ras_err_data *err_data, in __amdgpu_ras_convert_rec_array_from_rom() argument
3123 save_nps = (bps[0].retired_page >> UMC_NPS_SHIFT) & UMC_NPS_MASK; in __amdgpu_ras_convert_rec_array_from_rom()
3127 memcpy(err_data->err_addr, bps, in __amdgpu_ras_convert_rec_array_from_rom()
3133 bps[i].retired_page &= ~(UMC_NPS_MASK << UMC_NPS_SHIFT); in __amdgpu_ras_convert_rec_array_from_rom()
3138 bps[0].retired_page << AMDGPU_GPU_PAGE_SHIFT)) in __amdgpu_ras_convert_rec_array_from_rom()
3141 err_data->err_addr[i].address = bps[0].address; in __amdgpu_ras_convert_rec_array_from_rom()
3142 err_data->err_addr[i].mem_channel = bps[0].mem_channel; in __amdgpu_ras_convert_rec_array_from_rom()
3143 err_data->err_addr[i].bank = bps[0].bank; in __amdgpu_ras_convert_rec_array_from_rom()
3144 err_data->err_addr[i].err_type = bps[0].err_type; in __amdgpu_ras_convert_rec_array_from_rom()
3145 err_data->err_addr[i].mcumc_id = bps[0].mcumc_id; in __amdgpu_ras_convert_rec_array_from_rom()
3148 if (amdgpu_ras_mca2pa_by_idx(adev, &bps[0], err_data)) in __amdgpu_ras_convert_rec_array_from_rom()
3152 if (bps[0].address == 0) { in __amdgpu_ras_convert_rec_array_from_rom()
3156 if (amdgpu_umc_pa2mca(adev, bps[0].retired_page << AMDGPU_GPU_PAGE_SHIFT, in __amdgpu_ras_convert_rec_array_from_rom()
3157 &(bps[0].address), AMDGPU_NPS1_PARTITION_MODE)) in __amdgpu_ras_convert_rec_array_from_rom()
3161 if (amdgpu_ras_mca2pa(adev, &bps[0], err_data)) { in __amdgpu_ras_convert_rec_array_from_rom()
3163 memcpy(err_data->err_addr, bps, in __amdgpu_ras_convert_rec_array_from_rom()
3175 struct eeprom_table_record *bps, struct ras_err_data *err_data, in __amdgpu_ras_convert_rec_from_rom() argument
3182 save_nps = (bps->retired_page >> UMC_NPS_SHIFT) & UMC_NPS_MASK; in __amdgpu_ras_convert_rec_from_rom()
3183 bps->retired_page &= ~(UMC_NPS_MASK << UMC_NPS_SHIFT); in __amdgpu_ras_convert_rec_from_rom()
3194 bps->retired_page << AMDGPU_GPU_PAGE_SHIFT)) in __amdgpu_ras_convert_rec_from_rom()
3197 err_data->err_addr[i].address = bps->address; in __amdgpu_ras_convert_rec_from_rom()
3198 err_data->err_addr[i].mem_channel = bps->mem_channel; in __amdgpu_ras_convert_rec_from_rom()
3199 err_data->err_addr[i].bank = bps->bank; in __amdgpu_ras_convert_rec_from_rom()
3200 err_data->err_addr[i].err_type = bps->err_type; in __amdgpu_ras_convert_rec_from_rom()
3201 err_data->err_addr[i].mcumc_id = bps->mcumc_id; in __amdgpu_ras_convert_rec_from_rom()
3204 if (bps->address) { in __amdgpu_ras_convert_rec_from_rom()
3205 if (amdgpu_ras_mca2pa_by_idx(adev, bps, err_data)) in __amdgpu_ras_convert_rec_from_rom()
3211 if (amdgpu_umc_pa2mca(adev, bps->retired_page << AMDGPU_GPU_PAGE_SHIFT, in __amdgpu_ras_convert_rec_from_rom()
3212 &(bps->address), AMDGPU_NPS1_PARTITION_MODE)) in __amdgpu_ras_convert_rec_from_rom()
3215 if (amdgpu_ras_mca2pa(adev, bps, err_data)) in __amdgpu_ras_convert_rec_from_rom()
3226 struct eeprom_table_record *bps, int pages, bool from_rom) in amdgpu_ras_add_bad_pages() argument
3236 if (!con || !con->eh_data || !bps || pages <= 0) in amdgpu_ras_add_bad_pages()
3260 if ((bps[i].address == bps[i + 1].address) && in amdgpu_ras_add_bad_pages()
3261 (bps[i].mem_channel == bps[i + 1].mem_channel)) { in amdgpu_ras_add_bad_pages()
3264 &bps[i], &err_data, nps); in amdgpu_ras_add_bad_pages()
3276 &bps[i], &err_data, nps); in amdgpu_ras_add_bad_pages()
3281 ret = __amdgpu_ras_restore_bad_pages(adev, bps, pages); in amdgpu_ras_add_bad_pages()
3341 &data->bps[data->count_saved], unit_num)) { in amdgpu_ras_save_bad_pages()
3348 &data->bps[data->count_saved + in amdgpu_ras_save_bad_pages()
3371 struct eeprom_table_record *bps; in amdgpu_ras_load_bad_pages() local
3378 bps = kzalloc_objs(*bps, control->ras_num_recs); in amdgpu_ras_load_bad_pages()
3379 if (!bps) in amdgpu_ras_load_bad_pages()
3382 ret = amdgpu_ras_eeprom_read(control, bps, control->ras_num_recs); in amdgpu_ras_load_bad_pages()
3394 if ((bps[i].address == bps[i + 1].address) && in amdgpu_ras_load_bad_pages()
3395 (bps[i].mem_channel == bps[i + 1].mem_channel)) { in amdgpu_ras_load_bad_pages()
3413 ret = amdgpu_ras_add_bad_pages(adev, bps, control->ras_num_recs, true); in amdgpu_ras_load_bad_pages()
3427 kfree(bps); in amdgpu_ras_load_bad_pages()
3445 if (addr == data->bps[i].retired_page) in amdgpu_ras_check_bad_page_unlock()
3912 kfree((*data)->bps); in amdgpu_ras_recovery_init()
3963 kfree(data->bps); in amdgpu_ras_recovery_fini()