summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Clements <john.clements@amd.com>2020-05-20 05:28:51 +0300
committerAlex Deucher <alexander.deucher@amd.com>2020-05-21 19:46:51 +0300
commit30c296e1c19923f6469b7c0f16b6922cf27254ef (patch)
tree2849f40f70b39974a83491d12bfe5d8dc241002d
parent8c8e1f6984083cdb6b59134baeefeb10ce5ce070 (diff)
downloadlinux-30c296e1c19923f6469b7c0f16b6922cf27254ef.tar.xz
drm/amdgpu: resolve ras recovery vs smi race condition
during ras recovery block smu access via smi Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> Signed-off-by: John Clements <john.clements@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/powerplay/arcturus_ppt.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/powerplay/arcturus_ppt.c b/drivers/gpu/drm/amd/powerplay/arcturus_ppt.c
index cbf70122de9b..27c5fc9572b2 100644
--- a/drivers/gpu/drm/amd/powerplay/arcturus_ppt.c
+++ b/drivers/gpu/drm/amd/powerplay/arcturus_ppt.c
@@ -623,6 +623,9 @@ static int arcturus_print_clk_levels(struct smu_context *smu,
struct smu_dpm_context *smu_dpm = &smu->smu_dpm;
struct arcturus_dpm_table *dpm_table = NULL;
+ if (amdgpu_ras_intr_triggered())
+ return snprintf(buf, PAGE_SIZE, "unavailable\n");
+
dpm_table = smu_dpm->dpm_context;
switch (type) {
@@ -998,6 +1001,9 @@ static int arcturus_read_sensor(struct smu_context *smu,
PPTable_t *pptable = table_context->driver_pptable;
int ret = 0;
+ if (amdgpu_ras_intr_triggered())
+ return 0;
+
if (!data || !size)
return -EINVAL;