AnsweredAssumed Answered

IMX6 Android 4.4.3 hdmi kernel hang

Question asked by zhaosong luo on Jun 6, 2016
Latest reply on Jun 6, 2016 by zhaosong luo

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

Outcomes