[Why]
So we're not racing with userspace or deadlocking DM.

[How]
These flags are now stored on dm_plane_state itself and acquried and
validated during commit_check, so just use those instead.

Cc: Daniel Vetter <daniel.vet...@ffwll.ch>
Cc: Bhawanpreet Lakha <bhawanpreet.la...@amd.com>
Cc: Rodrigo Siqueira <rodrigo.sique...@amd.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlaus...@amd.com>
---
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c  | 18 ++++--------------
 1 file changed, 4 insertions(+), 14 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 f78c09c9585e..0d5f45742bb5 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -7094,8 +7094,6 @@ static void amdgpu_dm_commit_planes(struct 
drm_atomic_state *state,
        long r;
        unsigned long flags;
        struct amdgpu_bo *abo;
-       uint64_t tiling_flags;
-       bool tmz_surface = false;
        uint32_t target_vblank, last_flip_vblank;
        bool vrr_active = amdgpu_dm_vrr_active(acrtc_state);
        bool pflip_present = false;
@@ -7179,20 +7177,12 @@ static void amdgpu_dm_commit_planes(struct 
drm_atomic_state *state,
                if (unlikely(r <= 0))
                        DRM_ERROR("Waiting for fences timed out!");
 
-               /*
-                * We cannot reserve buffers here, which means the normal flag
-                * access functions don't work. Paper over this with READ_ONCE,
-                * but maybe the flags are invariant enough that not even that
-                * would be needed.
-                */
-               tiling_flags = READ_ONCE(abo->tiling_flags);
-               tmz_surface = READ_ONCE(abo->flags) & 
AMDGPU_GEM_CREATE_ENCRYPTED;
-
                fill_dc_plane_info_and_addr(
-                       dm->adev, new_plane_state, tiling_flags,
+                       dm->adev, new_plane_state,
+                       dm_new_plane_state->tiling_flags,
                        &bundle->plane_infos[planes_count],
-                       &bundle->flip_addrs[planes_count].address, tmz_surface,
-                       false);
+                       &bundle->flip_addrs[planes_count].address,
+                       dm_new_plane_state->tmz_surface, false);
 
                DRM_DEBUG_DRIVER("plane: id=%d dcc_en=%d\n",
                                 new_plane_state->plane->index,
-- 
2.25.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to