Message ID | 20200730203642.17553-5-nicholas.kazlauskas@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/amd/display: Drop DRM private objects from amdgpu_dm | expand |
Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@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@ffwll.ch> > Cc: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> > Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com> > Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@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 >
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,
[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@ffwll.ch> Cc: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> --- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-)