Hello,
I am working with Android Nougat build.
The kernel version is 4.9.17. and the CPU is Freescale i.MX6D rev1.6 at 792MHz.
The device freezes right after resume, once out of 500 suspend/resume operation,
The last messages are as follow;
PM: suspend of devices complete after 85.648 msecs
PM: suspend devices took 0.090 seconds
PM: late suspend of devices complete after 1.387 msecs
PM: noirq suspend of devices complete after 1.397 msecs
Disabling non-boot CPUs ...
CPU1: shutdown
Resume caused by IRQ 51
Enabling non-boot CPUs ...
CPU1 is up
PM: noirq resume of devices complete after 0.930 msecs
PM: early resume of devices complete after 0.722 msecs
CPU1: update max cpu_capacity 1024
--- after this, the device reset with WDOG time out ---
Have you guys seen any issue like this before ? And having any fix to try ?
Thanks and Regards,
Taehyuk Kwon
Hi Taehyuk
in this case may be recommended to recheck ddr settings: try latest RPA tool
https://community.nxp.com/docs/DOC-236354
run ddr test and then rebuild image with new calibration settings found from ddr test
i.MX6/7 DDR Stress Test Tool V3.00
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hello Igor,
Thanks for your comments. I am running the calibration and trying to figure out how to apply the values.
I am modifying the bootable/bootloader/uboot-imx/board/freescale/mx6_horizon/mx6q_4x_mt41j128.cfg file. Is the right and the only place to be updated ?
Thanks and Regards,
Taehyuk Kwon
HI Taehyuk
right, also may be useful to check that were used low power drivers as on below link
mach-imx\arm\arch - linux-imx - i.MX Linux kernel
Best regards
igor
Hello Igor,
I have tried the memory calibration. Unfortunately, it does not make any difference.
I narrowed down where the crash happens.
in the file gckVGHARDWARE_SetPowerManagementState, function gckVGHARDWARE_SetPowerManagementState does not return, when it is called with state = gcvPOWER_ON.
It is not always happens. It happens when the resume and suspend are done for about 300 times.
have you seen any similar known issue?
Thanks and Regards,
Taehyuk Kwon
Correction, It is actually, kernel_imx/drivers/mxc/gpu-viv/hal/kernel/arch/gc_hal_kernel_hardware.c, gckHARDWARE_SetPowerManagementState.
Thanks and Regards,
Taehyuk Kwon