平台RK3568
基线 3.2 beta
在移植Harmonys的时候发现一个问题,就是开机正常显示,uboot和kernel正常,开机后灭屏,等待系统进入Deep ,然后按power按键唤醒设备。此时出现花屏或者不显示问题
多次测试发现,如果系统没有进入deep,就是串口还没打印以下log之前唤醒,没有问题
703.759856 PM: suspend entry (deep)
703.768287 Filesystems sync: 0.008 seconds
703.769305 I/kevent KeventPmNotifierFn:action=3
703.769371 I/kevent KeventPmNotifierFn:receive suspend event
703.770634 I/devmgr_service DevmgrServicePowerStateChange:suspend state 3
703.770708 I/sample_driver_test HdfSampleSuspend:called
703.770737 I/pm_driver_test HdfPmTestSuspend called
703.770958 I/devmgr_service DevmgrServicePowerStateChange:suspend state 3
703.771165 I/sample_driver_test HdfSampleSuspend:called
703.771200 I/pm_driver_test HdfPmTestSuspend called
703.771385 Freezing user space processes ... (elapsed 0.006 seconds) done.
703.778436 OOM killer disabled.
703.778464 Freezing remaining freezable tasks ... (elapsed 0.003 seconds) done.
703.782404 printk: Suspending console(s) (use no_console_suspend to debug)
如果开机一直插着usb,系统无法进入deep也不会有问题
一直困扰到底是怎么回事,网上也没找到解决方案,开始认真看log
发现在这种情况下唤醒打印的以下log
611.167887 I/HDF_DISP PanelSendCmds enter
611.457904 I/HDF_DISP PanelSendCmds enter
从此开始怀疑是不是hdf下还有一个driver走的并不是我们的dts的参数,一搜这个接口,果然在hdf下的display下的driver走的一套写在driver里面的初始化参数。
这时候把那套参数修改成自己屏的初始化参数,进入deep唤醒就正常了