* drm/mediatek: fixup crtc event null pointer issue @ 2022-03-14 7:42 Yongqiang Niu 2022-03-14 7:42 ` [PATCH v1, 1/1] " Yongqiang Niu 0 siblings, 1 reply; 6+ messages in thread From: Yongqiang Niu @ 2022-03-14 7:42 UTC (permalink / raw) To: Chun-Kuang Hu Cc: Rob Herring, Matthias Brugger, Philipp Zabel, David Airlie, Daniel Vetter, Jassi Brar, Yongqiang Niu, Fabien Parent, Dennis YC Hsieh, devicetree, linux-arm-kernel, linux-mediatek, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, Hsin-Yi Wang base linux v5.17-rc1 Yongqiang Niu (1): drm/mediatek: fixup crtc event null pointer issue drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 3 +++ 1 file changed, 3 insertions(+) -- 2.25.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v1, 1/1] drm/mediatek: fixup crtc event null pointer issue 2022-03-14 7:42 drm/mediatek: fixup crtc event null pointer issue Yongqiang Niu @ 2022-03-14 7:42 ` Yongqiang Niu 2022-03-17 12:49 ` Rex-BC Chen 2022-03-28 9:34 ` CK Hu 0 siblings, 2 replies; 6+ messages in thread From: Yongqiang Niu @ 2022-03-14 7:42 UTC (permalink / raw) To: Chun-Kuang Hu Cc: Rob Herring, Matthias Brugger, Philipp Zabel, David Airlie, Daniel Vetter, Jassi Brar, Yongqiang Niu, Fabien Parent, Dennis YC Hsieh, devicetree, linux-arm-kernel, linux-mediatek, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, Hsin-Yi Wang if crtc event is null pointer, do not send vblank event Signed-off-by: Yongqiang Niu <yongqiang.niu@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 d661edf7e0fe..265fed446628 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c @@ -92,6 +92,9 @@ static void mtk_drm_crtc_finish_page_flip(struct mtk_drm_crtc *mtk_crtc) struct drm_crtc *crtc = &mtk_crtc->base; unsigned long flags; + if (!mtk_crtc->event) + return; + spin_lock_irqsave(&crtc->dev->event_lock, flags); drm_crtc_send_vblank_event(crtc, mtk_crtc->event); drm_crtc_vblank_put(crtc); -- 2.25.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v1, 1/1] drm/mediatek: fixup crtc event null pointer issue 2022-03-14 7:42 ` [PATCH v1, 1/1] " Yongqiang Niu @ 2022-03-17 12:49 ` Rex-BC Chen 2022-03-28 9:34 ` CK Hu 1 sibling, 0 replies; 6+ messages in thread From: Rex-BC Chen @ 2022-03-17 12:49 UTC (permalink / raw) To: Yongqiang Niu, Chun-Kuang Hu Cc: Rob Herring, Matthias Brugger, Philipp Zabel, David Airlie, Daniel Vetter, Jassi Brar, Fabien Parent, Dennis YC Hsieh, devicetree, linux-arm-kernel, linux-mediatek, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, Hsin-Yi Wang On Mon, 2022-03-14 at 15:42 +0800, Yongqiang Niu wrote: > if crtc event is null pointer, do not send vblank event > > Signed-off-by: Yongqiang Niu <yongqiang.niu@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 d661edf7e0fe..265fed446628 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > @@ -92,6 +92,9 @@ static void mtk_drm_crtc_finish_page_flip(struct > mtk_drm_crtc *mtk_crtc) > struct drm_crtc *crtc = &mtk_crtc->base; > unsigned long flags; > > + if (!mtk_crtc->event) > + return; > + Reviewed-by: Rex-BC Chen <rex-bc.chen@mediatek.com> > spin_lock_irqsave(&crtc->dev->event_lock, flags); > drm_crtc_send_vblank_event(crtc, mtk_crtc->event); > drm_crtc_vblank_put(crtc); _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v1, 1/1] drm/mediatek: fixup crtc event null pointer issue 2022-03-14 7:42 ` [PATCH v1, 1/1] " Yongqiang Niu 2022-03-17 12:49 ` Rex-BC Chen @ 2022-03-28 9:34 ` CK Hu 2022-05-11 10:08 ` yongqiang.niu 1 sibling, 1 reply; 6+ messages in thread From: CK Hu @ 2022-03-28 9:34 UTC (permalink / raw) To: Yongqiang Niu, Chun-Kuang Hu Cc: devicetree, Project_Global_Chrome_Upstream_Group, David Airlie, Jassi Brar, linux-kernel, dri-devel, Dennis YC Hsieh, Fabien Parent, Rob Herring, linux-mediatek, Hsin-Yi Wang, Matthias Brugger, linux-arm-kernel Hi, Yongqiang: On Mon, 2022-03-14 at 15:42 +0800, Yongqiang Niu wrote: > if crtc event is null pointer, do not send vblank event This is a bug-fix, so add a Fixes tag here. > > Signed-off-by: Yongqiang Niu <yongqiang.niu@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 d661edf7e0fe..265fed446628 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > @@ -92,6 +92,9 @@ static void mtk_drm_crtc_finish_page_flip(struct > mtk_drm_crtc *mtk_crtc) > struct drm_crtc *crtc = &mtk_crtc->base; > unsigned long flags; > > + if (!mtk_crtc->event) > + return; > + > spin_lock_irqsave(&crtc->dev->event_lock, flags); > drm_crtc_send_vblank_event(crtc, mtk_crtc->event); I think pending_needs_vblank is used to protect this situation. It seems that pending_needs_vblank should be protected by critical section. Regards, CK > drm_crtc_vblank_put(crtc); _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v1, 1/1] drm/mediatek: fixup crtc event null pointer issue 2022-03-28 9:34 ` CK Hu @ 2022-05-11 10:08 ` yongqiang.niu 2022-05-12 5:20 ` CK Hu 0 siblings, 1 reply; 6+ messages in thread From: yongqiang.niu @ 2022-05-11 10:08 UTC (permalink / raw) To: CK Hu, Chun-Kuang Hu Cc: devicetree, Project_Global_Chrome_Upstream_Group, David Airlie, Jassi Brar, linux-kernel, dri-devel, Dennis YC Hsieh, Fabien Parent, Rob Herring, linux-mediatek, Hsin-Yi Wang, Matthias Brugger, linux-arm-kernel On Mon, 2022-03-28 at 17:34 +0800, CK Hu wrote: > Hi, Yongqiang: > > On Mon, 2022-03-14 at 15:42 +0800, Yongqiang Niu wrote: > > if crtc event is null pointer, do not send vblank event > > This is a bug-fix, so add a Fixes tag here. Fixes tag will be added in next version. > > > > > Signed-off-by: Yongqiang Niu <yongqiang.niu@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 d661edf7e0fe..265fed446628 100644 > > --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > > +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > > @@ -92,6 +92,9 @@ static void mtk_drm_crtc_finish_page_flip(struct > > mtk_drm_crtc *mtk_crtc) > > struct drm_crtc *crtc = &mtk_crtc->base; > > unsigned long flags; > > > > + if (!mtk_crtc->event) > > + return; > > + > > spin_lock_irqsave(&crtc->dev->event_lock, flags); > > drm_crtc_send_vblank_event(crtc, mtk_crtc->event); > > I think pending_needs_vblank is used to protect this situation. It > seems that pending_needs_vblank should be protected by critical > section. > > Regards, > CK actually, in the NG case pending_needs_vblank is true, but crtc->event is null. > > > drm_crtc_vblank_put(crtc); > > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v1, 1/1] drm/mediatek: fixup crtc event null pointer issue 2022-05-11 10:08 ` yongqiang.niu @ 2022-05-12 5:20 ` CK Hu 0 siblings, 0 replies; 6+ messages in thread From: CK Hu @ 2022-05-12 5:20 UTC (permalink / raw) To: yongqiang.niu, Chun-Kuang Hu Cc: devicetree, Project_Global_Chrome_Upstream_Group, David Airlie, Jassi Brar, linux-kernel, dri-devel, Dennis YC Hsieh, Fabien Parent, Rob Herring, linux-mediatek, Hsin-Yi Wang, Matthias Brugger, linux-arm-kernel Hi, Yongqiang: On Wed, 2022-05-11 at 18:08 +0800, yongqiang.niu wrote: > On Mon, 2022-03-28 at 17:34 +0800, CK Hu wrote: > > Hi, Yongqiang: > > > > On Mon, 2022-03-14 at 15:42 +0800, Yongqiang Niu wrote: > > > if crtc event is null pointer, do not send vblank event > > > > This is a bug-fix, so add a Fixes tag here. > > Fixes tag will be added in next version. > > > > > > > > Signed-off-by: Yongqiang Niu <yongqiang.niu@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 d661edf7e0fe..265fed446628 100644 > > > --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > > > +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > > > @@ -92,6 +92,9 @@ static void > > > mtk_drm_crtc_finish_page_flip(struct > > > mtk_drm_crtc *mtk_crtc) > > > struct drm_crtc *crtc = &mtk_crtc->base; > > > unsigned long flags; > > > > > > + if (!mtk_crtc->event) > > > + return; > > > + > > > spin_lock_irqsave(&crtc->dev->event_lock, flags); > > > drm_crtc_send_vblank_event(crtc, mtk_crtc->event); > > > > I think pending_needs_vblank is used to protect this situation. It > > seems that pending_needs_vblank should be protected by critical > > section. > > > > Regards, > > CK > > actually, in the NG case pending_needs_vblank is true, but crtc- > >event > is null. It looks like that other driver access an invalid address which store mtk_crtc->event, so mediatek drm driver has no bug and we should fix the bug from other driver. This work around does not fix bug but just hide the bug. So try to fix this bug in other driver. Regards, CK > > > > > > drm_crtc_vblank_put(crtc); > > > > > > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-05-12 5:22 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-03-14 7:42 drm/mediatek: fixup crtc event null pointer issue Yongqiang Niu 2022-03-14 7:42 ` [PATCH v1, 1/1] " Yongqiang Niu 2022-03-17 12:49 ` Rex-BC Chen 2022-03-28 9:34 ` CK Hu 2022-05-11 10:08 ` yongqiang.niu 2022-05-12 5:20 ` CK Hu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).