diff mbox series

drm/msm: fix the `CRASHDUMP_READ` target of `a6xx_get_shader_block()`

Message ID 20240326212324.185832-1-ojeda@kernel.org (mailing list archive)
State New, archived
Headers show
Series drm/msm: fix the `CRASHDUMP_READ` target of `a6xx_get_shader_block()` | expand

Commit Message

Miguel Ojeda March 26, 2024, 9:23 p.m. UTC
Clang 14 in an (essentially) defconfig arm64 build for next-20240326
reports [1]:

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

The variable `out` in these functions is meant to compute the `target` of
`CRASHDUMP_READ()`, but in this case only the initial value (`dumper->iova
+ A6XX_CD_DATA_OFFSET`) was being passed.

Thus use `out` as it was intended by Connor [2].

There was an alternative patch at [3] that removed the variable
altogether, but that would only use the initial value.

Fixes: 64d6255650d4 ("drm/msm: More fully implement devcoredump for a7xx")
Closes: https://lore.kernel.org/lkml/CANiq72mjc5t4n25SQvYSrOEhxxpXYPZ4pPzneSJHEnc3qApu2Q@mail.gmail.com/ [1]
Link: https://lore.kernel.org/lkml/CACu1E7HhCKMJd6fixZSPiNAz6ekoZnkMTHTcLFVmbZ-9VoLxKg@mail.gmail.com/ [2]
Link: https://lore.kernel.org/lkml/20240307093727.1978126-1-colin.i.king@gmail.com/ [3]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
---
 drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


base-commit: 084c8e315db34b59d38d06e684b1a0dd07d30287

Comments

Abhinav Kumar March 29, 2024, 6:39 p.m. UTC | #1
On 3/26/2024 2:23 PM, Miguel Ojeda wrote:
> Clang 14 in an (essentially) defconfig arm64 build for next-20240326
> reports [1]:
> 
>      drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:843:6: error:
>      variable 'out' set but not used [-Werror,-Wunused-but-set-variable]
> 
> The variable `out` in these functions is meant to compute the `target` of
> `CRASHDUMP_READ()`, but in this case only the initial value (`dumper->iova
> + A6XX_CD_DATA_OFFSET`) was being passed.
> 
> Thus use `out` as it was intended by Connor [2].
> 
> There was an alternative patch at [3] that removed the variable
> altogether, but that would only use the initial value.
> 
> Fixes: 64d6255650d4 ("drm/msm: More fully implement devcoredump for a7xx")
> Closes: https://lore.kernel.org/lkml/CANiq72mjc5t4n25SQvYSrOEhxxpXYPZ4pPzneSJHEnc3qApu2Q@mail.gmail.com/ [1]
> Link: https://lore.kernel.org/lkml/CACu1E7HhCKMJd6fixZSPiNAz6ekoZnkMTHTcLFVmbZ-9VoLxKg@mail.gmail.com/ [2]
> Link: https://lore.kernel.org/lkml/20240307093727.1978126-1-colin.i.king@gmail.com/ [3]
> Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
> ---


LGTM,

Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Dave Airlie April 5, 2024, 5:48 a.m. UTC | #2
On Sat, 30 Mar 2024 at 04:39, Abhinav Kumar <quic_abhinavk@quicinc.com> wrote:
>
>
>
> On 3/26/2024 2:23 PM, Miguel Ojeda wrote:
> > Clang 14 in an (essentially) defconfig arm64 build for next-20240326
> > reports [1]:
> >
> >      drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:843:6: error:
> >      variable 'out' set but not used [-Werror,-Wunused-but-set-variable]
> >
> > The variable `out` in these functions is meant to compute the `target` of
> > `CRASHDUMP_READ()`, but in this case only the initial value (`dumper->iova
> > + A6XX_CD_DATA_OFFSET`) was being passed.
> >
> > Thus use `out` as it was intended by Connor [2].
> >
> > There was an alternative patch at [3] that removed the variable
> > altogether, but that would only use the initial value.
> >
> > Fixes: 64d6255650d4 ("drm/msm: More fully implement devcoredump for a7xx")
> > Closes: https://lore.kernel.org/lkml/CANiq72mjc5t4n25SQvYSrOEhxxpXYPZ4pPzneSJHEnc3qApu2Q@mail.gmail.com/ [1]
> > Link: https://lore.kernel.org/lkml/CACu1E7HhCKMJd6fixZSPiNAz6ekoZnkMTHTcLFVmbZ-9VoLxKg@mail.gmail.com/ [2]
> > Link: https://lore.kernel.org/lkml/20240307093727.1978126-1-colin.i.king@gmail.com/ [3]
> > Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
> > ---
>
>
> LGTM,
>
> Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>

I'm seeing this on my drm-next tree, where is this fix landing?

Dave.
diff mbox series

Patch

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);
 	}