Message ID | 20190610131859.7616-1-helen.koike@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v5] drm/vc4: fix fb references in async update | expand |
On 6/10/19 10:18 AM, Helen Koike wrote: > commit c16b85559dcfb5a348cc085a7b4c75ed49b05e2c upstream. > > 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(). > > Cc: <stable@vger.kernel.org> # v4.19+ > Fixes: 539c320bfa97 ("drm/vc4: update cursors asynchronously through atomic") > Suggested-by: Boris Brezillon <boris.brezillon@collabora.com> > Signed-off-by: Helen Koike <helen.koike@collabora.com> > Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> > Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> > Link: https://patchwork.freedesktop.org/patch/msgid/20190603165610.24614-5-helen.koike@collabora.com > --- > > Hi, > > This patch failed to apply on kernel stable v4.19, I'm re-sending it > fixing the conflict. fyi, this patch was already applied in other stable branches. Thanks Helen > > Thanks > Helen > > drivers/gpu/drm/vc4/vc4_plane.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c > index ab39315c9078..39e608271263 100644 > --- a/drivers/gpu/drm/vc4/vc4_plane.c > +++ b/drivers/gpu/drm/vc4/vc4_plane.c > @@ -818,6 +818,7 @@ static void vc4_plane_atomic_async_update(struct drm_plane *plane, > drm_atomic_set_fb_for_plane(plane->state, state->fb); > } > > + swap(plane->state->fb, state->fb); > /* Set the cursor's position on the screen. This is the > * expected change from the drm_mode_cursor_universal() > * helper. >
On Mon, Jun 10, 2019 at 10:18:59AM -0300, Helen Koike wrote: > commit c16b85559dcfb5a348cc085a7b4c75ed49b05e2c upstream. > > 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(). > > Cc: <stable@vger.kernel.org> # v4.19+ > Fixes: 539c320bfa97 ("drm/vc4: update cursors asynchronously through atomic") > Suggested-by: Boris Brezillon <boris.brezillon@collabora.com> > Signed-off-by: Helen Koike <helen.koike@collabora.com> > Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> > Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> > Link: https://patchwork.freedesktop.org/patch/msgid/20190603165610.24614-5-helen.koike@collabora.com > --- > > Hi, > > This patch failed to apply on kernel stable v4.19, I'm re-sending it > fixing the conflict. Now applied, thanks. greg k-h
diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c index ab39315c9078..39e608271263 100644 --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c @@ -818,6 +818,7 @@ static void vc4_plane_atomic_async_update(struct drm_plane *plane, drm_atomic_set_fb_for_plane(plane->state, state->fb); } + swap(plane->state->fb, state->fb); /* Set the cursor's position on the screen. This is the * expected change from the drm_mode_cursor_universal() * helper.