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: Geert Uytterhoeven <[email protected]> Cc: Kieran Bingham <[email protected]> Cc: Laurent Pinchart <[email protected]> Cc: Magnus Damm <[email protected]> Cc: Tomi Valkeinen <[email protected]> Cc: [email protected] --- drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c b/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c index 9228a7ad0dfa..7fddde804dc6 100644 --- a/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c +++ b/drivers/gpu/drm/renesas/rcar-du/rcar_du_kms.c @@ -1003,5 +1003,7 @@ int rcar_du_modeset_init(struct rcar_du_device *rcdu) rcdu->dpad0_source = ffs(dpad0_sources) - 1; - drm_mode_config_reset(dev); + ret = drm_mode_config_create_initial_state(dev); + if (ret) + return ret; drm_kms_helper_poll_init(dev); -- 2.55.0
