On 6/3/19 1:56 PM, Helen Koike wrote: > Async update callbacks are expected to set the old_fb in the new_state > so prepare/cleanup framebuffers are balanced. > > Calling drm_atomic_set_fb_for_plane() (which gets a reference of the new > fb and put the old fb) is not required, as it's taken care by > drm_mode_cursor_universal() when calling drm_atomic_helper_update_plane(). > > Suggested-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx> > Signed-off-by: Helen Koike <helen.koike@xxxxxxxxxxxxx> > Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v4.20+ Fixes: 674e78acae0d ("drm/amd/display: Add fast path for cursor plane updates") > > --- > > Changes in v4: None > Changes in v3: None > Changes in v2: > - added reviewed-by tag > > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 +-- > 1 file changed, 1 insertion(+), 2 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 443b13ec268d..40624b2c630e 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > @@ -4347,8 +4347,7 @@ static void dm_plane_atomic_async_update(struct drm_plane *plane, > struct drm_plane_state *old_state = > drm_atomic_get_old_plane_state(new_state->state, plane); > > - if (plane->state->fb != new_state->fb) > - drm_atomic_set_fb_for_plane(plane->state, new_state->fb); > + swap(plane->state->fb, new_state->fb); > > plane->state->src_x = new_state->src_x; > plane->state->src_y = new_state->src_y; > _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx