答复: [PATCH] drm/amd/powerplay: skip invalid msg when smu set mp1 state

Gao, Likun Likun.Gao at amd.com
Tue Jul 21 07:58:25 UTC 2020


Not sure whether there have any case that need to deal with that situation if some msg not found except the set mp1 state message. If handle it in smu_cmn_send_smc_msg_with_param all the message not found will be skipped.
And the logic return index == -EACCES ? 0 : index; only skipped the bad return value that the msg was found but not valid in vf mode. If the message not found, it will still return an bad valid.

Regards,
Likun

-----邮件原件-----
发件人: Chen, Jiansong (Simon) 
发送时间: 2020年7月21日 15:06
收件人: Gao, Likun <Likun.Gao at amd.com>; amd-gfx at lists.freedesktop.org
抄送: Gao, Likun <Likun.Gao at amd.com>; Quan, Evan <Evan.Quan at amd.com>; Sheng, Wenhui <Wenhui.Sheng at amd.com>; Zhang, Hawking <Hawking.Zhang at amd.com>
主题: RE: [PATCH] drm/amd/powerplay: skip invalid msg when smu set mp1 state

[AMD Official Use Only - Internal Distribution Only]

Then why we don't handle it directly in smu_cmn_send_smc_msg_with_param where is more near to the source of the problem.
And there is similar logic already.
if (index < 0)
return index == -EACCES ? 0 : index;

Regards,
Jiansong
-----Original Message-----
From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of Likun Gao
Sent: Tuesday, July 21, 2020 2:30 PM
To: amd-gfx at lists.freedesktop.org
Cc: Gao, Likun <Likun.Gao at amd.com>; Quan, Evan <Evan.Quan at amd.com>; Sheng, Wenhui <Wenhui.Sheng at amd.com>; Zhang, Hawking <Hawking.Zhang at amd.com>
Subject: [PATCH] drm/amd/powerplay: skip invalid msg when smu set mp1 state

From: Likun Gao <Likun.Gao at amd.com>

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 at amd.com>
Change-Id: I31b40b87532a1d7549b26155d4ec8145b5e3f101
---
 drivers/gpu/drm/amd/powerplay/amdgpu_smu.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
index b197dcaed064..237d8ab8b40d 100644
--- a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
+++ b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
@@ -1590,6 +1590,9 @@ int smu_set_mp1_state(struct smu_context *smu,  }

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

--
2.25.1

_______________________________________________
amd-gfx mailing list
amd-gfx at lists.freedesktop.org
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&data=02%7C01%7CJiansong.Chen%40amd.com%7C307b4326530d4a8afb5c08d82d3f877c%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637309098198014944&sdata=mnZFtst8g4yxqOjYeoAmFuQvVn8Y7j4tpf%2FPLvaTCt8%3D&reserved=0



More information about the amd-gfx mailing list