[PATCH] drm/mxsfb: add poll_changed event handler to set_par on startup

Daniel Vetter daniel at ffwll.ch
Wed Mar 28 07:02:02 UTC 2018


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 at ffwll.ch>

Hm, mxsfb might be a good candidate for drm-misc too.
-Daniel
> 
> > Signed-off-by: Michael Grzeschik <m.grzeschik at 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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel


-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list