[PATCH linux-next] drm/amdgpu/vcn: Remove unused assignment in vcn_v4_0_stop

Khalid Masum khalid.masum.92 at gmail.com
Mon Aug 15 15:11:18 UTC 2022


On 8/15/22 20:15, Dong, Ruijing wrote:
> [AMD Official Use Only - General]
> 
> Sorry, which "r" value was overwritten?  I didn't see the point of making this change.
> 
> Thanks
> Ruijing
> 
> -----Original Message-----
> From: Khalid Masum <khalid.masum.92 at gmail.com>
> Sent: Monday, August 15, 2022 3:01 AM
> To: amd-gfx at lists.freedesktop.org; dri-devel at lists.freedesktop.org; linux-kernel at vger.kernel.org; linux-kernel-mentees at lists.linuxfoundation.org
> Cc: Deucher, Alexander <Alexander.Deucher at amd.com>; Koenig, Christian <Christian.Koenig at amd.com>; Pan, Xinhui <Xinhui.Pan at amd.com>; David Airlie <airlied at linux.ie>; Daniel Vetter <daniel at ffwll.ch>; Zhu, James <James.Zhu at amd.com>; Jiang, Sonny <Sonny.Jiang at amd.com>; Dong, Ruijing <Ruijing.Dong at amd.com>; Wan Jiabing <wanjiabing at vivo.com>; Liu, Leo <Leo.Liu at amd.com>; Khalid Masum <khalid.masum.92 at gmail.com>
> Subject: [PATCH linux-next] drm/amdgpu/vcn: Remove unused assignment in vcn_v4_0_stop
> 
> The value assigned from vcn_v4_0_stop_dbg_mode to r is overwritten before it can be used. Remove this assignment.
> 
> Addresses-Coverity: 1504988 ("Unused value")
> Fixes: 8da1170a16e4 ("drm/amdgpu: add VCN4 ip block support")
> Signed-off-by: Khalid Masum <khalid.masum.92 at gmail.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c b/drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c
> index ca14c3ef742e..80b8a2c66b36 100644
> --- a/drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c
> @@ -1154,7 +1154,7 @@ static int vcn_v4_0_stop(struct amdgpu_device *adev)
>                  fw_shared->sq.queue_mode |= FW_QUEUE_DPG_HOLD_OFF;
> 
>                  if (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG) {
> -                       r = vcn_v4_0_stop_dpg_mode(adev, i);
> +                       vcn_v4_0_stop_dpg_mode(adev, i);
>                          continue;
>                  }
> 
> --
> 2.37.1
> 

After value is overwritten soon right after the diff.

See:
drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c

static int vcn_v4_0_stop(struct amdgpu_device *adev)
{
         volatile struct amdgpu_vcn4_fw_shared *fw_shared;
...

         for (i = 0; i < adev->vcn.num_vcn_inst; ++i) {
                 fw_shared = adev->vcn.inst[i].fw_shared.cpu_addr;
                 fw_shared->sq.queue_mode |= FW_QUEUE_DPG_HOLD_OFF;

                 if (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG) {
                         r = vcn_v4_0_stop_dpg_mode(adev, i);
                         continue;
                 }

                 /* wait for vcn idle */
                 r = SOC15_WAIT_ON_RREG(VCN, i, regUVD_STATUS, 
UVD_STATUS__IDLE, 0x7);

Here, any value assigned to r is overwritten before it could
be used. So the assignment in the true branch of the if statement
here can be removed.

Thanks,
   -- Khalid Masum


More information about the dri-devel mailing list