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

2017-06-29 Thread Alex Deucher
On Wed, Jun 28, 2017 at 7:08 PM, Gustavo A. R. Silva
 wrote:
> 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()

2017-06-28 Thread Gustavo A. R. Silva

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()

2017-06-28 Thread 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.

Alex

___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx