IMX6 Android 4.4.3 hdmi kernel hang

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

IMX6 Android 4.4.3 hdmi kernel hang

1,287 Views
zhaosongluo
Contributor I

we are using a curstem board base on IMX6Q SABRE SD. we have run linux and ubuntu on our board, and it is stable. These days we port it to  Android 4.4.3( linux kernel is 3.10.52), which is from freescale(now NXP).

we use hdmi as our display port, however the kernel alway hangs and reset without any log message or sometimes like this :------------------------------------------------------------------------------------------------

GPU[0]: AXI BUS ERROR, AQAxiStatus=0x1

Unable to handle kernel paging request at virtual address ffffffff

pgd = 80004000

[ffffffff] *pgd=4ff3e821, *pte=00000000, *ppte=00000000

Internal error: Oops: 17 [#1] PREEMPT SMP ARM

Modules linked in: 8188eu cfg80211

CPU: 0 PID: 107 Comm: galcore daemon  Not tainted 3.10.53-88100-ge7b64eb-dirty #29

task: bc0b7700 ti: bc744000 task.ti: bc744000

PC is at search_module_extables+0x30/0xc0

LR is at search_module_extables+0x14/0xc0

pc : [<8007bf5c>]    lr : [<8007bf40>]    psr: 000f0193

sp : bc745b18  ip : 802ee470  fp : 00000029

r10: 0000001d  r9 : 00000001  r8 : 00000000

r7 : bc0b7700  r6 : 802ee474  r5 : 80ef6844  r4 : ffffffff

r3 : 80ef6844  r2 : 00000002  r1 : 00000000  r0 : 00000003

Flags: nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel

Control: 10c53c7d  Table: 4cb8404a  DAC: 00000015

----------------------------------------------------------------------------------------------------------

or like this :

CPU: 0 PID: 111 Comm: galcore daemon  Tainted: G        W    3.10.53-88100-ge7b64eb-dirty #29

[<80014be8>] (unwind_backtrace+0x0/0xf8) from [<800118cc>] (show_stack+0x10/0x14)

[<800118cc>] (show_stack+0x10/0x14) from [<807d6d0c>] (__schedule_bug+0x44/0x5c)

[<807d6d0c>] (__schedule_bug+0x44/0x5c) from [<807dd940>] (__schedule+0x678/0x720)

[<807dd940>] (__schedule+0x678/0x720) from [<807dbd4c>] (schedule_timeout+0x144/0x1b0)

[<807dbd4c>] (schedule_timeout+0x144/0x1b0) from [<807dcdbc>] (__down_interruptible+0x74/0xd8)

[<807dcdbc>] (__down_interruptible+0x74/0xd8) from [<80050a78>] (down_interruptible+0x4c/0x58)

[<80050a78>] (down_interruptible+0x4c/0x58) from [<80582608>] (threadRoutine+0x24/0x70)

[<80582608>] (threadRoutine+0x24/0x70) from [<8004bcec>] (kthread+0xa4/0xb0)

[<8004bcec>] (kthread+0xa4/0xb0) from [<8000e158>] (ret_from_fork+0x14/0x3c)

BUG: scheduling while atomic: galcore daemon /111/0x00000002

here is the bootargs in uboot

setenv bootargs console=ttymxc0,115200 androidboot.console=ttymxc0 consoleblank=0 vmalloc=256M init=/init video=mxcfb0:dev=hdmi,1920x1080M@60,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off androidboot.hardware=freescale cma=384M

it will crash  very soon, if we operate the android ui.

if we change resolution to 640*480, it will more stable than the 1920*1080 resolution:

setenv bootargs console=ttymxc0,115200 androidboot.console=ttymxc0 consoleblank=0 vmalloc=400M init=/init video=mxcfb0:dev=hdmi,640x480M@60,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off androidboot.hardware=freescale cma=384M

anyone have met this problem or could help us analysis this problem

B.R

Geliter

0 Kudos
4 Replies

783 Views
zhaosongluo
Contributor I

Hi igor

we are using android 4.4.3 version. but when i try to apply the patch to kernel_imx directory, it has the following errors:

[imx6 11:14:12 kernel_imx_new]$ patch -p0 < imx6_gpu_patch.patch

(Stripping trailing CRs from patch.)

can't find file to patch at input line 5

Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

--------------------------

|diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv.inc b/recipes-graphics/imx-gpu-viv/imx-gpu-viv.inc

|index 00dcab7..7c4bb1e 100644

|--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv.inc

|+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv.inc

--------------------------

File to patch:

I am a newer to android, so do you have any idea about how to apply the patch to our kernel?

Thanks

0 Kudos

783 Views
zhaosongluo
Contributor I

Hi Igor

We have run linux and ubuntu based the same board, it is stable . So i think it is not the problem of DDR errors.  We also have done the DDR test from the begining of our board design,  there is no problem.

Is there patches that could fix the gpu bugs in our kernel. If possible, we do not want to change the android version.

Best regards

geliter

0 Kudos

783 Views
igorpadykov
NXP Employee
NXP Employee

according to link

https://lists.yoctoproject.org/pipermail/meta-freescale/2015-April/013234.html

starting with 3.10.53 there is support via kernel loadable modules to support  both 3.10.53 and 3.14.28 kernels,

so one can try to use newer gpu drivers.

Also one can consider arm errata, check attached patch, they were fixed in last releases.

~igor

0 Kudos

783 Views
igorpadykov
NXP Employee
NXP Employee

Hi Geliter

issue may be caused by ddr errors, so one can rerun ddr test

https://community.freescale.com/docs/DOC-105652

or gpu bugs, many of them were fixed on later Android releases, so

just for test one can try L5.x or L6.x

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos