Re: [PATCH] drm/amd/display: fix gcc set but not used warning of variable 'old_plane_state'
From: Alex Deucher
Date: Tue Jun 01 2021 - 22:07:53 EST
Applied. Thanks!
Alex
On Sat, May 29, 2021 at 5:19 AM Yu Kuai <yukuai3@xxxxxxxxxx> wrote:
>
> define a new macro for_each_new_plane_in_state_reverse to replace
> for_each_oldnew_plane_in_state_reverse, so that the unused variable
> 'old_plane_state' can be removed.
>
> Fix gcc warning:
> drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:10066:26: warning:
> variable ‘old_plane_state’ set but not used [-Wunused-but-set-variable]
>
> Signed-off-by: Yu Kuai <yukuai3@xxxxxxxxxx>
> ---
> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 4 ++--
> include/drm/drm_atomic.h | 12 ++++++++++++
> 2 files changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index f7a5e5b48ea6..9f4b334bc071 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -10063,11 +10063,11 @@ static int validate_overlay(struct drm_atomic_state *state)
> {
> int i;
> struct drm_plane *plane;
> - struct drm_plane_state *old_plane_state, *new_plane_state;
> + struct drm_plane_state *new_plane_state;
> struct drm_plane_state *primary_state, *cursor_state, *overlay_state = NULL;
>
> /* Check if primary plane is contained inside overlay */
> - for_each_oldnew_plane_in_state_reverse(state, plane, old_plane_state, new_plane_state, i) {
> + for_each_new_plane_in_state_reverse(state, plane, new_plane_state, i) {
> if (plane->type == DRM_PLANE_TYPE_OVERLAY) {
> if (drm_atomic_plane_disabling(plane->state, new_plane_state))
> return 0;
> diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h
> index ac5a28eff2c8..8f1350e599eb 100644
> --- a/include/drm/drm_atomic.h
> +++ b/include/drm/drm_atomic.h
> @@ -895,6 +895,18 @@ void drm_state_dump(struct drm_device *dev, struct drm_printer *p);
> (old_plane_state) = (__state)->planes[__i].old_state,\
> (new_plane_state) = (__state)->planes[__i].new_state, 1))
>
> +/**
> + * for_each_new_plane_in_state_reverse - other than only tracking new state,
> + * it's the same as for_each_oldnew_plane_in_state_reverse
> + */
> +#define for_each_new_plane_in_state_reverse(__state, plane, new_plane_state, __i) \
> + for ((__i) = ((__state)->dev->mode_config.num_total_plane - 1); \
> + (__i) >= 0; \
> + (__i)--) \
> + for_each_if ((__state)->planes[__i].ptr && \
> + ((plane) = (__state)->planes[__i].ptr, \
> + (new_plane_state) = (__state)->planes[__i].new_state, 1))
> +
> /**
> * for_each_old_plane_in_state - iterate over all planes in an atomic update
> * @__state: &struct drm_atomic_state pointer
> --
> 2.25.4
>