Hi Xuegang,
Yes, disabling 2D hwcomposer also eliminates the issue.
For the sabreAI, I believe you can replicate a related issue by forcing the GPU memory to use 0x80000000-0x90000000.
Change following in kernel_imx\arch\arm\mach-mx6\board-mx6q_sabresd.c (or sabreauto.c)
#ifdefined(CONFIG_MXC_GPU_VIV) || defined(CONFIG_MXC_GPU_VIV_MODULE)
if (imx6q_gpu_pdata.reserved_mem_size) {
phys =memblock_alloc_base(imx6q_gpu_pdata.reserved_mem_size,
SZ_4K, 0x90000000); // change SZ_2G to 0x90000000
printk("gpu addr: 0x%08llx!!\r\n", (long long)phys);
memblock_remove(phys, imx6q_gpu_pdata.reserved_mem_size);
imx6q_gpu_pdata.reserved_mem_base = phys;
}
#endif
SabreSD has the max address set to SZ_1G and SabreAI has this set to SZ_2G. I believe the correct value should be 0x50000000 for SabreSD and 0x90000000 for SabreAI since this parameter means the max address to use.Testing 0x50000000 in the SabreSD reference board works. Testing 0x90000000 for our board cause Android bootup to crash. Can you check with your SabreAI board?