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(-)
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);