* [PATCH] drm/radeon: remove unnecessary variable in si_enable_smc_cac
@ 2017-06-15 22:37 Gustavo A. R. Silva
0 siblings, 0 replies; only message in thread
From: Gustavo A. R. Silva @ 2017-06-15 22:37 UTC (permalink / raw)
To: Alex Deucher, Christian König, David Airlie
Cc: amd-gfx, dri-devel, linux-kernel, Gustavo A. R. Silva
Remove unnecessary variable smc_result and simplify the logic related.
Variable smc_result is only being used to store the return value of function
si_send_msg_to_smc() and then compare this value against constant
PPSMC_Result_OK. In other cases this variable is not even used after
storing a value in it (lines of code 2833 and 2838). Besides,
by removing this variable the logic can be simplified and the number
of nested IF statements reduced.
Addresses-Coverity-ID: 1226969
Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
---
drivers/gpu/drm/radeon/si_dpm.c | 49 ++++++++++++++++++-----------------------
1 file changed, 22 insertions(+), 27 deletions(-)
diff --git a/drivers/gpu/drm/radeon/si_dpm.c b/drivers/gpu/drm/radeon/si_dpm.c
index ee3e742..09ef41f 100644
--- a/drivers/gpu/drm/radeon/si_dpm.c
+++ b/drivers/gpu/drm/radeon/si_dpm.c
@@ -2800,42 +2800,37 @@ static int si_enable_smc_cac(struct radeon_device *rdev,
{
struct ni_power_info *ni_pi = ni_get_pi(rdev);
struct si_power_info *si_pi = si_get_pi(rdev);
- PPSMC_Result smc_result;
int ret = 0;
if (ni_pi->enable_cac) {
- if (enable) {
- if (!si_should_disable_uvd_powertune(rdev, radeon_new_state)) {
- if (ni_pi->support_cac_long_term_average) {
- smc_result = si_send_msg_to_smc(rdev, PPSMC_CACLongTermAvgEnable);
- if (smc_result != PPSMC_Result_OK)
- ni_pi->support_cac_long_term_average = false;
- }
-
- smc_result = si_send_msg_to_smc(rdev, PPSMC_MSG_EnableCac);
- if (smc_result != PPSMC_Result_OK) {
- ret = -EINVAL;
- ni_pi->cac_enabled = false;
- } else {
- ni_pi->cac_enabled = true;
- }
-
- if (si_pi->enable_dte) {
- smc_result = si_send_msg_to_smc(rdev, PPSMC_MSG_EnableDTE);
- if (smc_result != PPSMC_Result_OK)
- ret = -EINVAL;
- }
+ if (enable &&
+ !si_should_disable_uvd_powertune(rdev, radeon_new_state)) {
+ if (ni_pi->support_cac_long_term_average &&
+ PPSMC_Result_OK !=
+ si_send_msg_to_smc(rdev, PPSMC_CACLongTermAvgEnable))
+ ni_pi->support_cac_long_term_average = false;
+
+ if (si_send_msg_to_smc(rdev, PPSMC_MSG_EnableCac) !=
+ PPSMC_Result_OK) {
+ ret = -EINVAL;
+ ni_pi->cac_enabled = false;
+ } else {
+ ni_pi->cac_enabled = true;
}
- } else if (ni_pi->cac_enabled) {
- if (si_pi->enable_dte)
- smc_result = si_send_msg_to_smc(rdev, PPSMC_MSG_DisableDTE);
- smc_result = si_send_msg_to_smc(rdev, PPSMC_MSG_DisableCac);
+ if (si_pi->enable_dte &&
+ si_send_msg_to_smc(rdev, PPSMC_MSG_EnableDTE) !=
+ PPSMC_Result_OK)
+ ret = -EINVAL;
+ } else if (!enable && ni_pi->cac_enabled) {
+ if (si_pi->enable_dte)
+ si_send_msg_to_smc(rdev, PPSMC_MSG_DisableDTE);
+ si_send_msg_to_smc(rdev, PPSMC_MSG_DisableCac);
ni_pi->cac_enabled = false;
if (ni_pi->support_cac_long_term_average)
- smc_result = si_send_msg_to_smc(rdev, PPSMC_CACLongTermAvgDisable);
+ si_send_msg_to_smc(rdev, PPSMC_CACLongTermAvgDisable);
}
}
return ret;
--
2.5.0
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2017-06-15 22:37 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-15 22:37 [PATCH] drm/radeon: remove unnecessary variable in si_enable_smc_cac Gustavo A. R. Silva
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.