diff options
author | Aaron Liu <aaron.liu@amd.com> | 2019-08-21 16:45:52 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2019-08-22 17:37:53 -0500 |
commit | b5604512088bd096ccb5dc49b7779ed99afdeff0 (patch) | |
tree | cdb959572683292e5961352c642ba57253cc9c21 /drivers/gpu/drm/amd/powerplay/renoir_ppt.c | |
parent | drm/amd/powerplay: fix checking gfxoff status for rn (diff) | |
download | wireguard-linux-b5604512088bd096ccb5dc49b7779ed99afdeff0.tar.xz wireguard-linux-b5604512088bd096ccb5dc49b7779ed99afdeff0.zip |
drm/amd/powerplay: using valid mapping check for rn
Check whether the message mapping is valid
Signed-off-by: Aaron Liu <aaron.liu@amd.com>
Reviewed-by: Kenneth Feng <kenneth.feng@amd.com>
Reviewed-by: Evan Quan <evan.quan@amd.com>
Reviewed-by: Kevin Wang <kevin1.wang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/powerplay/renoir_ppt.c')
-rw-r--r-- | drivers/gpu/drm/amd/powerplay/renoir_ppt.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/gpu/drm/amd/powerplay/renoir_ppt.c b/drivers/gpu/drm/amd/powerplay/renoir_ppt.c index af8bb1cc5d9a..2580383ff49b 100644 --- a/drivers/gpu/drm/amd/powerplay/renoir_ppt.c +++ b/drivers/gpu/drm/amd/powerplay/renoir_ppt.c @@ -26,13 +26,14 @@ #include "soc15_common.h" #include "smu_v12_0_ppsmc.h" #include "smu12_driver_if.h" +#include "smu_v12_0.h" #include "renoir_ppt.h" #define MSG_MAP(msg, index) \ - [SMU_MSG_##msg] = index + [SMU_MSG_##msg] = {1, (index)} -static int renoir_message_map[SMU_MSG_MAX_COUNT] = { +static struct smu_12_0_cmn2aisc_mapping renoir_message_map[SMU_MSG_MAX_COUNT] = { MSG_MAP(TestMessage, PPSMC_MSG_TestMessage), MSG_MAP(GetSmuVersion, PPSMC_MSG_GetSmuVersion), MSG_MAP(GetDriverIfVersion, PPSMC_MSG_GetDriverIfVersion), @@ -98,16 +99,16 @@ static int renoir_message_map[SMU_MSG_MAX_COUNT] = { static int renoir_get_smu_msg_index(struct smu_context *smc, uint32_t index) { - int val; + struct smu_12_0_cmn2aisc_mapping mapping; if (index >= SMU_MSG_MAX_COUNT) return -EINVAL; - val = renoir_message_map[index]; - if (val > PPSMC_Message_Count) + mapping = renoir_message_map[index]; + if (!(mapping.valid_mapping)) return -EINVAL; - return val; + return mapping.map_to; } |