Message ID | 20200302224217.22590-1-natechancellor@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/amd/display: Remove pointless NULL checks in dmub_psr_copy_settings | expand |
On Mon, Mar 2, 2020 at 2:43 PM Nathan Chancellor <natechancellor@gmail.com> wrote: > > Clang warns: > > drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dmub_psr.c:147:31: warning: > address of 'pipe_ctx->plane_res' will always evaluate to 'true' > [-Wpointer-bool-conversion] > if (!pipe_ctx || !&pipe_ctx->plane_res || !&pipe_ctx->stream_res) > ~ ~~~~~~~~~~^~~~~~~~~ > drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dmub_psr.c:147:56: warning: > address of 'pipe_ctx->stream_res' will always evaluate to 'true' > [-Wpointer-bool-conversion] > if (!pipe_ctx || !&pipe_ctx->plane_res || !&pipe_ctx->stream_res) > ~ ~~~~~~~~~~^~~~~~~~~~ > 2 warnings generated. > > As long as pipe_ctx is not NULL, the address of members in this struct > cannot be NULL, which means these checks will always evaluate to false. > > Fixes: 4c1a1335dfe0 ("drm/amd/display: Driverside changes to support PSR in DMCUB") > Link: https://github.com/ClangBuiltLinux/linux/issues/915 > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> Indeed, they are not pointers, and no members within `struct plane_resource` or `struct stream_resource` seem to indicate that they are somehow invalid. Good job sleuthing out the correct fixes by tag. Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> > --- > drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c b/drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c > index 2c932c29f1f9..a9e1c01e9d9b 100644 > --- a/drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c > +++ b/drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c > @@ -144,7 +144,7 @@ static bool dmub_psr_copy_settings(struct dmub_psr *dmub, > } > } > > - if (!pipe_ctx || !&pipe_ctx->plane_res || !&pipe_ctx->stream_res) > + if (!pipe_ctx) > return false; > > // First, set the psr version > -- > 2.25.1 >
On Mon, Mar 2, 2020 at 5:43 PM Nathan Chancellor <natechancellor@gmail.com> wrote: > > Clang warns: > > drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dmub_psr.c:147:31: warning: > address of 'pipe_ctx->plane_res' will always evaluate to 'true' > [-Wpointer-bool-conversion] > if (!pipe_ctx || !&pipe_ctx->plane_res || !&pipe_ctx->stream_res) > ~ ~~~~~~~~~~^~~~~~~~~ > drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dmub_psr.c:147:56: warning: > address of 'pipe_ctx->stream_res' will always evaluate to 'true' > [-Wpointer-bool-conversion] > if (!pipe_ctx || !&pipe_ctx->plane_res || !&pipe_ctx->stream_res) > ~ ~~~~~~~~~~^~~~~~~~~~ > 2 warnings generated. > > As long as pipe_ctx is not NULL, the address of members in this struct > cannot be NULL, which means these checks will always evaluate to false. > > Fixes: 4c1a1335dfe0 ("drm/amd/display: Driverside changes to support PSR in DMCUB") > Link: https://github.com/ClangBuiltLinux/linux/issues/915 > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> Applied. Thanks! Alex > --- > drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c b/drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c > index 2c932c29f1f9..a9e1c01e9d9b 100644 > --- a/drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c > +++ b/drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c > @@ -144,7 +144,7 @@ static bool dmub_psr_copy_settings(struct dmub_psr *dmub, > } > } > > - if (!pipe_ctx || !&pipe_ctx->plane_res || !&pipe_ctx->stream_res) > + if (!pipe_ctx) > return false; > > // First, set the psr version > -- > 2.25.1 > > _______________________________________________ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx
diff --git a/drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c b/drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c index 2c932c29f1f9..a9e1c01e9d9b 100644 --- a/drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c +++ b/drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c @@ -144,7 +144,7 @@ static bool dmub_psr_copy_settings(struct dmub_psr *dmub, } } - if (!pipe_ctx || !&pipe_ctx->plane_res || !&pipe_ctx->stream_res) + if (!pipe_ctx) return false; // First, set the psr version
Clang warns: drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dmub_psr.c:147:31: warning: address of 'pipe_ctx->plane_res' will always evaluate to 'true' [-Wpointer-bool-conversion] if (!pipe_ctx || !&pipe_ctx->plane_res || !&pipe_ctx->stream_res) ~ ~~~~~~~~~~^~~~~~~~~ drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dmub_psr.c:147:56: warning: address of 'pipe_ctx->stream_res' will always evaluate to 'true' [-Wpointer-bool-conversion] if (!pipe_ctx || !&pipe_ctx->plane_res || !&pipe_ctx->stream_res) ~ ~~~~~~~~~~^~~~~~~~~~ 2 warnings generated. As long as pipe_ctx is not NULL, the address of members in this struct cannot be NULL, which means these checks will always evaluate to false. Fixes: 4c1a1335dfe0 ("drm/amd/display: Driverside changes to support PSR in DMCUB") Link: https://github.com/ClangBuiltLinux/linux/issues/915 Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> --- drivers/gpu/drm/amd/display/dc/dce/dmub_psr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)