Message ID | 20180326161744.27878-1-m.grzeschik@pengutronix.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Mar 26, 2018 at 06:17:44PM +0200, Michael Grzeschik wrote: > We move drm_kms_helper_poll_init behind the drm_fbdev_cma_init so the > set_par will be called and fb will be active. > As this commit message is not very informative and digging deeper into the stubs I came up with another Idea. By default drm_kms_helper_hotplug_event could call drm_fb_helper_output_poll_changed if no other output_poll_changed was registered. I will send another patch. > Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> > --- > drivers/gpu/drm/mxsfb/mxsfb_drv.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/mxsfb/mxsfb_drv.c b/drivers/gpu/drm/mxsfb/mxsfb_drv.c > index 1207ffe362505..a047a729af6b8 100644 > --- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c > +++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c > @@ -94,6 +94,7 @@ void mxsfb_disable_axi_clk(struct mxsfb_drm_private *mxsfb) > > static const struct drm_mode_config_funcs mxsfb_mode_config_funcs = { > .fb_create = drm_gem_fb_create, > + .output_poll_changed = drm_fb_helper_output_poll_changed, > .atomic_check = drm_atomic_helper_check, > .atomic_commit = drm_atomic_helper_commit, > }; > @@ -221,8 +222,6 @@ static int mxsfb_load(struct drm_device *drm, unsigned long flags) > goto err_irq; > } > > - drm_kms_helper_poll_init(drm); > - > mxsfb->fbdev = drm_fbdev_cma_init(drm, 32, > drm->mode_config.num_connector); > if (IS_ERR(mxsfb->fbdev)) { > @@ -232,6 +231,8 @@ static int mxsfb_load(struct drm_device *drm, unsigned long flags) > goto err_cma; > } > > + drm_kms_helper_poll_init(drm); > + > platform_set_drvdata(pdev, drm); > > drm_helper_hpd_irq_event(drm); > -- > 2.16.1 > > >
On Tue, Mar 27, 2018 at 01:30:04PM +0200, Michael Grzeschik wrote: > On Mon, Mar 26, 2018 at 06:17:44PM +0200, Michael Grzeschik wrote: > > We move drm_kms_helper_poll_init behind the drm_fbdev_cma_init so the > > set_par will be called and fb will be active. > > > > As this commit message is not very informative and digging deeper into > the stubs I came up with another Idea. > > By default drm_kms_helper_hotplug_event could call > drm_fb_helper_output_poll_changed if no other output_poll_changed was > registered. After a internal discussion, this seems not the prefered solution, as many connectors don't need polling anymore but still call drm_kms_helper_hotplug_event. I will send v2 of the initial patch.
On Tue, Mar 27, 2018 at 01:30:04PM +0200, Michael Grzeschik wrote: > On Mon, Mar 26, 2018 at 06:17:44PM +0200, Michael Grzeschik wrote: > > We move drm_kms_helper_poll_init behind the drm_fbdev_cma_init so the > > set_par will be called and fb will be active. > > > > As this commit message is not very informative and digging deeper into > the stubs I came up with another Idea. > > By default drm_kms_helper_hotplug_event could call > drm_fb_helper_output_poll_changed if no other output_poll_changed was > registered. > > I will send another patch. Will not compile for modular builds since it's an inversion of control between core and helpers. On your original patch: Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Hm, mxsfb might be a good candidate for drm-misc too. -Daniel > > > Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> > > --- > > drivers/gpu/drm/mxsfb/mxsfb_drv.c | 5 +++-- > > 1 file changed, 3 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/mxsfb/mxsfb_drv.c b/drivers/gpu/drm/mxsfb/mxsfb_drv.c > > index 1207ffe362505..a047a729af6b8 100644 > > --- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c > > +++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c > > @@ -94,6 +94,7 @@ void mxsfb_disable_axi_clk(struct mxsfb_drm_private *mxsfb) > > > > static const struct drm_mode_config_funcs mxsfb_mode_config_funcs = { > > .fb_create = drm_gem_fb_create, > > + .output_poll_changed = drm_fb_helper_output_poll_changed, > > .atomic_check = drm_atomic_helper_check, > > .atomic_commit = drm_atomic_helper_commit, > > }; > > @@ -221,8 +222,6 @@ static int mxsfb_load(struct drm_device *drm, unsigned long flags) > > goto err_irq; > > } > > > > - drm_kms_helper_poll_init(drm); > > - > > mxsfb->fbdev = drm_fbdev_cma_init(drm, 32, > > drm->mode_config.num_connector); > > if (IS_ERR(mxsfb->fbdev)) { > > @@ -232,6 +231,8 @@ static int mxsfb_load(struct drm_device *drm, unsigned long flags) > > goto err_cma; > > } > > > > + drm_kms_helper_poll_init(drm); > > + > > platform_set_drvdata(pdev, drm); > > > > drm_helper_hpd_irq_event(drm); > > -- > > 2.16.1 > > > > > > > > -- > Pengutronix e.K. | | > Industrial Linux Solutions | http://www.pengutronix.de/ | > Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | > Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
Am Mittwoch, den 28.03.2018, 09:02 +0200 schrieb Daniel Vetter: > On Tue, Mar 27, 2018 at 01:30:04PM +0200, Michael Grzeschik wrote: > > On Mon, Mar 26, 2018 at 06:17:44PM +0200, Michael Grzeschik wrote: > > > We move drm_kms_helper_poll_init behind the drm_fbdev_cma_init so > > > the > > > set_par will be called and fb will be active. > > > > > > > As this commit message is not very informative and digging deeper > > into > > the stubs I came up with another Idea. > > > > By default drm_kms_helper_hotplug_event could call > > drm_fb_helper_output_poll_changed if no other output_poll_changed > > was > > registered. > > > > I will send another patch. > > Will not compile for modular builds since it's an inversion of > control > between core and helpers. > > On your original patch: > > Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> > > Hm, mxsfb might be a good candidate for drm-misc too. > -Daniel If you ack FDO bug 103308 I would volunteer to pick up mxsfb patches into drm-misc (if Marek is fine with this). Regards, Lucas
On Wed, Mar 28, 2018 at 11:08 AM, Lucas Stach <l.stach@pengutronix.de> wrote: > Am Mittwoch, den 28.03.2018, 09:02 +0200 schrieb Daniel Vetter: >> On Tue, Mar 27, 2018 at 01:30:04PM +0200, Michael Grzeschik wrote: >> > On Mon, Mar 26, 2018 at 06:17:44PM +0200, Michael Grzeschik wrote: >> > > We move drm_kms_helper_poll_init behind the drm_fbdev_cma_init so >> > > the >> > > set_par will be called and fb will be active. >> > > >> > >> > As this commit message is not very informative and digging deeper >> > into >> > the stubs I came up with another Idea. >> > >> > By default drm_kms_helper_hotplug_event could call >> > drm_fb_helper_output_poll_changed if no other output_poll_changed >> > was >> > registered. >> > >> > I will send another patch. >> >> Will not compile for modular builds since it's an inversion of >> control >> between core and helpers. >> >> On your original patch: >> >> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> >> >> Hm, mxsfb might be a good candidate for drm-misc too. >> -Daniel > > If you ack FDO bug 103308 I would volunteer to pick up mxsfb patches > into drm-misc (if Marek is fine with this). If we maintain a small driver in drm-misc then the main driver maintainer really should have commit rights, and the MAINTAINERS entry should be updated to point at drm-misc.git repo. Otherwise the driver is defacto abandoned. So if Marek is ok, pls create a patch for MAINTAINERS (and fix up Marek with an fd.o account too). -Daniel
On Wed, Mar 28, 2018 at 12:14:45PM +0200, Daniel Vetter wrote: > On Wed, Mar 28, 2018 at 11:08 AM, Lucas Stach <l.stach@pengutronix.de> wrote: > > Am Mittwoch, den 28.03.2018, 09:02 +0200 schrieb Daniel Vetter: > >> On Tue, Mar 27, 2018 at 01:30:04PM +0200, Michael Grzeschik wrote: > >> > On Mon, Mar 26, 2018 at 06:17:44PM +0200, Michael Grzeschik wrote: > >> > > We move drm_kms_helper_poll_init behind the drm_fbdev_cma_init so > >> > > the > >> > > set_par will be called and fb will be active. > >> > > > >> > > >> > As this commit message is not very informative and digging deeper > >> > into > >> > the stubs I came up with another Idea. > >> > > >> > By default drm_kms_helper_hotplug_event could call > >> > drm_fb_helper_output_poll_changed if no other output_poll_changed > >> > was > >> > registered. > >> > > >> > I will send another patch. > >> > >> Will not compile for modular builds since it's an inversion of > >> control > >> between core and helpers. > >> > >> On your original patch: > >> > >> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> > >> > >> Hm, mxsfb might be a good candidate for drm-misc too. > >> -Daniel > > > > If you ack FDO bug 103308 I would volunteer to pick up mxsfb patches > > into drm-misc (if Marek is fine with this). > > If we maintain a small driver in drm-misc then the main driver > maintainer really should have commit rights, and the MAINTAINERS entry > should be updated to point at drm-misc.git repo. Otherwise the driver > is defacto abandoned. So if Marek is ok, pls create a patch for > MAINTAINERS (and fix up Marek with an fd.o account too). > -Daniel In the meantime my patch and the MAINTAINERS change got out of focus. Regards, Michael
diff --git a/drivers/gpu/drm/mxsfb/mxsfb_drv.c b/drivers/gpu/drm/mxsfb/mxsfb_drv.c index 1207ffe362505..a047a729af6b8 100644 --- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c +++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c @@ -94,6 +94,7 @@ void mxsfb_disable_axi_clk(struct mxsfb_drm_private *mxsfb) static const struct drm_mode_config_funcs mxsfb_mode_config_funcs = { .fb_create = drm_gem_fb_create, + .output_poll_changed = drm_fb_helper_output_poll_changed, .atomic_check = drm_atomic_helper_check, .atomic_commit = drm_atomic_helper_commit, }; @@ -221,8 +222,6 @@ static int mxsfb_load(struct drm_device *drm, unsigned long flags) goto err_irq; } - drm_kms_helper_poll_init(drm); - mxsfb->fbdev = drm_fbdev_cma_init(drm, 32, drm->mode_config.num_connector); if (IS_ERR(mxsfb->fbdev)) { @@ -232,6 +231,8 @@ static int mxsfb_load(struct drm_device *drm, unsigned long flags) goto err_cma; } + drm_kms_helper_poll_init(drm); + platform_set_drvdata(pdev, drm); drm_helper_hpd_irq_event(drm);
We move drm_kms_helper_poll_init behind the drm_fbdev_cma_init so the set_par will be called and fb will be active. Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> --- drivers/gpu/drm/mxsfb/mxsfb_drv.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)