This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM8168: Kernel Crash while rebooting

Other Parts Discussed in Thread: TVP5150, TVP7002

Hi,


I am using DM8168 processor with EZSDK version of 5_05_02_00 and my Linux version is linux-2.6.37-psp04.04.00.01.

I am using the Syslink module syslink_2_20_02_20. While giving software reset in the Linux kernel I am getting the below crash messages:

root@dm816x~:# reboot

Stopping PVR
Stopping telnet daemon.
Stopping Hardware abstraction layer hald
run-parts: /etc/dbus-1/event.d/20hal exited with code 1
Stopping thttpd.
ALSA: Storing mixer settings...
Deconfiguring network interfaces... done.
Stopping syslogd/klogd: stopped syslogd (pid 1320)
stopped klogd (pid 1322)
done
Unloading HDVICP2 Firmware
FIRMWARE: I2cInit will be done by M3
FIRMWARE: Memory map bin file not passed
Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [-mmap <memory_map_file>] [-i2c <0|1>]
===Mandatory arguments===
<Processor Id>  

Unable to handle kernel NULL pointer dereference at virtual address 00000010
      0: DSP, 1:pgd = c0004000
 Video-M3, 2: Vp[00000010] *pgd=00000000ss-M3
<Location of Firmware> fInternal error: Oops: 17 [#1]
last sysfs file: /sys/devices/platform/vpss/video0/nodes
Modules linked in: ti81xxvin ov7725 tvp5150 g_zero ti81xxhdmi ti81xxvo ti81xxfb vpss syslink ipv6 [last unloaded: pvrsrvkm]
CPU: 0    Not tainted  (2.6.37 #1)
PC is at notify_shmdrv_isr_callback+0x1c/0xac
LR is at notify_shmdrv_video_isr+0x2c/0x3c
pc : [<c02ed70c>]    lr : [<c02ed804>]    psr: 60000013
sp : d6633e88  ip : d6633ea8  fp : d6633ea4
r10: 00000004  r9 : c0069510  r8 : 00000004
r7 : 00000000  r6 : 00000000  r5 : 00000000  r4 : 00000000
r3 : 00000004  r2 : 00000009  r1 : 00000004  r0 : 00000000
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 10c5387d  Table: 95874019  DAC: 00000017
Process kworker/0:1 (pid: 22, stack limit = 0xd66322e8)
Stack: (0xd6633e88 to 0xd6634000)
3e80:                   00000004 00000000 fffffffe 00000000 d6633ebc d6633ea8
3ea0: c02ed804 c02ed6fc 00000000 00000000 d6633ee4 d6633ec0 c03b2f8c c02ed7e4
3ec0: c050c40c c050c400 00000004 ffffffff 00000004 00000000 d6633f14 d6633ee8
3ee0: c008ba50 c03b2f64 00000000 c050f7c8 d6633f14 d6741600 00000004 d6633f34
3f00: c050f7c8 d645e600 d6633f2c d6633f18 c008ba88 c008ba08 00000000 c050f880
3f20: d6633f54 d6633f30 c0069558 c008ba74 c03b2fec 00000004 00000000 d6741614
3f40: c050f880 d64ebf80 d6633f8c d6633f58 c0081c38 c006951c d6633f7c 00000000
3f60: c0080cd0 d64ebf80 c050f7c8 00000009 c050f7c8 c050f7c8 d64ebf90 d6632000
3f80: d6633fbc d6633f90 c0082590 c0081a58 00000000 d6633fcc d6447ee0 d64ebf80
3fa0: c00823dc 00000000 00000000 00000000 d6633ff4 d6633fc0 c0086900 c00823e8
3fc0: d6447ee0 00000000 d64ebf80 00000000 d6633fd0 d6633fd0 d6447ee0 c0086874
3fe0: c0072c60 00000013 00000000 d6633ff8 c0072c60 c0086880 bfd57be2 fd7dfb17
Backtrace:
[<c02ed6f0>] (notify_shmdrv_isr_callback+0x0/0xac) from [<c02ed804>] (notify_shmdrv_video_isr+0x2c/0x3c)
 r7:00000000 r6:fffffffe r5:00000000 r4:00000004
[<c02ed7d8>] (notify_shmdrv_video_isr+0x0/0x3c) from [<c03b2f8c>] (notifier_call_chain+0x34/0x78)
 r5:00000000 r4:00000000
[<c03b2f58>] (notifier_call_chain+0x0/0x78) from [<c008ba50>] (__blocking_notifier_call_chain+0x54/0x6c)
[<c008b9fc>] (__blocking_notifier_call_chain+0x0/0x6c) from [<c008ba88>] (blocking_notifier_call_chain+0x20/0x28)
 r8:d645e600 r7:c050f7c8 r6:d6633f34 r5:00000004 r4:d6741600
[<c008ba68>] (blocking_notifier_call_chain+0x0/0x28) from [<c0069558>] (mbox_rx_work+0x48/0xec)
[<c0069510>] (mbox_rx_work+0x0/0xec) from [<c0081c38>] (process_one_work+0x1ec/0x318)
 r6:d64ebf80 r5:c050f880 r4:d6741614
[<c0081a4c>] (process_one_work+0x0/0x318) from [<c0082590>] (worker_thread+0x1b4/0x2d0)
[<c00823dc>] (worker_thread+0x0/0x2d0) from [<c0086900>] (kthread+0x8c/0x94)
[<c0086874>] (kthread+0x0/0x94) from [<c0072c60>] (do_exit+0x0/0x5e4)
 r7:00000013 r6:c0072c60 r5:c0086874 r4:d6447ee0
Code: e1a06000 f57ff04f e3a04000 e2843004 (e7960103)
irmware binary f---[ end trace 427089550005daf8 ]---
ile
<start|stoUnable to handle kernel paging request at virtual address fffffffc
pgd = c0004000
[fffffffc] *pgd=96bfe021, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#2]
last sysfs file: /sys/devices/platform/vpss/video0/nodes
Modules linked in: ti81xxvin ov7725 tvp5150 g_zero ti81xxhdmi ti81xxvo ti81xxfb vpss syslink ipv6 [last unloaded: pvrsrvkm]
CPU: 0    Tainted: G      D      (2.6.37 #1)
PC is at kthread_data+0x10/0x18
LR is at wq_worker_sleeping+0x14/0x88
pc : [<c0086428>]    lr : [<c0083474>]    psr: 00000193
sp : d6633c40  ip : d6633c50  fp : d6633c4c
r10: d6499c68  r9 : d6499b78  r8 : d6632000
r7 : d6438000  r6 : d6499ce4  r5 : d6499b80  r4 : 00000000
r3 : 00000000  r2 : 00000040  r1 : 00000000  r0 : d6499b80
Flags: nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 10c5387d  Table: 95874019  DAC: 00000015
Process kworker/0:1 (pid: 22, stack limit = 0xd66322e8)
Stack: (0xd6633c40 to 0xd6634000)
3c40: d6633c64 d6633c50 c0083474 c0086424 ffffffff d6499b80 d6633c8c

Please suggest any solution to solve this issue.

Thanks in advance.

Regards,
Salih

  • Hello,

    What changes you have made in the default EZSDK?

    What you are executing before the reset command?

    BR
    Margarita
  • Hi Margarita,

    I am loading v4l2 firmware script (load-hd-v4l2-firmware.sh to load-hd-firmware.sh). In that script,

            modprobe ti81xxfb vram=0:40M,1:1M,2:1M
            modprobe ti81xxvo
            #modprobe tvp7002
            #modprobe ti81xxvin
            fbset -depth 32 -rgba 8/16,8/8,8/0,0/0
            modprobe ti81xxhdmi
          ;;
        stop)
            echo "Unloading HDVICP2 Firmware"
            firmware_loader $HDVICP2_ID /usr/share/ti/ti-media-controller-utils/dm816x_hdvicp.xem3 stop
            echo "Unloading HDVPSS Firmware"
            rmmod ti81xxfb
            #rmmod ti81xxvin
            rmmod ti81xxvo
            #rmmod tvp7002
            rmmod ti81xxhdmi

    I commented the capture module and TV-IN and loading my Camera and TVP module seperately. Below are the modules:

    insmod g_zero.ko
    insmod tvp5150.ko
    insmod ov7725.ko
    insmod ti81xxvin.ko

    Below are the comments I am using to switch the default display to LCD

    echo 0 > /sys/devices/platform/vpss/graphics0/enabled
    echo 1:dvo2 > /sys/devices/platform/vpss/graphics0/nodes
    echo 0 > /sys/devices/platform/vpss/display1/enabled
    echo 800x480@60 > /sys/devices/platform/vpss/display1/mode
    echo 1 > /sys/devices/platform/vpss/display1/enabled
    echo 1 > /sys/devices/platform/vpss/graphics0/enabled
    fbset -fb /dev/fb0 -xres 800 -yres 480 -vxres 800 -vyres 480 -t 33500 89 164 23 10 10 10
    /etc/init.d/matrix-gui-e stop
    /etc/init.d/pvr-init stop
    /etc/init.d/pvr-init start
    /etc/init.d/matrix-gui-e start
    echo vcompmux:dvo2 > /sys/devices/platform/vpss/video0/nodes

    And I am switching my Display to LCD and running matrix-gui-e in my LCD.

    Other than this nothing I changed in the EZSDK.

    Can you tell me, why this kernel crash is happening while rebooting?.

    Thanks in advance.

    Regards,
    Salih

  • Hello,

    I have already gone through that link and I did it as like they said, by adding USE_SYSLINK_NOTIFY = 0 as argument and compiled my syslink source and used. But I am getting the same issue only.

    I want to know what is going wrong with this?.


    Thanks in advance.

    Regards,
    Salih

  • Hi,

    And also this kernel panic is happening only when I will issue "reboot" command from target Linux console

    Thanks in advance.

    Regards,
    Salih
  • Hi,

    Any updates on this issue?. Most of the time I am not at all getting any response from this community.

    Thanks in advance.

    Regards,
    Salih
  • Hello Salih,

    I can not replicate your issue on the EVM.

    could you try this steps:

    configure DVO2 VENC:

    echo 0 > /sys/devices/platform/vpss/display1/enabled
    echo 38362,800/xxx/xx/xxx,480/xxx/xx,x > /sys/devices/platform/vpss/display1/timings

    NOTE: Change the timing per your display!!!

    echo triplediscrete,rgb888 > /sys/devices/platform/vpss/display1/output
    echo 1 > /sys/devices/platform/vpss/display1/enabled

    switch graphics0(fb0)output from HDMI to DVO2 VENC:

    echo 0 > /sys/devices/platform/vpss/graphics0/enabled
    echo 1:dvo2 > /sys/devices/platform/vpss/graphics0/nodes
    echo 1 > /sys/devices/platform/vpss/graphics0/enabled

    Generally kernel oops indicates a bug . It’s very likely possible that you are hitting some issue during heavy load only. I would suggest to try to check which function is exactly causing the problem. That will help you to nail down the issue further.

    BR
    Margarita
  • Hi Margarita,

    Thanks for your response. But those commands I am executing during booting with Script.
    Please try to understand the issue. My problem is while giving "reboot" command issue (while unloading the HDVICP2 firmware), I am getting this kernel panic error.

    Its not happening while switching the display.
    Hope you understood the case which I am facing issue.

    Thanks in advance.

    Regards,
    Salih
  • Hello,

    I would recommend you to try to debug it to check which function is failing.
    You said that is failing when the HDVICP firmware is unloading.
    Before the restart command are you executing something with encoding/decoding ?
    I would recommend you to check the default script for load/unload firmwares as well, it matters the order when you are insmod/rmmod the modules as well.

    BR
    Margarita