i.MX6 Dual - GPU hang

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX6 Dual - GPU hang

1,420 Views
shajin
Contributor II

Hello Community,

I'm working on a custom platform based out of i.MX6 Dual core processor. The software running on the platform is Yocto thud with QT 5.15.2. The Linux kernel version is 4.9.168 and the GPU driver version is 6.2.4.p1.8-r0 (https://github.com/Freescale/kernel-module-imx-gpu-viv.git Tag - 6.2.4.p1.8). 

 

I'm observing an error (ES30: some draw get error and skipped during validation) on the serial console after a long usage of the device. Soon after this error occurs, the QT fails to render to the display. Based on the internet search about the string i understand this error could be related to the GPU driver. Unfortunately, I couldn't see the error statements in the GPU driver source code. Is there anyone faced this error before and resolved? Any pointers on this case would be helpful. 

Thanks for your time. 

 

Thanks,

Shajin

Labels (2)
0 Kudos
Reply
2 Replies

1,414 Views
igorpadykov
NXP Employee
NXP Employee

Hi Shajin

 

what bsp used in the case. GPU is working fine on nxp linux releases from

source.codeaurora.org/external/imx/linux-imx repository :
https://source.codeaurora.org/external/imx/linux-imx/tree/?h=imx_5.4.70_2.3.0

Documentation:

https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applicat...

 

Best regards
igor

0 Kudos
Reply

1,386 Views
shajin
Contributor II

Hi Igor,

 

Thank you for the response. Our BSP is based out of Freescale's Yocto Thud release. But the Linux kernel and QT are updated to higher versions. In our case the Linux kernel was updated to 4.9.168 and similarly the GPU drivers used is 6.2.4.p1.8-r0. 

 

On further investigating about this error ES30, I found one place in i.MX6 User Graphics user guide under section 15.4 where it talks about GPU hang scenario. 

15.4 Avoid GPU hang and data corruption when use occlusion query

Description:
On i.MX6D/Q GPU IP, both Hierarchical Depth (HZ) write and Occlusion Query (OQ) write share the same port. If HZ Fast Clear(FC) is enabled, and OQ uses the HZ port to perform a write, the HZ FC data may become corrupted, even lead to GPU hang unexpectedly.

Software Workaround:
A software workaround is recommended for this issue and is available from L4.9 bsp release. Because the issue occurs very infrequently, a per-application work around is most efficient. Software will disable HZ with a per-app detection and also provide a new environment variable control (VIV_DISABLE_HZ).

 

1. As per the document, A fix was integrated in 4.9 BSP release. Can you provide more information about this patch set? It will help me to cross check it out in our BSP source code. 

2. Can you provide more information on a per-application work around mentioned under Software workaround? Is it something we can have contol factor on the GUI side where there is GPU failure?

 

Thanks

Shajin

Tags (1)
0 Kudos
Reply