[PATCH 4/7] drm/amd/display: Use validated tiling_flags and tmz_surface in commit_tail
Rodrigo Siqueira
Rodrigo.Siqueira at amd.com
Wed Aug 5 21:15:06 UTC 2020
Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira at amd.com>
On 07/30, Nicholas Kazlauskas wrote:
> [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.vetter at ffwll.ch>
> Cc: Bhawanpreet Lakha <Bhawanpreet.Lakha at amd.com>
> Cc: Rodrigo Siqueira <Rodrigo.Siqueira at amd.com>
> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas at 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
>
--
Rodrigo Siqueira
https://siqueira.tech
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20200805/dea8e07b/attachment.sig>
More information about the amd-gfx
mailing list