Re: drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:843:6: error: variable 'out' set but not used

From: Abhinav Kumar
Date: Tue Mar 26 2024 - 15:56:27 EST




On 3/26/2024 12:47 PM, Dmitry Baryshkov wrote:
On Tue, 26 Mar 2024 at 21:32, Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx> wrote:



On 3/26/2024 12:10 PM, Dmitry Baryshkov wrote:
On Tue, 26 Mar 2024 at 20:31, Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx> wrote:



On 3/26/2024 11:19 AM, Dmitry Baryshkov wrote:
On Tue, 26 Mar 2024 at 20:05, Miguel Ojeda
<miguel.ojeda.sandonis@xxxxxxxxx> wrote:

Hi,

In today's next, I got:

drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:843:6: error: variable
'out' set but not used [-Werror,-Wunused-but-set-variable]

`out` seems to be there since commit 64d6255650d4 ("drm/msm: More
fully implement devcoredump for a7xx").

Untested diff below assuming `dumper->iova` is constant -- if you want
a formal patch, please let me know.

Please send a proper patch that we can pick up.


This should be fixed with https://patchwork.freedesktop.org/patch/581853/.

Is that a correct fix? If you check other usage locations for
CRASHDUMP_READ, you'll see that `out` is the last parameter and it is
being incremented.


Right but in this function out is not the last parameter of CRASHDUMP_READ.

Yes. I think in this case the patch from this email is more correct.


Alright, in that case, Miguel can you please repost this with the Fixes tags and in a patch form.


Maybe you or Rob can correct me but I thought the fix looked sane
although noone commented on that patch.



We can pickup that one with a Fixes tag applied.


Cheers,
Miguel

diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
index 1f5245fc2cdc..a847a0f7a73c 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
+++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
@@ -852,7 +852,7 @@ static void a6xx_get_shader_block(struct msm_gpu *gpu,
(block->type << 8) | i);

in += CRASHDUMP_READ(in, REG_A6XX_HLSQ_DBG_AHB_READ_APERTURE,
- block->size, dumper->iova + A6XX_CD_DATA_OFFSET);
+ block->size, out);

out += block->size * sizeof(u32);
}