Signed-off-by: Michał Mirosław <[email protected]>
---
.../gpu/drm/amd/pm/powerplay/smumgr/smu7_smumgr.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/amd/pm/powerplay/smumgr/smu7_smumgr.c
b/drivers/gpu/drm/amd/pm/powerplay/smumgr/smu7_smumgr.c
index ffe3ce87d907..2e6dfe864306 100644
--- a/drivers/gpu/drm/amd/pm/powerplay/smumgr/smu7_smumgr.c
+++ b/drivers/gpu/drm/amd/pm/powerplay/smumgr/smu7_smumgr.c
@@ -141,12 +141,16 @@ int smu7_send_msg_to_smc(struct pp_hwmgr *hwmgr, uint16_t
msg)
ret = PHM_READ_FIELD(hwmgr->device, SMC_RESP_0, SMC_RESP);
- if (ret == 0xFE)
+ switch (ret) {
+ case 1:
+ return 0;
+ case 0xFE:
dev_dbg(adev->dev, "SMU message %#x was not supported\n", msg);
- else if (ret != 1)
+ return -EOPNOTSUPP;
+ default:
dev_info(adev->dev, "SMU message %#x failed: response is %d\n",
msg, ret);
-
- return 0;
+ return ret != 0xFFFF ? -EIO : -ENXIO;
+ }
}
int smu7_send_msg_to_smc_with_parameter(struct pp_hwmgr *hwmgr, uint16_t msg,
uint32_t parameter)
--
2.47.3