The GPU hung issue can be reproduced on Sabre iMX6Q development board.
Image used in test: android_N7.1.2_2.0.0_image_6dqpsabresd.tar.gz downloaded from NXP website (https://www.nxp.com/webapp/Download?colCode=IMX_N7.1.2_2.0.0_ANDROID_DEMO_SD_BSP&appType=license&loc...)
Attached is MainActivity.java file from Android test application that was used to test suspend/resume. The test sets an alarm to wake up the system (partial wake up, display stays off).
On alarm the app runs a simple task (2 seconds sleep, set new alarm). To speed up the test process the application sets new alarm every 12 seconds.
During the test the USB client cable should be disconnected to allow the system to go into full sleep mode.
Attached is a partial log file (first boot, a few first suspend resume cycles, and a few last suspend/resume cycles before the system hung and reset).
The boot arguments were modified to print debug messages during suspend/resume:
setenv bootargs console=ttymxc0,115200 earlyprintk=serial,ttymxc0,115200 initcall_debug ignore_loglevel no_console_suspend init=/init video=mxcfb0:dev=ldb,fbpix=RGB32,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off vmalloc=128M androidboot.console=ttymxc0 consoleblank=0 androidboot.hardware=freescale androidboot.selinux=permissive cma=448M buildvariant=user
The system hang during resume process in gpu driver.
The same test run on Sabre DP with android_N7.1.1_1.0.0_image_6dqpsabresd.tar.gz image works fine. The test run for a several days without any issues.