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...@gmail.com>
Sent: Monday, August 15, 2022 3:01 AM
To: amd-gfx@lists.freedesktop.org; dri-de...@lists.freedesktop.org; 
linux-ker...@vger.kernel.org; linux-kernel-ment...@lists.linuxfoundation.org
Cc: Deucher, Alexander <alexander.deuc...@amd.com>; Koenig, Christian <christian.koe...@amd.com>; Pan, Xinhui 
<xinhui....@amd.com>; David Airlie <airl...@linux.ie>; Daniel Vetter <dan...@ffwll.ch>; Zhu, James <james....@amd.com>; 
Jiang, Sonny <sonny.ji...@amd.com>; Dong, Ruijing <ruijing.d...@amd.com>; Wan Jiabing <wanjiab...@vivo.com>; Liu, Leo 
<leo....@amd.com>; Khalid Masum <khalid.masum...@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...@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

Reply via email to