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: <sta...@vger.kernel.org> # v4.19+: 25dc194b34dd: drm: Block fb changes for async plane updates Cc: <sta...@vger.kernel.org> # v4.19+: 8105bbaf9afd: drm: don't block fb changes for async plane updates Fixes: 25dc194b34dd ("drm: Block fb changes for async plane updates") Suggested-by: Boris Brezillon <boris.brezil...@collabora.com> Signed-off-by: Helen Koike <helen.ko...@collabora.com> --- Hello, As mentioned in the cover letter, I tested on the rockchip and on i915 using igt plane_cursor_legacy and kms_cursor_legacy and I didn't see any regressions. But I couldn't test on VC4. I have a Raspberry pi model B rev2, when FB_SIMPLE is running I can see output on the screen, but when vc4 is loaded my hdmi display is not detected anymore, I am still debugging this, probably some config in the firmware, but I would appreciate if anyone could help me testing it. Also the Cc statble commit hash dependency needs to be updated once the refered commit is merged. Thanks! Helen drivers/gpu/drm/vc4/vc4_plane.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plane.c index 1babfeca0c92..1235e53b22a3 100644 --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c @@ -968,7 +968,7 @@ static void vc4_plane_atomic_async_update(struct drm_plane *plane, { struct vc4_plane_state *vc4_state, *new_vc4_state; - drm_atomic_set_fb_for_plane(plane->state, state->fb); + swap(plane->state->fb, state->fb); plane->state->crtc_x = state->crtc_x; plane->state->crtc_y = state->crtc_y; plane->state->crtc_w = state->crtc_w; -- 2.20.1 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel