drm/rockchip: drv: mv show logo after drm_dev registered

execution of extcon_set_state_sync() within the DP driver’s
.loader_protect helper failed due to dp->audio->extcon not
being allocated in dw_dp_single_audio_init() yet, which resulted
in the audio not work when the power-on logo feature is enabled.
so mv drm_dev_register() before rockchip_drm_show_logo().

Call trace:

  dw_dp_single_audio_init+0xc8/0x194
    dw_dp_encoder_late_register+0x28/0xa8
      drm_encoder_register_all+0x40/0x5c
	drm_modeset_register_all+0x38/0x7c
	  drm_dev_register+0x264/0x2e0
	    rockchip_drm_bind+0x1ec/0x2c8

Type: Fix
Redmine ID: #506052
Associated modifications: gerrit links
Test: test method

Change-Id: I1109a5ed90ac1c36028e050c41349c316d74e859
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
This commit is contained in:
Guochun Huang
2024-09-09 16:25:20 +08:00
committed by 黄国椿
parent b6270dfe78
commit 0e7febeb4a

View File

@@ -1837,12 +1837,12 @@ static int rockchip_drm_bind(struct device *dev)
if (ret)
DRM_DEBUG_KMS("No reserved memory region assign to drm\n");
rockchip_drm_show_logo(drm_dev);
ret = drm_dev_register(drm_dev, 0);
if (ret)
goto err_kms_helper_poll_fini;
rockchip_drm_show_logo(drm_dev);
ret = rockchip_drm_fbdev_init(drm_dev);
if (ret)
goto err_drm_dev_unregister;