Commit f3cbe70e authored by Tao Zhou's avatar Tao Zhou Committed by Alex Deucher

drm/amdgpu: change default behavior of bad_page_threshold parameter

Ignore ras umc bad page threshold by default, GPU initialization won't
be stopped in this mode.

v2: refine the description of bad_page_threshold.
Signed-off-by: default avatarTao Zhou <tao.zhou1@amd.com>
Reviewed-by: default avatarStanley.Yang <Stanley.Yang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 4d33e0f1
...@@ -924,7 +924,7 @@ module_param_named(reset_method, amdgpu_reset_method, int, 0444); ...@@ -924,7 +924,7 @@ module_param_named(reset_method, amdgpu_reset_method, int, 0444);
* result in the GPU entering bad status when the number of total * result in the GPU entering bad status when the number of total
* faulty pages by ECC exceeds the threshold value. * faulty pages by ECC exceeds the threshold value.
*/ */
MODULE_PARM_DESC(bad_page_threshold, "Bad page threshold(-1 = auto(default value), 0 = disable bad page retirement, -2 = ignore bad page threshold)"); MODULE_PARM_DESC(bad_page_threshold, "Bad page threshold(-1 = ignore threshold (default value), 0 = disable bad page retirement, -2 = driver sets threshold)");
module_param_named(bad_page_threshold, amdgpu_bad_page_threshold, int, 0444); module_param_named(bad_page_threshold, amdgpu_bad_page_threshold, int, 0444);
MODULE_PARM_DESC(num_kcq, "number of kernel compute queue user want to setup (8 if set to greater than 8 or less than 0, only affect gfx 8+)"); MODULE_PARM_DESC(num_kcq, "number of kernel compute queue user want to setup (8 if set to greater than 8 or less than 0, only affect gfx 8+)");
......
...@@ -2196,11 +2196,12 @@ static void amdgpu_ras_validate_threshold(struct amdgpu_device *adev, ...@@ -2196,11 +2196,12 @@ static void amdgpu_ras_validate_threshold(struct amdgpu_device *adev,
/* /*
* Justification of value bad_page_cnt_threshold in ras structure * Justification of value bad_page_cnt_threshold in ras structure
* *
* Generally, -1 <= amdgpu_bad_page_threshold <= max record length * Generally, 0 <= amdgpu_bad_page_threshold <= max record length
* in eeprom, and introduce two scenarios accordingly. * in eeprom or amdgpu_bad_page_threshold == -2, introduce two
* scenarios accordingly.
* *
* Bad page retirement enablement: * Bad page retirement enablement:
* - If amdgpu_bad_page_threshold = -1, * - If amdgpu_bad_page_threshold = -2,
* bad_page_cnt_threshold = typical value by formula. * bad_page_cnt_threshold = typical value by formula.
* *
* - When the value from user is 0 < amdgpu_bad_page_threshold < * - When the value from user is 0 < amdgpu_bad_page_threshold <
......
...@@ -1191,8 +1191,8 @@ int amdgpu_ras_eeprom_init(struct amdgpu_ras_eeprom_control *control, ...@@ -1191,8 +1191,8 @@ int amdgpu_ras_eeprom_init(struct amdgpu_ras_eeprom_control *control,
} else { } else {
dev_err(adev->dev, "RAS records:%d exceed threshold:%d", dev_err(adev->dev, "RAS records:%d exceed threshold:%d",
control->ras_num_recs, ras->bad_page_cnt_threshold); control->ras_num_recs, ras->bad_page_cnt_threshold);
if (amdgpu_bad_page_threshold == -2) { if (amdgpu_bad_page_threshold == -1) {
dev_warn(adev->dev, "GPU will be initialized due to bad_page_threshold = -2."); dev_warn(adev->dev, "GPU will be initialized due to bad_page_threshold = -1.");
res = 0; res = 0;
} else { } else {
*exceed_err_limit = true; *exceed_err_limit = true;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment