summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMichał Mirosław <mirq-linux@rere.qmqm.pl>2026-07-02 18:24:40 +0200
committerAlex Deucher <alexander.deucher@amd.com>2026-07-15 09:15:43 -0400
commit0d2d656dfeb6d143bdfd42c6e16bb3e27f847186 (patch)
treeb44f7b333551bdecb84139d045e9571d84401821 /drivers
parentdc6022da45b9abec5f2fc8ef7055d2b8afe1d0b9 (diff)
downloadlinux-next-0d2d656dfeb6d143bdfd42c6e16bb3e27f847186.tar.gz
linux-next-0d2d656dfeb6d143bdfd42c6e16bb3e27f847186.zip
drm/amd/pm/smu7: return error on message send failure
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Reviewed-by: George Zhang <george.zhang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/amd/pm/powerplay/smumgr/smu7_smumgr.c12
1 files 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 2c190f599ff8..45504ac3a31d 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)