* [PATCH v2 0/2] Fix OVL iommu fault in cursor plane
@ 2023-07-09 16:26 Jason-JH.Lin
2023-07-09 16:26 ` [PATCH v2 1/2] drm/mediatek: Fix iommu fault by swapping FBs after updating plane state Jason-JH.Lin
2023-07-09 16:26 ` [PATCH v2 2/2] drm/mediatek: Fix iommu fault during crtc enabling Jason-JH.Lin
0 siblings, 2 replies; 7+ messages in thread
From: Jason-JH.Lin @ 2023-07-09 16:26 UTC (permalink / raw)
To: Chun-Kuang Hu, AngeloGioacchino Del Regno, Alexandre Mergnat
Cc: Jason-JH . Lin, Singo Chang, linux-kernel, dri-devel,
Project_Global_Chrome_Upstream_Group, Jason-ch Chen, Nancy Lin,
Johnson Wang, Shawn Sung, Matthias Brugger, linux-mediatek,
linux-arm-kernel
Fix some IGT tests fail at iommu fault in OVL cursor plane.
Jason-JH.Lin (2):
drm/mediatek: Fix iommu fault by swapping FBs after updating plane
state
drm/mediatek: Fix iommu fault during crtc enabling
drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 3 +++
drivers/gpu/drm/mediatek/mtk_drm_plane.c | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)
--
2.18.0
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH v2 1/2] drm/mediatek: Fix iommu fault by swapping FBs after updating plane state
2023-07-09 16:26 [PATCH v2 0/2] Fix OVL iommu fault in cursor plane Jason-JH.Lin
@ 2023-07-09 16:26 ` Jason-JH.Lin
2023-07-10 8:06 ` AngeloGioacchino Del Regno
2023-07-09 16:26 ` [PATCH v2 2/2] drm/mediatek: Fix iommu fault during crtc enabling Jason-JH.Lin
1 sibling, 1 reply; 7+ messages in thread
From: Jason-JH.Lin @ 2023-07-09 16:26 UTC (permalink / raw)
To: Chun-Kuang Hu, AngeloGioacchino Del Regno, Alexandre Mergnat
Cc: Jason-JH . Lin, Singo Chang, linux-kernel, dri-devel,
Project_Global_Chrome_Upstream_Group, Jason-ch Chen, Nancy Lin,
Johnson Wang, Shawn Sung, Matthias Brugger, linux-mediatek,
linux-arm-kernel
According to the comment in drm_atomic_helper_async_commit(),
we should make sure FBs have been swapped, so that cleanups in the
new_state performs a cleanup in the old FB.
So we should move swapping FBs after calling mtk_plane_update_new_state(),
to avoid using the old FB which could be freed.
Fixes: 1a64a7aff8da ("drm/mediatek: Fix cursor plane no update")
Signed-off-by: Jason-JH.Lin <jason-jh.lin@mediatek.com>
---
drivers/gpu/drm/mediatek/mtk_drm_plane.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/mediatek/mtk_drm_plane.c b/drivers/gpu/drm/mediatek/mtk_drm_plane.c
index 31f9420aff6f..b1a918ffe457 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_plane.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_plane.c
@@ -210,9 +210,9 @@ 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;
- swap(plane->state->fb, new_state->fb);
mtk_plane_update_new_state(new_state, new_plane_state);
+ swap(plane->state->fb, new_state->fb);
wmb(); /* Make sure the above parameters are set before update */
new_plane_state->pending.async_dirty = true;
mtk_drm_crtc_async_update(new_state->crtc, plane, state);
--
2.18.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH v2 1/2] drm/mediatek: Fix iommu fault by swapping FBs after updating plane state
2023-07-09 16:26 ` [PATCH v2 1/2] drm/mediatek: Fix iommu fault by swapping FBs after updating plane state Jason-JH.Lin
@ 2023-07-10 8:06 ` AngeloGioacchino Del Regno
0 siblings, 0 replies; 7+ messages in thread
From: AngeloGioacchino Del Regno @ 2023-07-10 8:06 UTC (permalink / raw)
To: Jason-JH.Lin, Chun-Kuang Hu, Alexandre Mergnat
Cc: Singo Chang, linux-kernel, dri-devel,
Project_Global_Chrome_Upstream_Group, Jason-ch Chen, Nancy Lin,
Johnson Wang, Shawn Sung, Matthias Brugger, linux-mediatek,
linux-arm-kernel
Il 09/07/23 18:26, Jason-JH.Lin ha scritto:
> According to the comment in drm_atomic_helper_async_commit(),
> we should make sure FBs have been swapped, so that cleanups in the
> new_state performs a cleanup in the old FB.
>
> So we should move swapping FBs after calling mtk_plane_update_new_state(),
> to avoid using the old FB which could be freed.
>
> Fixes: 1a64a7aff8da ("drm/mediatek: Fix cursor plane no update")
> Signed-off-by: Jason-JH.Lin <jason-jh.lin@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 2/2] drm/mediatek: Fix iommu fault during crtc enabling
2023-07-09 16:26 [PATCH v2 0/2] Fix OVL iommu fault in cursor plane Jason-JH.Lin
2023-07-09 16:26 ` [PATCH v2 1/2] drm/mediatek: Fix iommu fault by swapping FBs after updating plane state Jason-JH.Lin
@ 2023-07-09 16:26 ` Jason-JH.Lin
2023-07-10 3:13 ` Fei Shao
2023-07-10 8:07 ` AngeloGioacchino Del Regno
1 sibling, 2 replies; 7+ messages in thread
From: Jason-JH.Lin @ 2023-07-09 16:26 UTC (permalink / raw)
To: Chun-Kuang Hu, AngeloGioacchino Del Regno, Alexandre Mergnat
Cc: Jason-JH . Lin, Singo Chang, linux-kernel, dri-devel,
Project_Global_Chrome_Upstream_Group, Jason-ch Chen, Nancy Lin,
Johnson Wang, Shawn Sung, Matthias Brugger, linux-mediatek,
linux-arm-kernel
OVL layer should not be enabled before crtc is enabled.
The plane_state of drm_atomic_state is not sync to
the plane_state stored in mtk_crtc during crtc enabling,
so just set all planes to disabled.
Signed-off-by: Jason-JH.Lin <jason-jh.lin@mediatek.com>
---
drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
index d40142842f85..51d10e65004e 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
@@ -410,6 +410,9 @@ static int mtk_crtc_ddp_hw_init(struct mtk_drm_crtc *mtk_crtc)
unsigned int local_layer;
plane_state = to_mtk_plane_state(plane->state);
+
+ /* should not enable layer before crtc enabled */
+ plane_state->pending.enable = false;
comp = mtk_drm_ddp_comp_for_plane(crtc, plane, &local_layer);
if (comp)
mtk_ddp_comp_layer_config(comp, local_layer,
--
2.18.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] drm/mediatek: Fix iommu fault during crtc enabling
2023-07-09 16:26 ` [PATCH v2 2/2] drm/mediatek: Fix iommu fault during crtc enabling Jason-JH.Lin
@ 2023-07-10 3:13 ` Fei Shao
2023-07-10 8:07 ` AngeloGioacchino Del Regno
1 sibling, 0 replies; 7+ messages in thread
From: Fei Shao @ 2023-07-10 3:13 UTC (permalink / raw)
To: Jason-JH.Lin
Cc: Chun-Kuang Hu, Alexandre Mergnat, Singo Chang, linux-kernel,
dri-devel, Project_Global_Chrome_Upstream_Group, Jason-ch Chen,
Nancy Lin, Johnson Wang, Shawn Sung, Matthias Brugger,
linux-mediatek, linux-arm-kernel, AngeloGioacchino Del Regno
Hi Jason,
On Mon, Jul 10, 2023 at 12:27 AM Jason-JH.Lin <jason-jh.lin@mediatek.com> wrote:
>
> OVL layer should not be enabled before crtc is enabled.
> The plane_state of drm_atomic_state is not sync to
> the plane_state stored in mtk_crtc during crtc enabling,
> so just set all planes to disabled.
>
Please add the "Fixes" tag before your S-o-b.
Regards,
Fei
> Signed-off-by: Jason-JH.Lin <jason-jh.lin@mediatek.com>
> ---
> drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> index d40142842f85..51d10e65004e 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> @@ -410,6 +410,9 @@ static int mtk_crtc_ddp_hw_init(struct mtk_drm_crtc *mtk_crtc)
> unsigned int local_layer;
>
> plane_state = to_mtk_plane_state(plane->state);
> +
> + /* should not enable layer before crtc enabled */
> + plane_state->pending.enable = false;
> comp = mtk_drm_ddp_comp_for_plane(crtc, plane, &local_layer);
> if (comp)
> mtk_ddp_comp_layer_config(comp, local_layer,
> --
> 2.18.0
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] drm/mediatek: Fix iommu fault during crtc enabling
2023-07-09 16:26 ` [PATCH v2 2/2] drm/mediatek: Fix iommu fault during crtc enabling Jason-JH.Lin
2023-07-10 3:13 ` Fei Shao
@ 2023-07-10 8:07 ` AngeloGioacchino Del Regno
2023-07-10 9:32 ` Jason-JH Lin (林睿祥)
1 sibling, 1 reply; 7+ messages in thread
From: AngeloGioacchino Del Regno @ 2023-07-10 8:07 UTC (permalink / raw)
To: Jason-JH.Lin, Chun-Kuang Hu, Alexandre Mergnat
Cc: Singo Chang, linux-kernel, dri-devel,
Project_Global_Chrome_Upstream_Group, Jason-ch Chen, Nancy Lin,
Johnson Wang, Shawn Sung, Matthias Brugger, linux-mediatek,
linux-arm-kernel
Il 09/07/23 18:26, Jason-JH.Lin ha scritto:
> OVL layer should not be enabled before crtc is enabled.
> The plane_state of drm_atomic_state is not sync to
> the plane_state stored in mtk_crtc during crtc enabling,
> so just set all planes to disabled.
>
Please add the relevant Fixes tag and resend.
Thanks,
Angelo
> Signed-off-by: Jason-JH.Lin <jason-jh.lin@mediatek.com> > ---
> drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> index d40142842f85..51d10e65004e 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> @@ -410,6 +410,9 @@ static int mtk_crtc_ddp_hw_init(struct mtk_drm_crtc *mtk_crtc)
> unsigned int local_layer;
>
> plane_state = to_mtk_plane_state(plane->state);
> +
> + /* should not enable layer before crtc enabled */
> + plane_state->pending.enable = false;
> comp = mtk_drm_ddp_comp_for_plane(crtc, plane, &local_layer);
> if (comp)
> mtk_ddp_comp_layer_config(comp, local_layer,
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] drm/mediatek: Fix iommu fault during crtc enabling
2023-07-10 8:07 ` AngeloGioacchino Del Regno
@ 2023-07-10 9:32 ` Jason-JH Lin (林睿祥)
0 siblings, 0 replies; 7+ messages in thread
From: Jason-JH Lin (林睿祥) @ 2023-07-10 9:32 UTC (permalink / raw)
To: amergnat@baylibre.com, angelogioacchino.delregno@collabora.com,
chunkuang.hu@kernel.org
Cc: Singo Chang (張興國),
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
Project_Global_Chrome_Upstream_Group,
Jason-ch Chen (陳建豪),
Nancy Lin (林欣螢),
Johnson Wang (王聖鑫),
Shawn Sung (宋孝謙), matthias.bgg@gmail.com,
linux-mediatek@lists.infradead.org,
linux-arm-kernel@lists.infradead.org
[-- Attachment #1: Type: text/html, Size: 2050 bytes --]
[-- Attachment #2: Type: text/plain, Size: 663 bytes --]
Hi Angelo,
Thanks for the reviews.
On Mon, 2023-07-10 at 10:07 +0200, AngeloGioacchino Del Regno wrote:
>
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
> Il 09/07/23 18:26, Jason-JH.Lin ha scritto:
> > OVL layer should not be enabled before crtc is enabled.
> > The plane_state of drm_atomic_state is not sync to
> > the plane_state stored in mtk_crtc during crtc enabling,
> > so just set all planes to disabled.
> >
>
> Please add the relevant Fixes tag and resend.
>
> Thanks,
> Angelo
OK, I'll add Fixes tag at the next version.
Regards,
Jason-JH.Lin
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-07-10 9:32 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-09 16:26 [PATCH v2 0/2] Fix OVL iommu fault in cursor plane Jason-JH.Lin
2023-07-09 16:26 ` [PATCH v2 1/2] drm/mediatek: Fix iommu fault by swapping FBs after updating plane state Jason-JH.Lin
2023-07-10 8:06 ` AngeloGioacchino Del Regno
2023-07-09 16:26 ` [PATCH v2 2/2] drm/mediatek: Fix iommu fault during crtc enabling Jason-JH.Lin
2023-07-10 3:13 ` Fei Shao
2023-07-10 8:07 ` AngeloGioacchino Del Regno
2023-07-10 9:32 ` Jason-JH Lin (林睿祥)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox