Plymouth-0.9.2 DRM lockup issue on i.MX6 (ARM)

srikanth krishnakar skrishnakar at gmail.com
Fri Aug 19 13:44:04 UTC 2016


Hello dev team,

Platform: ARM IMX6Q
Kernel: Linux-4.1.30
DRM version:  libdrm2 - 2.4.68-r0.0

I am building latest plymouth-0.9.2 release on my ARM i.MX6Q platform which
is running on X11 based graphics, Since this platform has DRM_VIVANTE
support by default enabled for graphics, I have enabled DRM support in
plymouth configuration so that I get drm.so plugin for splash screen, the
system is running on "systemd-230" so we have systemd enabled by default,
the plymouth starts every time but only few times the splash screen
appears, also the other major issue I see is the DRM master is locked and I
see lock messages If I try to bring down the Xserver or reboot the target.
The following are the log messages of error and crash:

---------------------------------8<----------------------------------------------
[    2.231409] [drm] Initialized drm 1.1.0 20060810
[    2.236624] [drm] Initialized vivante 1.0.0 20120216 on minor 0
...
...
         Starting Tell Plymouth To Write Out Runtime Data...
[  OK  ] Started udev Kernel Device Manager.
[  OK  ] Started Flush Journal to Persistent Storage.
[  OK  ] Started Load/Save Random Seed.
[  OK  ] Started udev Coldplug all Devices.
[  OK  ] Started Tell Plymouth To Write Out Runtime Data.
         Starting Create Volatile Files and Directories...
         Starting Show Plymouth Boot Screen..
....
....
root at mx6q:~# opkg list | grep -i plymouth
plymouth - 0.9.2-r0.1
...
...
root at mx6q:~# ls /dev/dri/card0
/dev/dri/card0
root at mx6q:~# ls /dev/fb
fb   fb0  fb1  fb2  fb3
...
...
root at mx6q:~# cat /var/log/Xorg.0.log | grep -i drm
[2674329.627] (II) xfree86: Adding drm device (/dev/dri/card0)
[2674329.628]   falling back to /sys/devices/platform/Vivante
GCCore/drm/card0
[2674330.548] drmOpenDevice: node name is /dev/dri/card0
[2674330.548] drmOpenDevice: open result is 9, (OK)
[2674330.548] drmOpenDevice: node name is /dev/dri/card0
[2674330.548] drmOpenDevice: open result is 9, (OK)
[2674330.548] drmOpenByBusid: Searching for BusID platform:Vivante GCCore:00
[2674330.548] drmOpenDevice: node name is /dev/dri/card0
[2674330.548] drmOpenDevice: open result is 9, (OK)
[2674330.549] drmOpenByBusid: drmOpenMinor returns 9
[2674330.549] drmOpenByBusid: drmGetBusid reports platform:Vivante GCCore:00
[2674330.549] (II) [drm] DRM interface version 1.4
[2674330.549] (II) [drm] DRM open master succeeded.
[2674330.549] (II) VIVANTE(0): [drm] Using the DRM lock SAREA also for
drawables.
[2674330.549] (II) VIVANTE(0): [drm] framebuffer handle = 0x33a00000
[2674330.549] (II) VIVANTE(0): [drm] added 1 reserved context for kernel
[2674330.549] (II) VIVANTE(0): [drm] installed DRM signal handler
root at mx6q:~#
...
...
...
root at mx6q:~# cat /var/log/Xorg.0.log | grep -i fb
[2674329.576] Kernel command line: console=ttymxc0,115200
root=/dev/mmcblk2p2 rootwait rw ip=none
video=mxcfb0:dev=hdmi,1920x1080M at 60,if=RGB24
video=mxcfb1:off video=mxcfb2:off splash plymouth.ignore-serial-conss
[2674329.781] (II) VIVANTE: driver for vivante fb: VivanteGC500,
VivanteGC2100,
[2674329.812] (II) Loading sub module "fbdevhw"
[2674329.812] (II) LoadModule: "fbdevhw"
[2674329.812] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[2674329.816] (II) Module fbdevhw: vendor="X.Org Foundation"
[2674329.818] (II) VIVANTE(0): Device preferred mode 'fb0':S:1920x1080p-60
        "Default Screen" for depth/fbbpp 24/32
[2674329.819] (**) VIVANTE(0): Option "fbdev" "/dev/fb0"
[2674329.819] (II) Loading sub module "fb"
[2674329.819] (II) LoadModule: "fb"
[2674329.820] (II) Loading /usr/lib/xorg/modules/libfb.so
[2674329.829] (II) Module fb: vendor="X.Org Foundation"
[2674330.244] (II) VIVANTE(0): printing discovered frame buffer 'fb0'
supported modes:
[2674330.316] (II) VIVANTE(0): FBDevPreInit: adjust display width 1920
[2674330.316] (II) VIVANTE(0): Init mode for fb device
[2674330.409] (II) VIVANTE(0): FB Start = 0xb5435000  FB Base = 0xb5435000
FB Offset = (nil) FB PhyBase 0x33a00000
[2674330.409] (II) VIVANTE(0): reserve 8355840 bytes for on screen frame
buffer; total fb memory size 16727040 bytes; offset of shadow buffer 8355840
root at mx6q:~#
....
....
....

root at mx6q:~# reboot
[   17.497191] [drm:drm_legacy_unlock] *ERROR* Process 633 using kernel
context 0
[   17.518676] [drm:drm_legacy_unlock] *ERROR* Process 633 using kernel
context 0
[   17.526643] [drm:drm_legacy_unlock] *ERROR* Process 623 using kernel
context 0
[   17.535865] [drm:drm_legacy_unlock] *ERROR* Process 623 using kernel
context 0
[   17.543426] [drm:drm_legacy_unlock] *ERROR* Process 597 using kernel
context 0
[   17.551009] [drm:drm_legacy_unlock] *ERROR* Process 624 using kernel
context 0
[   17.559455] [drm:drm_lock_take] *ERROR* 1 holds heavyweight lock
[   17.574592] [drm:drm_lock_take] *ERROR* 1 holds heavyweight lock

...
...
[   22.744931] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[   22.744935] task: d8eb1900 ti: d8c86000 task.ti: d8c86000
[   22.744948] PC is at drm_legacy_lock_free+0x30/0x100
[   22.744960] LR is at __local_bh_enable_ip+0x60/0x100
[   22.744966] pc : [<c03dbb44>]    lr : [<c00385f4>]    psr: 60070013
....
....
[   22.745106] [<c03dbb44>] (drm_legacy_lock_free) from [<c03dbc40>]
(drm_legacy_unlock+0x2c/0x6c)
[   22.745120] [<c03dbc40>] (drm_legacy_unlock) from [<c03d91e0>]
(drm_ioctl+0x28c/0x4cc)
[   22.745134] [<c03d91e0>] (drm_ioctl) from [<c011be10>]
(do_vfs_ioctl+0x3e8/0x608)
[   22.745143] [<c011be10>] (do_vfs_ioctl) from [<c011c064>]
(SyS_ioctl+0x34/0x5c)
[   22.745161] [<c011c064>] (SyS_ioctl) from [<c000f3c0>]
(ret_fast_syscall+0x0/0x3c)
[   22.745172] Code: e3530000 1a000019 e1a00007 eb12aaec (e5943000)
[   22.745178] ---[ end trace 6a02194539dcc630 ]---

---------------------------------8<----------------------------------------------

Any pointers would be highly appreciated. The consequent reboot results in
total system hang without further moving on to shutdown process.

Thanks in Advance !
Srikanth
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/plymouth/attachments/20160819/aecaa3b0/attachment.html>


More information about the plymouth mailing list