Re: [gpu-drm-radeon] question about potential dead code in vce_v2_0_enable_mgcg()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Alex,

Quoting "Deucher, Alexander" <Alexander.Deucher@xxxxxxx>:

-----Original Message-----
From: Gustavo A. R. Silva [mailto:garsilva@xxxxxxxxxxxxxx]
Sent: Wednesday, June 28, 2017 10:22 AM
To: Deucher, Alexander; Koenig, Christian; David Airlie
Cc: amd-gfx@xxxxxxxxxxxxxxxxxxxxx; dri-devel@xxxxxxxxxxxxxxxxxxxxx; linux-
kernel@xxxxxxxxxxxxxxx
Subject: [gpu-drm-radeon] question about potential dead code in
vce_v2_0_enable_mgcg()


Hello everybody,

While looking into Coverity ID 1198635 I ran into the following piece
of code at drivers/gpu/drm/radeon/vce_v2_0.c:107:

107void vce_v2_0_enable_mgcg(struct radeon_device *rdev, bool enable)
108{
109        bool sw_cg = false;
110
111        if (enable && (rdev->cg_flags &
RADEON_CG_SUPPORT_VCE_MGCG)) {
112                if (sw_cg)
113                        vce_v2_0_set_sw_cg(rdev, true);
114                else
115                        vce_v2_0_set_dyn_cg(rdev, true);
116        } else {
117                vce_v2_0_disable_cg(rdev);
118
119                if (sw_cg)
120                        vce_v2_0_set_sw_cg(rdev, false);
121                else
122                        vce_v2_0_set_dyn_cg(rdev, false);
123        }
124}

The issue here is that local variable sw_cg is never updated again
after its initialization; which cause some code to be logically dead.

My question here is if such variable is there for testing purposes or
if it is a sort of an old code leftover that should be removed?

In any case I can send a patch to add a comment or remove the dead code.

I'd really appreciate any comments on this.

I wanted to leave the code in for debugging if we ran into problems with dynamic clockgating.


Do you mind if I send a patch to add such comment and make it clear the purpose of that variable?

--- a/drivers/gpu/drm/radeon/vce_v2_0.c
+++ b/drivers/gpu/drm/radeon/vce_v2_0.c
@@ -104,6 +104,10 @@ static void vce_v2_0_disable_cg(struct radeon_device *rdev)
        WREG32(VCE_CGTT_CLK_OVERRIDE, 7);
 }

+/*
+ * Local variable sw_cg is used for debugging purposes, in case we
+ * ran into problems with dynamic clock gating. Don't remove it.
+ */
 void vce_v2_0_enable_mgcg(struct radeon_device *rdev, bool enable)
 {
        bool sw_cg = false;


Thanks for clarifying!
--
Gustavo A. R. Silva






_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux