Re: [PATCH v1, 1/1] drm/mediatek: fixup ovl vblank callback data null pointer issue

From: Rex-BC Chen
Date: Thu Mar 17 2022 - 08:46:46 EST


On Mon, 2022-03-14 at 16:08 +0800, Yongqiang Niu wrote:
> ovl vblank_cb_data will be null pointer when disable ovl
> vblank
>

Hello Yongqiang,

What issue do you encounter?
Is it a timing issue?

> Signed-off-by: Yongqiang Niu <yongqiang.niu@xxxxxxxxxxxx>
> ---
> drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
> b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
> index 2146299e5f52..f3a450c0ef2d 100644
> --- a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
> +++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
> @@ -113,7 +113,6 @@ void mtk_ovl_disable_vblank(struct device *dev)
> struct mtk_disp_ovl *ovl = dev_get_drvdata(dev);
>
> ovl->vblank_cb = NULL;
> - ovl->vblank_cb_data = NULL;

IMO, this may be not a good solution.
If this is a timing issue and you don't need to handle irq after
disable vblank.
I think you should handle ovl->vblank_cb_data == NULL in
mtk_disp_ovl_irq_handler?

If I am wrong, please correct me.

Thanks.

BRs,
Rex

> writel_relaxed(0x0, ovl->regs + DISP_REG_OVL_INTEN);
> }
>