[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