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: Huacai Chen <[email protected]> Cc: Icenowy Zheng <[email protected]> Cc: Jianmin Lv <[email protected]> Cc: Mingcong Bai <[email protected]> Cc: Qianhai Wu <[email protected]> Cc: Xi Ruoyao <[email protected]> --- drivers/gpu/drm/loongson/lsdc_drv.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/loongson/lsdc_drv.c b/drivers/gpu/drm/loongson/lsdc_drv.c index 5a13df31eb90..fbb2658acce4 100644 --- a/drivers/gpu/drm/loongson/lsdc_drv.c +++ b/drivers/gpu/drm/loongson/lsdc_drv.c @@ -248,5 +248,7 @@ lsdc_create_device(struct pci_dev *pdev, return ERR_PTR(ret); - drm_mode_config_reset(ddev); + ret = drm_mode_config_create_initial_state(ddev); + if (ret) + return ERR_PTR(ret); return ldev; -- 2.55.0
