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.

DM365 Vpfe init

Hi

I am facing a peculiar problem. In my DM365 based video encoder I often get the following messages

Unable to handle kernel paging request at virtual address 4b8050cc
pgd = cb880000
[4b8050cc] *pgd=00000000
Internal error: Oops: 5 [#1]
Modules linked in: rt_timer led vpr model reset alarmsensor spi dm365mmap edmak irqk cmemk
CPU: 0
PC is at cache_alloc_refill+0x144/0x5dc
LR is at 0xcb002828
pc : [<c009ca88>]    lr : [<cb002828>]    Not tainted
sp : cbfa9e38  ip : d703f4f0  fp : cbfa9e84
r10: cb009b60  r9 : cbfa8000  r8 : 00000039
r7 : cb002844  r6 : cb00d400  r5 : cb00a760  r4 : 00000019
r3 : 00000002  r2 : cb002830  r1 : 00000060  r0 : 20200a22
Flags: nzCv  IRQs off  FIQs on  Mode SVC_32  Segment user
Control: 5317F
Table: 8B880000  DAC: 00000015
Process mainServer (pid: 788, stack limit = 0xcbfa8258)
Stack: (0xcbfa9e38 to 0xcbfaa000)
9e20:                                                       000000d0 00000000
9e40: cb00a768 cb00a770 cbfa9e8c 000000d0 c00556cc c00555e0 cb124580 20000013
9e60: cbfa8000 00000000 cbf677c8 0000002b cbfa9f3c cb340660 cbfa9ea4 cbfa9e88
9e80: c009c934 c009c954 cb3404e0 00000000 cbfa9eb4 00000000 cbfa9eb4 cbfa9ea8
9ea0: c00b8550 c009c8ec cbfa9ef4 cbfa9eb8 c00b8768 c00b8544 cb340540 ca0d0360
9ec0: cbfa9eec cbfa9ed0 c009c1a0 00000000 cbfa8000 cb340660 ca0d0360 0000002b
9ee0: cbfa9f3c 0000000d cbfa9f04 cbfa9ef8 c00b8c30 c00b8710 cbfa9f7c cbfa9f08
9f00: c00b9618 c00b8c24 cb34067c cbfa9f48 0000002b 000000ac 00000002 47cf74d8
9f20: 40000000 00000000 00000001 00000000 40042000 00000152 cbfa8000 c03b4080
9f40: cbfa8000 00000002 cb11c760 cbfa9fb0 cbfa8000 0000000d 00000000 47cf61c0
9f60: ca0d0360 0000002b cbfa8000 00000000 cbfa9fa4 cbfa9f80 c00b5384 c00b948c
9f80: cbfa9fac 0000000d 0000002b 40042000 000000dd c003af88 00000000 cbfa9fa8
9fa0: c003ade0 c00b52fc 0000000d 0000002b 0000002b 0000000d 47cf61c0 47cf61a4
9fc0: 0000000d 0000002b 40042000 000000dd 40042000 003d0f00 4002a85c 47cf61fc
9fe0: 003a544c 47cf6180 00023680 40034d3c 80000010 0000002b 0000ffff 0000ffff
Backtrace:
[<c009c944>] (cache_alloc_refill+0x0/0x5dc) from [<c009c934>] (kmem_cache_alloc+0x58/0x68)
[<c009c8dc>] (kmem_cache_alloc+0x0/0x68) from [<c00b8550>] (locks_alloc_lock+0x1c/0x24)
 r4 = 00000000
[<c00b8534>] (locks_alloc_lock+0x0/0x24) from [<c00b8768>] (__posix_lock_file_conf+0x68/0x4f8)
[<c00b8700>] (__posix_lock_file_conf+0x0/0x4f8) from [<c00b8c30>] (posix_lock_file+0x1c/0x20)
[<c00b8c14>] (posix_lock_file+0x0/0x20) from [<c00b9618>] (fcntl_setlk64+0x19c/0x2fc)
[<c00b947c>] (fcntl_setlk64+0x0/0x2fc) from [<c00b5384>] (sys_fcntl64+0x98/0xc8)
[<c00b52ec>] (sys_fcntl64+0x0/0xc8) from [<c003ade0>] (ret_fast_syscall+0x0/0x2c)
 r8 = C003AF88  r7 = 000000DD  r6 = 40042000  r5 = 0000002B
 r4 = 0000000D
Code: e59e200c e5963000 e02c2190 e58e4010 (e7972100)
 <6>note: mainServer[788] exited with preempt_count 1
ipipe_set_resizer, resizer - A enabled
ipipe_set_resizer, resizer - B enabled
ipipe_set_resizer, resizer - A enabled
rsz_set_output_address 0
rsz_set_output_address 1
ipipe_set_resizer, resizer - A enabled
ipipe_set_resizer, resizer - B enabled
ipipe_set_resizer, resizer - A enabled
ipipe_set_resizer, resizer - B enabled
rsz_set_output_address 0
rsz_set_output_address 1
ipipe_set_resizer, resizer - A enabled
ipipe_set_resizer, resizer - B enabled
ipipe_set_resizer, resizer - A enabled

 

Last  set of messages  are  printed forever. The resizer messages  are coming from the dm365  and vpfe drivers. And these  messages  are supposed to come only once during initialization.

Why the vpfe_init()  is called  repeatedly after  the  kernel crash? Is this a hardware  problem? Pls help.

Regards

JK

 

  • JK,

    It will be useful if you can provide more details such as operating system, setup details, version of driver/applications/demos/sdk etc.  I am not seeing any vpfe_init related messages, why do think vpfe_init is repeatedly called?

  • Nagabhushana,

    Pls  find the details  given below.

    DVSDK:dvsdk_2_10_01_18

    OS:linux-2.6.18_pro500

    CE: codec_engine_2_24

    Codec: H264 Encoder platinum (Ver 2.10)

    Filesystem: NFS

    I traced the  Kernel debug messages ("ipipe_set_resizer, resizer - A enabled", etc ) to vpfe_init()  function. But I don't think vpfe hw is getting initialized  again and again, because  other init related  messages  are not printed in the  console. I  observed these messages many times and  in all the cases these  messages  appear after a Kernel crash. All the time , the backtrace  showed that  crash happened at cache_alloc_refill() which comes  from kmem_cache_alloc().

    By the way, I  set algSettings.useCache = true;  in the app  config  file . Is this  necessary  in this  codec engine  version (2.24)?

    Pls give me your  suggestions

    Regards

    JK