Re: [PATCH] drm/radeon: remove dead code in ni_mc_load_microcode()

From: Alex Deucher
Date: Thu Jan 18 2024 - 15:19:40 EST


On Thu, Jan 18, 2024 at 3:52 AM Nikita Zhandarovich
<n.zhandarovich@xxxxxxxxxx> wrote:
>
> Inside the if block with (running == 0), the checks for 'running'
> possibly being non-zero are redundant. Remove them altogether.
>
> This change is similar to the one authored by Heinrich Schuchardt
> <xypron.glpk@xxxxxx> in commit
> ddbbd3be9679 ("drm/radeon: remove dead code, si_mc_load_microcode (v2)")
>
> Found by Linux Verification Center (linuxtesting.org) with static
> analysis tool Svace.
>
> Fixes: 0af62b016804 ("drm/radeon/kms: add ucode loader for NI")
> Signed-off-by: Nikita Zhandarovich <n.zhandarovich@xxxxxxxxxx>

Applied both of your patches. Thanks!

Alex

> ---
> drivers/gpu/drm/radeon/ni.c | 10 +---------
> 1 file changed, 1 insertion(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c
> index 927e5f42e97d..8eac8c090433 100644
> --- a/drivers/gpu/drm/radeon/ni.c
> +++ b/drivers/gpu/drm/radeon/ni.c
> @@ -624,7 +624,7 @@ static const u32 cayman_io_mc_regs[BTC_IO_MC_REGS_SIZE][2] = {
> int ni_mc_load_microcode(struct radeon_device *rdev)
> {
> const __be32 *fw_data;
> - u32 mem_type, running, blackout = 0;
> + u32 mem_type, running;
> u32 *io_mc_regs;
> int i, ucode_size, regs_size;
>
> @@ -659,11 +659,6 @@ int ni_mc_load_microcode(struct radeon_device *rdev)
> running = RREG32(MC_SEQ_SUP_CNTL) & RUN_MASK;
>
> if ((mem_type == MC_SEQ_MISC0_GDDR5_VALUE) && (running == 0)) {
> - if (running) {
> - blackout = RREG32(MC_SHARED_BLACKOUT_CNTL);
> - WREG32(MC_SHARED_BLACKOUT_CNTL, 1);
> - }
> -
> /* reset the engine and set to writable */
> WREG32(MC_SEQ_SUP_CNTL, 0x00000008);
> WREG32(MC_SEQ_SUP_CNTL, 0x00000010);
> @@ -689,9 +684,6 @@ int ni_mc_load_microcode(struct radeon_device *rdev)
> break;
> udelay(1);
> }
> -
> - if (running)
> - WREG32(MC_SHARED_BLACKOUT_CNTL, blackout);
> }
>
> return 0;