AnsweredAssumed Answered

GPU SDK examples cause kernel oops using L3.0.35_4.1.0

Question asked by aznjaput on Jan 29, 2015

I downloaded L3.0.35_4.1.0_130816_source.tar from the freescale website and installed ltib. I built the kernel and flashed the uImage and rootfs onto an SD card and placed it into a Nitrogen6X board. When I boot the Nitrogen6X board and run the GPU SDK GLES2.0 08_EnvironmentMappingRefraction application (built for fbdev), it runs great without any issues.

 

Now I want to run the same kernel on our custom board, which was modeled very closely after the Nitrogen6X board. I only made a couple modifications to the kernel including which UART to use for the debug console, and which SD card to use. Then when I run 08_EnvironmentMappingRefraction, the kernel crashes usually almost immediately. Half the time the terminal goes down and I get no other information, and the other half I get a kernel oops. Attached is a log of the last 10 kernel oops messages issued when running 08_EnvironmentMappingRefraction. I also attached the boot sequence for the Nitrogen6X board and our custom board.

 

The differences between the Nitrogen6X board and our custom board:

-Nitrogen6X contains an imx6Q. Our custom board contains an imx6D.

-The U-boot on the custom board is the current production branch from boundary's git repo. The U-boot on the Nitrogen6X is what it was shipped with.

-Nitrogen6X and our custom board use different UART ports for the debug console, and different SD card number.

 

Things I've looked at:

-Thought maybe it was a DRAM timing issue. For the custom board, we copied the DRAM circuit from the Nitrogen6X exactly, so theoretically the same RAM timings should work. I ran the DDR Stress Test 1.0.3 over 48 hours and had no failures.

-Thought maybe the GPU wasn't getting enough power when it was being utilized. Monitored power and focused on VDD_PU_CAP and LDO_PU. Everything seems to be okay.

 

Kernel for both Nitrogen6X and custom board:

3.0.35-2666-gbdde708

 

Also, I have an OpenGL application (that I wrote) that we've run on our custom board for about 2 weeks and it never crashed. Maybe it's not GPU intensive enough. But as soon as I run 08_EnvironmentMappingRefraction, it crashes, usually almost immediately.

 

After looking at my issue and logs, does anyone have any ideas that could help me narrow down the issue? After scouring the forums for the past few days, it seems like a common recommendation is to update the kernel. But if the kernel I'm using works fine on the Nitrogen6X board, then I should be able to get it to work on my custom board.

 

Thanks,

Original Attachment has been moved to: Kernel-oops-08_EnvironmentMappingRefraction.txt.zip

Original Attachment has been moved to: Custom-board-boot.txt.zip

Original Attachment has been moved to: Nitrogen6X-boot.txt.zip

Outcomes