Lines Matching full:ras
56 * The RAS table lives either at address 0 or address 40000h of EEPROM.
107 * | EEPROM TABLE RAS INFO |
129 /* Given a zero-based index of an EEPROM RAS record, yields the EEPROM
331 "Failed to alloc buf to write table ras info\n"); in __write_table_ras_info()
346 dev_err(adev->dev, "Failed to write EEPROM table ras info:%d", in __write_table_ras_info()
437 * amdgpu_ras_eeprom_reset_table -- Reset the RAS EEPROM table
440 * Reset the contents of the header of the RAS EEPROM table.
493 dev_warn(adev->dev, "RAS EEPROM reset failed, res:%d result:%d", in amdgpu_ras_eeprom_reset_table()
598 dev_warn(adev->dev, "RAS records:%d exceed threshold:%d", in amdgpu_ras_eeprom_check_err_threshold()
782 struct amdgpu_ras *ras = amdgpu_ras_get_context(adev); in amdgpu_ras_eeprom_update_header() local
790 control->ras_num_bad_pages > ras->bad_page_cnt_threshold) { in amdgpu_ras_eeprom_update_header()
793 control->ras_num_bad_pages, ras->bad_page_cnt_threshold); in amdgpu_ras_eeprom_update_header()
806 ras->is_rma = true; in amdgpu_ras_eeprom_update_header()
854 control->ras_num_bad_pages <= ras->bad_page_cnt_threshold) in amdgpu_ras_eeprom_update_header()
855 control->tbl_rai.health_percent = ((ras->bad_page_cnt_threshold - in amdgpu_ras_eeprom_update_header()
857 ras->bad_page_cnt_threshold; in amdgpu_ras_eeprom_update_header()
945 * amdgpu_ras_eeprom_append -- append records to the EEPROM RAS table
1058 if (!adev->umc.ras || !adev->umc.ras->mca_ipid_parse) in amdgpu_ras_eeprom_read_idx()
1081 adev->umc.ras->mca_ipid_parse(adev, ipid, in amdgpu_ras_eeprom_read_idx()
1096 * Reads num records from the RAS table in EEPROM and
1210 struct amdgpu_ras *ras = amdgpu_ras_get_context(adev); in amdgpu_ras_debugfs_eeprom_size_read() local
1211 struct amdgpu_ras_eeprom_control *control = ras ? &ras->eeprom_control : NULL; in amdgpu_ras_debugfs_eeprom_size_read()
1218 if (!ras || !control) { in amdgpu_ras_debugfs_eeprom_size_read()
1267 struct amdgpu_ras *ras = container_of(control, struct amdgpu_ras, in amdgpu_ras_debugfs_set_ret_size() local
1269 struct dentry *de = ras->de_ras_eeprom_table; in amdgpu_ras_debugfs_set_ret_size()
1279 struct amdgpu_ras *ras = amdgpu_ras_get_context(adev); in amdgpu_ras_debugfs_table_read() local
1280 struct amdgpu_ras_eeprom_control *control = &ras->eeprom_control; in amdgpu_ras_debugfs_table_read()
1398 struct amdgpu_ras *ras = amdgpu_ras_get_context(adev); in amdgpu_ras_debugfs_eeprom_table_read() local
1399 struct amdgpu_ras_eeprom_control *control = ras ? &ras->eeprom_control : NULL; in amdgpu_ras_debugfs_eeprom_table_read()
1406 if (!ras || !control) { in amdgpu_ras_debugfs_eeprom_table_read()
1433 * __verify_ras_table_checksum -- verify the RAS EEPROM table checksum
1436 * Check the checksum of the stored in EEPROM RAS table.
1459 "Out of memory checking RAS table checksum.\n"); in __verify_ras_table_checksum()
1494 "Failed to alloc buf to read EEPROM table ras info\n"); in __read_table_ras_info()
1499 * EEPROM table V2_1 supports ras info, in __read_table_ras_info()
1500 * read EEPROM table ras info in __read_table_ras_info()
1507 "Failed to read EEPROM table ras info, res:%d", res); in __read_table_ras_info()
1523 struct amdgpu_ras *ras = amdgpu_ras_get_context(adev); in amdgpu_ras_smu_eeprom_init() local
1527 ras->is_rma = false; in amdgpu_ras_smu_eeprom_init()
1560 struct amdgpu_ras *ras = amdgpu_ras_get_context(adev); in amdgpu_ras_eeprom_init() local
1568 ras->is_rma = false; in amdgpu_ras_eeprom_init()
1622 "RAS header invalid, unsupported version: %u", in amdgpu_ras_eeprom_init()
1629 "RAS header invalid, records in header: %u max allowed :%u", in amdgpu_ras_eeprom_init()
1643 struct amdgpu_ras *ras = amdgpu_ras_get_context(adev); in amdgpu_ras_smu_eeprom_check() local
1648 control->ras_num_bad_pages = ras->bad_page_num; in amdgpu_ras_smu_eeprom_check()
1650 if ((ras->bad_page_cnt_threshold < control->ras_num_bad_pages) && in amdgpu_ras_smu_eeprom_check()
1653 "RAS records:%d exceed threshold:%d\n", in amdgpu_ras_smu_eeprom_check()
1654 control->ras_num_bad_pages, ras->bad_page_cnt_threshold); in amdgpu_ras_smu_eeprom_check()
1660 ras->is_rma = true; in amdgpu_ras_smu_eeprom_check()
1674 if (10 * control->ras_num_bad_pages >= 9 * ras->bad_page_cnt_threshold) in amdgpu_ras_smu_eeprom_check()
1675 dev_warn(adev->dev, "RAS records:%u exceeds 90%% of threshold:%d", in amdgpu_ras_smu_eeprom_check()
1677 ras->bad_page_cnt_threshold); in amdgpu_ras_smu_eeprom_check()
1685 struct amdgpu_ras *ras = amdgpu_ras_get_context(adev); in amdgpu_ras_eeprom_check() local
1701 control->ras_num_bad_pages = ras->bad_page_num; in amdgpu_ras_eeprom_check()
1717 "RAS table incorrect checksum or error:%d\n", in amdgpu_ras_eeprom_check()
1724 if (10 * control->ras_num_bad_pages >= 9 * ras->bad_page_cnt_threshold) in amdgpu_ras_eeprom_check()
1725 dev_warn(adev->dev, "RAS records:%u exceeds 90%% of threshold:%d", in amdgpu_ras_eeprom_check()
1727 ras->bad_page_cnt_threshold); in amdgpu_ras_eeprom_check()
1739 "RAS Table incorrect checksum or error:%d\n", in amdgpu_ras_eeprom_check()
1743 if (ras->bad_page_cnt_threshold >= control->ras_num_bad_pages) { in amdgpu_ras_eeprom_check()
1746 * ras->bad_page_cnt_threshold - control->num_recs > 0, in amdgpu_ras_eeprom_check()
1752 "RAS table header signature", in amdgpu_ras_eeprom_check()
1754 ras->bad_page_cnt_threshold); in amdgpu_ras_eeprom_check()
1759 "RAS records:%d exceed threshold:%d\n", in amdgpu_ras_eeprom_check()
1760 control->ras_num_bad_pages, ras->bad_page_cnt_threshold); in amdgpu_ras_eeprom_check()
1767 ras->is_rma = true; in amdgpu_ras_eeprom_check()
1779 struct amdgpu_ras *ras = amdgpu_ras_get_context(adev); in amdgpu_ras_eeprom_check_and_recover() local
1783 if (!__is_ras_eeprom_supported(adev) || !ras || in amdgpu_ras_eeprom_check_and_recover()
1786 control = &ras->eeprom_control; in amdgpu_ras_eeprom_check_and_recover()
1792 "RAS table incorrect checksum or error:%d, try to recover\n", in amdgpu_ras_eeprom_check_and_recover()
1797 dev_info(adev->dev, "RAS table recovery succeed\n"); in amdgpu_ras_eeprom_check_and_recover()
1800 dev_err(adev->dev, "RAS table recovery failed\n"); in amdgpu_ras_eeprom_check_and_recover()
1808 struct amdgpu_ras *ras = amdgpu_ras_get_context(adev); in amdgpu_ras_get_smu_ras_drv() local
1810 if (!ras) in amdgpu_ras_get_smu_ras_drv()
1813 return ras->ras_smu_drv; in amdgpu_ras_get_smu_ras_drv()
1947 struct amdgpu_ras *ras = amdgpu_ras_get_context(adev); in amdgpu_ras_check_bad_page_status() local
1948 struct amdgpu_ras_eeprom_control *control = ras ? &ras->eeprom_control : NULL; in amdgpu_ras_check_bad_page_status()
1953 if (control->ras_num_bad_pages > ras->bad_page_cnt_threshold) { in amdgpu_ras_check_bad_page_status()