Re: [gpu-drm-radeon] question about potential dead code in vce_v2_0_enable_mgcg()
On Wed, Jun 28, 2017 at 7:08 PM, Gustavo A. R. Silvawrote: > Hi Alex, > > Quoting "Deucher, Alexander" : > >>> -Original Message- >>> From: Gustavo A. R. Silva [mailto:garsi...@embeddedor.com] >>> Sent: Wednesday, June 28, 2017 10:22 AM >>> To: Deucher, Alexander; Koenig, Christian; David Airlie >>> Cc: amd-gfx@lists.freedesktop.org; dri-de...@lists.freedesktop.org; >>> linux- >>> ker...@vger.kernel.org >>> 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{ >>> 109bool sw_cg = false; >>> 110 >>> 111if (enable && (rdev->cg_flags & >>> RADEON_CG_SUPPORT_VCE_MGCG)) { >>> 112if (sw_cg) >>> 113vce_v2_0_set_sw_cg(rdev, true); >>> 114else >>> 115vce_v2_0_set_dyn_cg(rdev, true); >>> 116} else { >>> 117vce_v2_0_disable_cg(rdev); >>> 118 >>> 119if (sw_cg) >>> 120vce_v2_0_set_sw_cg(rdev, false); >>> 121else >>> 122vce_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? Sure. Thanks. Alex > > --- 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 > > > > > > > ___ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
Re: [gpu-drm-radeon] question about potential dead code in vce_v2_0_enable_mgcg()
Hi Alex, Quoting "Deucher, Alexander": -Original Message- From: Gustavo A. R. Silva [mailto:garsi...@embeddedor.com] Sent: Wednesday, June 28, 2017 10:22 AM To: Deucher, Alexander; Koenig, Christian; David Airlie Cc: amd-gfx@lists.freedesktop.org; dri-de...@lists.freedesktop.org; linux- ker...@vger.kernel.org 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{ 109bool sw_cg = false; 110 111if (enable && (rdev->cg_flags & RADEON_CG_SUPPORT_VCE_MGCG)) { 112if (sw_cg) 113vce_v2_0_set_sw_cg(rdev, true); 114else 115vce_v2_0_set_dyn_cg(rdev, true); 116} else { 117vce_v2_0_disable_cg(rdev); 118 119if (sw_cg) 120vce_v2_0_set_sw_cg(rdev, false); 121else 122vce_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 ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
RE: [gpu-drm-radeon] question about potential dead code in vce_v2_0_enable_mgcg()
> -Original Message- > From: Gustavo A. R. Silva [mailto:garsi...@embeddedor.com] > Sent: Wednesday, June 28, 2017 10:22 AM > To: Deucher, Alexander; Koenig, Christian; David Airlie > Cc: amd-gfx@lists.freedesktop.org; dri-de...@lists.freedesktop.org; linux- > ker...@vger.kernel.org > 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{ > 109bool sw_cg = false; > 110 > 111if (enable && (rdev->cg_flags & > RADEON_CG_SUPPORT_VCE_MGCG)) { > 112if (sw_cg) > 113vce_v2_0_set_sw_cg(rdev, true); > 114else > 115vce_v2_0_set_dyn_cg(rdev, true); > 116} else { > 117vce_v2_0_disable_cg(rdev); > 118 > 119if (sw_cg) > 120vce_v2_0_set_sw_cg(rdev, false); > 121else > 122vce_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. Alex ___ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx