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.

KmsCube Issues

Hi,

I haven't had much luck executing the KmsCube example supplied in GLSDK 6.01. When executing pvrsrvinit I get the expected deadlock behavior and I assume everything is ok. When I execute kmscube, the print out shows that omapdrm, gbm_pvr and EGL Version "1.4 build 1.9@2253347" are running.

My problem is that there is no display out from of the HDMI port. I'm using the LILLIPUT field monitor (http://www.lilliputuk.com/monitors/hdmi/569gl/), which supports a max resolution of 1920x1080.

Now if i press a key while kmscube is running, the kernel seems to crash and reboots (sometimes).

All print outs are shown below. Thanks!

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

omap5-evm login: root
root@omap5-evm:~# pvrsrvinit
[   40.246154] 
[   40.247711] =============================================
[   40.253387] [ INFO: possible recursive locking detected ]
[   40.259063] 3.8.13-g6076e68 #1 Tainted: G           O
[   40.264373] ---------------------------------------------
[   40.270050] pvrsrvinit/1647 is trying to acquire lock:
[   40.275451]  (psPVRSRVMutex){+.+.+.}, at: [<bf2aad30>] DebugMemAllocRecordAdd+0x38/0x130 [omapdrm_pvr]
[   40.285369] 
[   40.285369] but task is already holding lock:
[   40.291473]  (psPVRSRVMutex){+.+.+.}, at: [<bf2a95d4>] PVRSRVOpen+0x18/0xf0 [omapdrm_pvr]
[   40.300170] 
[   40.300170] other info that might help us debug this:
[   40.307037]  Possible unsafe locking scenario:
[   40.307037] 
[   40.313232]        CPU0
[   40.315826]        ----
[   40.318389]   lock(psPVRSRVMutex);
[   40.321960]   lock(psPVRSRVMutex);
[   40.325561] 
[   40.325561]  *** DEADLOCK ***
[   40.325561] 
[   40.331787]  May be due to missing lock nesting notation
[   40.331787] 
[   40.338928] 2 locks held by pvrsrvinit/1647:
[   40.343414]  #0:  (drm_global_mutex){+.+.+.}, at: [<c03508e8>] drm_stub_open+0x38/0x144
[   40.351898]  #1:  (psPVRSRVMutex){+.+.+.}, at: [<bf2a95d4>] PVRSRVOpen+0x18/0xf0 [omapdrm_pvr]
[   40.361022] 
[   40.361022] stack backtrace:
[   40.365631] [<c001b3f4>] (unwind_backtrace+0x0/0xf0) from [<c0094928>] (__lock_acquire+0x1414/0x1a9c)
[   40.375335] [<c0094928>] (__lock_acquire+0x1414/0x1a9c) from [<c00954c8>] (lock_acquire+0x9c/0x128)
[   40.384857] [<c00954c8>] (lock_acquire+0x9c/0x128) from [<c0575964>] (mutex_lock_nested+0x50/0x3a4)
[   40.394409] [<c0575964>] (mutex_lock_nested+0x50/0x3a4) from [<bf2aad30>] (DebugMemAllocRecordAdd+0x38/0x130 [omapdrm_pvr])
[   40.406219] [<bf2aad30>] (DebugMemAllocRecordAdd+0x38/0x130 [omapdrm_pvr]) from [<bf2ab0a0>] (_KMallocWrapper+0x44/0x50 [oma)
[   40.418975] [<bf2ab0a0>] (_KMallocWrapper+0x44/0x50 [omapdrm_pvr]) from [<bf2a6a04>] (OSAllocMem_Impl+0x58/0x68 [omapdrm_pvr)
[   40.431060] [<bf2a6a04>] (OSAllocMem_Impl+0x58/0x68 [omapdrm_pvr]) from [<bf2b4ab4>] (PVRSRVPerProcessDataConnect+0x74/0x154)
[   40.444305] [<bf2b4ab4>] (PVRSRVPerProcessDataConnect+0x74/0x154 [omapdrm_pvr]) from [<bf2a95e4>] (PVRSRVOpen+0x28/0xf0 [oma)
[   40.457122] [<bf2a95e4>] (PVRSRVOpen+0x28/0xf0 [omapdrm_pvr]) from [<bf2c53b4>] (PVRSRVDrmOpen+0xc8/0xf0 [omapdrm_pvr])
[   40.468536] [<bf2c53b4>] (PVRSRVDrmOpen+0xc8/0xf0 [omapdrm_pvr]) from [<c0363dd0>] (dev_open+0x98/0x108)
[   40.478515] [<c0363dd0>] (dev_open+0x98/0x108) from [<c0350538>] (drm_open+0x1f0/0x568)
[   40.486938] [<c0350538>] (drm_open+0x1f0/0x568) from [<c0350970>] (drm_stub_open+0xc0/0x144)
[   40.495819] [<c0350970>] (drm_stub_open+0xc0/0x144) from [<c01106b0>] (chrdev_open+0x88/0x16c)
[   40.504882] [<c01106b0>] (chrdev_open+0x88/0x16c) from [<c010ad3c>] (do_dentry_open+0x1fc/0x274)
[   40.514099] [<c010ad3c>] (do_dentry_open+0x1fc/0x274) from [<c010ade8>] (finish_open+0x34/0x4c)
[   40.523254] [<c010ade8>] (finish_open+0x34/0x4c) from [<c0119380>] (do_last.isra.27+0x4ec/0xbac)
[   40.532501] [<c0119380>] (do_last.isra.27+0x4ec/0xbac) from [<c0119ae8>] (path_openat+0xa8/0x480)
[   40.541839] [<c0119ae8>] (path_openat+0xa8/0x480) from [<c011a17c>] (do_filp_open+0x2c/0x80)
[   40.550689] [<c011a17c>] (do_filp_open+0x2c/0x80) from [<c010becc>] (do_sys_open+0xe4/0x174)
[   40.559539] [<c010becc>] (do_sys_open+0xe4/0x174) from [<c0013800>] (ret_fast_syscall+0x0/0x3c)
root@omap5-evm:~# kmscube
trying to load module i915...failed.
trying to load module radeon...failed.
trying to load module nouveau...failed.
trying to load module vmwgfx...failed.
trying to load module omapdrm...success.
failed to load module: /usr/lib/gbm/gbm_dri.so: cannot open shared object file: No such file or directory
failed to load module: /usr/lib/gbm/gbm_gallium_drm.so: cannot open shared object file: No such file or directory
loaded module: gbm_pvr.so
PVR:(Warning): PVRSRVOpenDCDevice: Warning - 138 returned [80, /bridged_pvr_dc_glue.c]
Using display 0x1 with EGL version 1.4
EGL Version "1.4 build 1.9@2253347"
EGL Vendor "Imagination Technologies"
EGL Extensions "EGL_IMG_client_api_ogl EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_gl_texture_2D_image EGL_KH"

user interrupted!
[  611.373809] ------------[ cut here ]------------
[  611.379913] Kernel BUG at c0366574 [verbose debug info unavailable]
[  611.386505] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
[  611.392639] Modules linked in: omapdrm_pvr(O) snd_soc_spdif_tx snd_soc_omap_abe_twl6040 snd_soc_twl6040 ahci_platform snd_soe
[  611.424468] CPU: 0    Tainted: G           O  (3.8.13-g6076e68 #1)
[  611.430969] PC is at omap_plane_mode_set+0x84/0x88
[  611.436004] LR is at page_flip_worker+0x88/0x104
[  611.440856] pc : [<c0366574>]    lr : [<c0365a1c>]    psr: a0000013
[  611.440856] sp : ed293e34  ip : c0365a98  fp : 07800000
[  611.452911] r10: 00000780  r9 : 00000000  r8 : 00000438
[  611.458404] r7 : 00000000  r6 : 00000000  r5 : 00000780  r4 : c0365a98
[  611.465270] r3 : eeff8000  r2 : ed19b9c0  r1 : eeff8000  r0 : eeffc800
[  611.472106] Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
[  611.479797] Control: 10c53c7d  Table: adeec06a  DAC: 00000017
[  611.485839] Process kworker/u:3 (pid: 1580, stack limit = 0xed292240)
[  611.492614] Stack: (0xed293e34 to 0xed294000)
[  611.497192] 3e20:                                              eeff844c 00000000 eee3f39c
[  611.505798] 3e40: eeff8000 00000000 04380000 00000000 00000000 00000780 00000438 00000000
[  611.514373] 3e60: 00000000 07800000 04380000 c0365a98 eeff8000 c0913300 c0913300 eeff844c
[  611.522979] 3e80: edfa06c0 ed292000 ed293ec0 eeffec00 c08fda00 c0913300 00000002 c0061e70
[  611.531555] 3ea0: 00000002 00000000 c0061dec ee918840 c0913428 c0913300 00000000 00000000
[  611.540161] 3ec0: c0e53d2c 00000000 00000000 c07437dc edfa06c0 c0913428 edfa06d4 ed292000
[  611.548736] 3ee0: c0913300 c0843d48 c09132c0 c0837dc0 edfa06c0 c00625d0 00000000 ed292000
[  611.557342] 3f00: 00000000 c0837dc0 c0062468 eed65e34 00000000 edfa06c0 c0062468 00000000
[  611.565948] 3f20: 00000000 00000000 00000000 c00676a0 c1e6ce00 00000000 c1e6ce00 edfa06c0
[  611.574523] 3f40: 00000000 00000000 dead4ead ffffffff ffffffff c0913a38 00000000 00000000
[  611.583129] 3f60: c07033f8 ed293f64 ed293f64 00000000 00000000 dead4ead ffffffff ffffffff
[  611.591705] 3f80: c0913a38 00000000 00000000 c07033f8 ed293f90 ed293f90 ed293fac eed65e34
[  611.600311] 3fa0: c00675fc 00000000 00000000 c00138b0 00000000 00000000 00000000 00000000
[  611.608886] 3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  611.617492] 3fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[  611.626098] [<c0366574>] (omap_plane_mode_set+0x84/0x88) from [<00000000>] (  (null))
[  611.634338] Code: e5802028 e5801024 e8bd07f0 eaffff81 (e7f001f2)
user interrupted!

 

  • I managed to find some additional information after running dmesg. It seems the HDMI device is failing to power up and and lock to the PLL. Is there a fix for this or should I assume this is a hardware issue?

    [    2.314025] [drm] Enabling DMM ywrap scrolling                               
    [    2.320678] ehci-omap 4a064c00.ehci: port 3 reset complete, port enabled     
    [    2.320678] ehci-omap 4a064c00.ehci: GetStatus port:3 status 001005 0  ACK PT
    [    2.321777] omapdss HDMI error: M = 928 Mf = 32768                           
    [    2.321777] omapdss HDMI error: range = 0 sd = 9                             
    [    2.324676] Console: switching to colour frame buffer device 160x45          
    [    2.335235] cannot lock PLL                                                  
    [    2.335235] CFG1 0x7400e                                                     
    [    2.335235] CFG2 0x602004                                                    
    [    2.335235] CFG4 0xc8000                                                     
    [    2.350830] omapdss HDMI error: failed to power on device                    
    [    2.350830] omapdss error: failed to power on                                
    [    2.359985] usb 1-2: link qh256-0001/eee94f00 start 1 [1/0 us]               
    [    2.366363] omapdrm omapdrm.0: fb0: omapdrm frame buffer device              
    [    2.372528] omapdrm omapdrm.0: registered panic notifier                     
    [    2.378112] [drm] Initialized omapdrm 1.0.0 20110917 on minor 0             

  • Hi Michael,

    Do you have anything connected to the usb ( and if yes what and to which port  is it).

    I can suggest trying  to boot the system with another monitor just to be sure. And then concentrate on the Peripheral device  that is probably causing misbehavior 

    Regards Boyko

  • Boyko,

    I don't have any USB devices connected to the EVM. I tried an ASUS monitor and everything worked as expected.

    Thanks!