[PATCH 07/13] drm/amdgpu: add amdgpu_framebuffer::gfx12_dcc

Alex Deucher alexdeucher at gmail.com
Wed Jun 26 20:51:35 UTC 2024


On Wed, Jun 26, 2024 at 2:42 PM Marek Olšák <maraeo at gmail.com> wrote:
>
> amdgpu_framebuffer doesn't have tiling_flags, so we need this.

Maybe move this patch before patch 13?  It took me a while to see
where this was used.  Either that or maybe mention where it will get
used in the later patch.
With that fixed, the series is:
Acked-by: Alex Deucher <alexander.deucher at amd.com>



Alex


>
> amdgpu_display_get_fb_info never gets NULL parameters, so checking for NULL
> was useless.
>
> Signed-off-by: Marek Olšák <marek.olsak at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 15 ++++++++-------
>  drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h    |  1 +
>  2 files changed, 9 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
> index 3c5fb907bdd9..3f431e6b155a 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
> @@ -1143,7 +1143,8 @@ static int amdgpu_display_verify_sizes(struct amdgpu_framebuffer *rfb)
>  }
>
>  static int amdgpu_display_get_fb_info(const struct amdgpu_framebuffer *amdgpu_fb,
> -                                     uint64_t *tiling_flags, bool *tmz_surface)
> +                                     uint64_t *tiling_flags, bool *tmz_surface,
> +                                     bool *gfx12_dcc)
>  {
>         struct amdgpu_bo *rbo;
>         int r;
> @@ -1151,6 +1152,7 @@ static int amdgpu_display_get_fb_info(const struct amdgpu_framebuffer *amdgpu_fb
>         if (!amdgpu_fb) {
>                 *tiling_flags = 0;
>                 *tmz_surface = false;
> +               *gfx12_dcc = false;
>                 return 0;
>         }
>
> @@ -1164,11 +1166,9 @@ static int amdgpu_display_get_fb_info(const struct amdgpu_framebuffer *amdgpu_fb
>                 return r;
>         }
>
> -       if (tiling_flags)
> -               amdgpu_bo_get_tiling_flags(rbo, tiling_flags);
> -
> -       if (tmz_surface)
> -               *tmz_surface = amdgpu_bo_encrypted(rbo);
> +       amdgpu_bo_get_tiling_flags(rbo, tiling_flags);
> +       *tmz_surface = amdgpu_bo_encrypted(rbo);
> +       *gfx12_dcc = rbo->flags & AMDGPU_GEM_CREATE_GFX12_DCC;
>
>         amdgpu_bo_unreserve(rbo);
>
> @@ -1237,7 +1237,8 @@ static int amdgpu_display_framebuffer_init(struct drm_device *dev,
>                 }
>         }
>
> -       ret = amdgpu_display_get_fb_info(rfb, &rfb->tiling_flags, &rfb->tmz_surface);
> +       ret = amdgpu_display_get_fb_info(rfb, &rfb->tiling_flags, &rfb->tmz_surface,
> +                                        &rfb->gfx12_dcc);
>         if (ret)
>                 return ret;
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
> index 1fe21a70ddd0..d002b845d8ac 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
> @@ -300,6 +300,7 @@ struct amdgpu_framebuffer {
>
>         uint64_t tiling_flags;
>         bool tmz_surface;
> +       bool gfx12_dcc;
>
>         /* caching for later use */
>         uint64_t address;
> --
> 2.34.1
>


More information about the amd-gfx mailing list