Hello All,
I am using DRA7xx EVM HW & GLSDK 6_04_00_02 SW to test the VIP/VPE applications using the LVDS Camera.
I did rebuild of kernel based on the steps provided in the developers guide,(applied LVDS camera patch)
With the dmabuftest same application , the frame capture from Cameras is not consistent , it doesn't work most of the time.
It looks like some issue with start-up sync/timing of the application.
target# dmabuftest -s 4:800x480 -d /dev/video1 -c 1280x720@YUYV
Test execution log ,
==============================
root@dra7xx-evm:~# dmabuftest -s 4:800x480 -d /dev/video1 -c 1280x720@YUYV
Opening Display..
[ 177.770477]
[ 177.773223] =============================================
[ 177.778900] [ INFO: possible recursive locking detected ]
[ 177.784606] 3.8.13-53394-g2c871a8-dirty #1 Tainted: G O
[ 177.791046] ---------------------------------------------
[ 177.796752] dmabuftest/1951 is trying to acquire lock:
[ 177.802185] (psPVRSRVMutex){+.+.+.}, at: [<bf016d74>] DebugMemAllocRecordAdd+0x38/0x130 [omapdrm_pvr]
[ 177.812072]
[ 177.812072] but task is already holding lock:
[ 177.818237] (psPVRSRVMutex){+.+.+.}, at: [<bf015618>] PVRSRVOpen+0x18/0xf0 [omapdrm_pvr]
[ 177.826904]
[ 177.826904] other info that might help us debug this:
[ 177.833801] Possible unsafe locking scenario:
[ 177.833801]
[ 177.840057] CPU0
[ 177.842651] ----
[ 177.845214] lock(psPVRSRVMutex);
[ 177.848815] lock(psPVRSRVMutex);
[ 177.852416]
[ 177.852416] *** DEADLOCK ***
[ 177.852416]
[ 177.858673] May be due to missing lock nesting notation
[ 177.858673]
[ 177.865844] 2 locks held by dmabuftest/1951:
[ 177.870361] #0: (drm_global_mutex){+.+.+.}, at: [<c035ba48>] drm_stub_open+0x38/0x144
[ 177.878845] #1: (psPVRSRVMutex){+.+.+.}, at: [<bf015618>] PVRSRVOpen+0x18/0xf0 [omapdrm_pvr]
[ 177.887969]
[ 177.887969] stack backtrace:
[ 177.892608] [<c001b528>] (unwind_backtrace+0x0/0xf0) from [<c009528c>] (__lock_acquire+0x1414/0x1a9c)
[ 177.902313] [<c009528c>] (__lock_acquire+0x1414/0x1a9c) from [<c0095e2c>] (lock_acquire+0x9c/0x128)
[ 177.911865] [<c0095e2c>] (lock_acquire+0x9c/0x128) from [<c0633714>] (mutex_lock_nested+0x50/0x3a4)
[ 177.921447] [<c0633714>] (mutex_lock_nested+0x50/0x3a4) from [<bf016d74>] (DebugMemAllocRecordAdd+0x38/0x130 [omapdrm_pvr])
[ 177.933258] [<bf016d74>] (DebugMemAllocRecordAdd+0x38/0x130 [omapdrm_pvr]) from [<bf0170e4>] (_KMallocWrapper+0x44/0x50 [omapdrm_pvr])
[ 177.946075] [<bf0170e4>] (_KMallocWrapper+0x44/0x50 [omapdrm_pvr]) from [<bf012a04>] (OSAllocMem_Impl+0x58/0x68 [omapdrm_pvr])
[ 177.958129] [<bf012a04>] (OSAllocMem_Impl+0x58/0x68 [omapdrm_pvr]) from [<bf020b44>] (PVRSRVPerProcessDataConnect+0x74/0x154 [omapdrm_pvr])
[ 177.971374] [<bf020b44>] (PVRSRVPerProcessDataConnect+0x74/0x154 [omapdrm_pvr]) from [<bf015628>] (PVRSRVOpen+0x28/0xf0 [omapdrm_pvr])
[ 177.984191] [<bf015628>] (PVRSRVOpen+0x28/0xf0 [omapdrm_pvr]) from [<bf031440>] (PVRSRVDrmOpen+0xc8/0xf0 [omapdrm_pvr])
[ 177.995635] [<bf031440>] (PVRSRVDrmOpen+0xc8/0xf0 [omapdrm_pvr]) from [<c036f17c>] (dev_open+0x98/0x108)
[ 178.005615] [<c036f17c>] (dev_open+0x98/0x108) from [<c035b690>] (drm_open+0x200/0x580)
[ 178.014068] [<c035b690>] (drm_open+0x200/0x580) from [<c035bad0>] (drm_stub_open+0xc0/0x144)
[ 178.023010] [<c035bad0>] (drm_stub_open+0xc0/0x144) from [<c0111cf4>] (chrdev_open+0x88/0x16c)
[ 178.032073] [<c0111cf4>] (chrdev_open+0x88/0x16c) from [<c010c380>] (do_dentry_open+0x1fc/0x274)
[ 178.041351] [<c010c380>] (do_dentry_open+0x1fc/0x274) from [<c010c42c>] (finish_open+0x34/0x4c)
[ 178.050537] [<c010c42c>] (finish_open+0x34/0x4c) from [<c011a9c4>] (do_last.isra.27+0x4ec/0xbac)
[ 178.059814] [<c011a9c4>] (do_last.isra.27+0x4ec/0xbac) from [<c011b12c>] (path_openat+0xa8/0x480)
[ 178.069183] [<c011b12c>] (path_openat+0xa8/0x480) from [<c011b7c0>] (do_filp_open+0x2c/0x80)
[ 178.078094] [<c011b7c0>] (do_filp_open+0x2c/0x80) from [<c010d510>] (do_sys_open+0xe4/0x174)
[ 178.087005] [<c010d510>] (do_sys_open+0xe4/0x174) from [<c0013800>] (ret_fast_syscall+0x0/0x3c)
using 1 connectors, 800x480 display, multiplanar[ 178.098205] dra7xx-vip vip1-0: vip_open: Created stream instance eaae4000
: 1
Opening V4L2..
[ 178.109527] dra7xx-vip vip1-0: vip_s_fmt_vid_cap: Setting format for type 1, wxh: 1280x720, fmt: 1448695129
[ 178.121948] ov1063x 1-0038: r3003 = 20 , r3004 = 3
[ 178.148986] ov1063x 1-0038: width x height = 500 x 2d0
[ 178.157562] ov1063x 1-0038: hts x vts = 6f6 x 380
[ 178.703094] dra7xx-vip vip1-0: vip_queue_setup: get 6 buffer(s) of size 1843200 each.
Exported buffer fd = 6
Exported buffer fd = 8
Exported buffer fd = 10
Exported buffer fd = 12
Exported buffer fd = 14
Exported buffer fd = 16
==============================
Does anyone have gone through similar observations ?
Also may I know how to make sure other cores are loaded and running properly ( IPU & DSP ) ?
Thanks,
Kanagarajan