amdgpu_framebuffer doesn't have tiling_flags, so we need this.

amdgpu_display_get_fb_info never gets NULL parameters, so checking for NULL
was useless.

Signed-off-by: Marek Olšák <marek.ol...@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

Reply via email to