[1/1] drm/mediatek: Add missing plane settings when async update

Message ID 20230918070028.17915-2-shawn.sung@mediatek.com
State New
Headers
Series Add missing plane settings when async update |

Commit Message

Shawn Sung (宋孝謙) Sept. 18, 2023, 7 a.m. UTC
  Fix an issue that plane coordinate was not saved when
calling async update.

Fixes: 920fffcc8912 ("drm/mediatek: update cursors by using async atomic update")

Signed-off-by: Hsiao Chien Sung <shawn.sung@mediatek.com>
---
 drivers/gpu/drm/mediatek/mtk_drm_plane.c | 2 ++
 1 file changed, 2 insertions(+)

--
2.18.0
  

Comments

CK Hu (胡俊光) Oct. 26, 2023, 1:42 a.m. UTC | #1
Hi, Hsiao-chien:

On Mon, 2023-09-18 at 15:00 +0800, Hsiao Chien Sung wrote:
> Fix an issue that plane coordinate was not saved when
> calling async update.

Reviewed-by: CK Hu <ck.hu@mediatek.com>

> 
> Fixes: 920fffcc8912 ("drm/mediatek: update cursors by using async
> atomic update")
> 
> Signed-off-by: Hsiao Chien Sung <shawn.sung@mediatek.com>
> ---
>  drivers/gpu/drm/mediatek/mtk_drm_plane.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_plane.c
> b/drivers/gpu/drm/mediatek/mtk_drm_plane.c
> index db2f70ae060d..58e9f93c38c4 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_plane.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_plane.c
> @@ -206,6 +206,8 @@ static void mtk_plane_atomic_async_update(struct
> drm_plane *plane,
>  	plane->state->src_y = new_state->src_y;
>  	plane->state->src_h = new_state->src_h;
>  	plane->state->src_w = new_state->src_w;
> +	plane->state->dst.x1 = new_state->dst.x1;
> +	plane->state->dst.y1 = new_state->dst.y1;
>  	swap(plane->state->fb, new_state->fb);
> 
>  	mtk_plane_update_new_state(new_state, new_plane_state);
> --
> 2.18.0
>
  

Patch

diff --git a/drivers/gpu/drm/mediatek/mtk_drm_plane.c b/drivers/gpu/drm/mediatek/mtk_drm_plane.c
index db2f70ae060d..58e9f93c38c4 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_plane.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_plane.c
@@ -206,6 +206,8 @@  static void mtk_plane_atomic_async_update(struct drm_plane *plane,
 	plane->state->src_y = new_state->src_y;
 	plane->state->src_h = new_state->src_h;
 	plane->state->src_w = new_state->src_w;
+	plane->state->dst.x1 = new_state->dst.x1;
+	plane->state->dst.y1 = new_state->dst.y1;
 	swap(plane->state->fb, new_state->fb);

 	mtk_plane_update_new_state(new_state, new_plane_state);