drm/amd/powerplay: skip invalid msg when smu set mp1 state

Some asic may not support for some message of set mp1 state.
If the return value of smu_send_smc_msg is -EINVAL, that means it failed
to send msg to smc as it can not map an valid message for the ASIC. And
with that case, smu_set_mp1_state should be skipped as those ASIC was in
fact do not support for that.

Signed-off-by: Likun Gao <Likun.Gao@amd.com>
Reviewed-by: Evan Quan <evan.quan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Likun Gao 2020-07-21 14:01:53 +08:00 committed by Alex Deucher
parent 3520b5e228
commit 2f32faec00
1 changed files with 3 additions and 0 deletions

View File

@ -1599,6 +1599,9 @@ int smu_set_mp1_state(struct smu_context *smu,
} }
ret = smu_send_smc_msg(smu, msg, NULL); ret = smu_send_smc_msg(smu, msg, NULL);
/* some asics may not support those messages */
if (ret == -EINVAL)
ret = 0;
if (ret) if (ret)
dev_err(smu->adev->dev, "[PrepareMp1] Failed!\n"); dev_err(smu->adev->dev, "[PrepareMp1] Failed!\n");