dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).