Hi,
We have an issue about IPU error, when we try to play two 1080p videos at the same time on i.MX6 Android product.
[Reproduce steps]
1. Play two 1080p @ 30fps videos with Uptmate APK.
2. Check the temperature on the device.
[Symptom]
When the temperature is over system hot limitation (90 C), it starts to downgrade GPU & CPU working frequency.
However, IPU error is coming subsequently.
Then, the screen is blocked. Framebuffer cannot be updated anymore.
[Kernel log]
System is too hot. GPU3D will work at 1/64 clock.
thermal_notify: trip_hot reached!
cooling: cpu cur freq is 996000000
cooling: cpu max freq set to 792000000
imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_10 = 0x00080000
imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_5 = 0x00800000
mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq
mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq
mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq
mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq
mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq
mxc_sdc_fb mxc_sdc_fb.0: timeout when waiting for flip irq
[Expected result]
We think the thermal protect mechanism should not cause IPU crashed.
Please help to investigate this issue.
Thanks,
Daniel
已解决! 转到解答。
Chris, thank you!
Althought I fail to patch the GPU 12 on Android 4.2.2_1.0.0, this issue can be solved by setting the minimum GPU clock to 3.
I only apply the following patch from BSP 1.1.0.
5716-ENGR00265465-gpu-Add-global-value-for-minimum-3D-clo.patch
Hi There,
I have probabily the same probleme (get IO_PAN_DISPLAY error) on my ARM6S board with Android 4.0.4.. Please, is there any patch for my environment?
Thank you for your support.
Kind regards,
Giorgio
Hi,
We have some updates for this issue.
1. The thermal protect mechanism seems not the root cause for IPU error.
=> We decrease the thermal system hot criteria from 90 C to 60 C, and find video playback still works well when the thermal protect mechanism is starting.
Therefore, the IPU error seems caused by ambient high temperature.
2. We also measure the surface temperature by temperature meter on CPU. When the issue happens, it can reach over 100 degrees centigrade.
By cat /sys/class/thermal/thermal_zone0/temp, it also reads about 90 degrees centigrade.
Best regards,
Daniel
We have also seen this running 4.2.2-1.1.0-ga release of Android. I found that once we upgraded GPU code, there was a new sysfs you can use to set the minimum GPU clock. Changing from (1/64) to (3/64) has prevented the "timeout when waiting for flip irq" issue from happening.
GPU 12 code:
https://community.freescale.com/docs/DOC-99217
Add this to init script to change min GPU clock:
write /sys/module/galcore/parameters/gpu3DMinClock 3
Chris, thank you!
Althought I fail to patch the GPU 12 on Android 4.2.2_1.0.0, this issue can be solved by setting the minimum GPU clock to 3.
I only apply the following patch from BSP 1.1.0.
5716-ENGR00265465-gpu-Add-global-value-for-minimum-3D-clo.patch