drm_mode_config_reset() has a dual role: it creates the initial KMS state at probe time, and resets hardware and software state during suspend/resume cycles.
Since the two roles need different behaviors (notably for objects like drm_private_obj that must persist across suspend/resume), drm_mode_config_create_initial_state() was introduced to handle only the initial state creation at probe time. Switch to drm_mode_config_create_initial_state(). Signed-off-by: Maxime Ripard <[email protected]> --- Cc: Fabio Estevam <[email protected]> Cc: Frank Li <[email protected]> Cc: Marek Vasut <[email protected]> Cc: Pengutronix Kernel Team <[email protected]> Cc: Sascha Hauer <[email protected]> Cc: Stefan Agner <[email protected]> Cc: [email protected] --- drivers/gpu/drm/mxsfb/lcdif_drv.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/mxsfb/lcdif_drv.c b/drivers/gpu/drm/mxsfb/lcdif_drv.c index e2173c4d6fc2..12d844b282dc 100644 --- a/drivers/gpu/drm/mxsfb/lcdif_drv.c +++ b/drivers/gpu/drm/mxsfb/lcdif_drv.c @@ -196,5 +196,7 @@ static int lcdif_load(struct drm_device *drm) drm->mode_config.helper_private = &lcdif_mode_config_helpers; - drm_mode_config_reset(drm); + ret = drm_mode_config_create_initial_state(drm); + if (ret) + return ret; ret = platform_get_irq(pdev, 0); -- 2.55.0
