summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCandice Li <candice.li@amd.com>2024-01-04 10:27:10 +0800
committerAlex Deucher <alexander.deucher@amd.com>2024-01-09 15:44:13 -0500
commitfb1e91719983c529f85602fdd08c0b7dbf384b1c (patch)
tree89b3af13cc4ed7412388ab48f529b90a7cb24b51
parentf4a94dbb6dc0bed10a5fc63718d00f1de45b12c0 (diff)
downloadlinux-stable-fb1e91719983c529f85602fdd08c0b7dbf384b1c.tar.gz
linux-stable-fb1e91719983c529f85602fdd08c0b7dbf384b1c.tar.bz2
linux-stable-fb1e91719983c529f85602fdd08c0b7dbf384b1c.zip
drm/amdgpu: Support poison error injection via ras_ctrl debugfs
Support poison error injection. Signed-off-by: Candice Li <candice.li@amd.com> Reviewed-by: Tao Zhou <tao.zhou1@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
index 9a64584318e0..3f7f5c12961d 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
@@ -305,11 +305,13 @@ static int amdgpu_ras_debugfs_ctrl_parse_data(struct file *f,
return -EINVAL;
data->head.block = block_id;
- /* only ue and ce errors are supported */
+ /* only ue, ce and poison errors are supported */
if (!memcmp("ue", err, 2))
data->head.type = AMDGPU_RAS_ERROR__MULTI_UNCORRECTABLE;
else if (!memcmp("ce", err, 2))
data->head.type = AMDGPU_RAS_ERROR__SINGLE_CORRECTABLE;
+ else if (!memcmp("poison", err, 6))
+ data->head.type = AMDGPU_RAS_ERROR__POISON;
else
return -EINVAL;
@@ -431,9 +433,10 @@ static void amdgpu_ras_instance_mask_check(struct amdgpu_device *adev,
* The block is one of: umc, sdma, gfx, etc.
* see ras_block_string[] for details
*
- * The error type is one of: ue, ce, where,
+ * The error type is one of: ue, ce and poison where,
* ue is multi-uncorrectable
* ce is single-correctable
+ * poison is poison
*
* The sub-block is a the sub-block index, pass 0 if there is no sub-block.
* The address and value are hexadecimal numbers, leading 0x is optional.