Re: [PATCH] drm/mediatek: Update the fb property mtk_plane_atomic_async_update
From: Enric Balletbo i Serra
Date: Thu Feb 13 2020 - 08:38:21 EST
Hi,
On 13/2/20 13:01, Enric Balletbo i Serra wrote:
> Commit 920fffcc8912 ("drm/mediatek: update cursors by using async atomic
> update") added support to async updates of cursors by using the new atomic
> interface for that. Unfortunately, introduced two issues. The first one is
> that since then, the drm_atomic_helper_async_commit triggers a WARNING due
> current fb is not the new fb. The second one, is that we get a black screen
> connecting the external display on Elm device and another WARNING due vblank
> wait timed out.
>
> Swap the fb in mtk_plane_atomic_async_update to fix both issues.
>
> Fixes: 920fffcc8912 ("drm/mediatek: update cursors by using async atomic update")
> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx>
> ---
I just noticed this, which should fix the problem too, so you can ignore this patch.
https://patchwork.kernel.org/patch/11379571/
>
> drivers/gpu/drm/mediatek/mtk_drm_plane.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_plane.c b/drivers/gpu/drm/mediatek/mtk_drm_plane.c
> index 914cc7619cd7..7eb10115e72a 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_plane.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_plane.c
> @@ -116,6 +116,7 @@ static void mtk_plane_atomic_async_update(struct drm_plane *plane,
> plane->state->src_h = new_state->src_h;
> plane->state->src_w = new_state->src_w;
> state->pending.async_dirty = true;
> + swap(plane->state->fb, new_state->fb);
>
> mtk_drm_crtc_async_update(new_state->crtc, plane, new_state);
> }
>