Bug 28373 - DRM lockup on X startup
Summary: DRM lockup on X startup
Status: RESOLVED MOVED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Radeon (show other bugs)
Version: DRI git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-03 12:39 UTC by Mattias Nissler
Modified: 2019-11-19 08:12 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Mattias Nissler 2010-06-03 12:39:45 UTC
I've tried to get the DRM/KMS stuff going on my Ati X800 Pro R423 PCIE. Here are theversions I've tried with:

drm-2.6.git at 9e67e5b Merge tag 'v2.6.34' into drm-radeon-testing
libdrm git at 607e228 Enable silent automake rules.
xf86-video-ati git at 428125c r3xx-r5xx: enable color tiling by default on KMS
mesa git at b202c78 r300: fix blits for textures of width/height greater than 2048 on r5xx

The kernel boots up just fine and the text console switches to the drm framebuffer device as expected. When starting the X server, the VT switch occurs, but the display just freezes (presumably at modesetting time). The kernel doesn't crash, but graphics become unusable (no VT switching, modesetting whatsoever possible from the command line). In my kernel logs, I see the following:

Jun  3 17:51:06 kea kernel: INFO: task X:3245 blocked for more than 120 seconds.
Jun  3 17:51:06 kea kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Jun  3 17:51:06 kea kernel: X             D ffffffff8175c820     0  3245   3243 0x00400004
Jun  3 17:51:06 kea kernel: ffff88007c515788 0000000000000046 0000000000000000 ffffffff00000000
Jun  3 17:51:06 kea kernel: ffff88007c515fd8 ffff88007c515fd8 ffff88007a961040 0000000000014000
Jun  3 17:51:06 kea kernel: ffff88007c515fd8 0000000000014000 ffffffff81a67020 ffff88007a961040
Jun  3 17:51:06 kea kernel: Call Trace:
Jun  3 17:51:06 kea kernel: [<ffffffff81743bc3>] mutex_lock_nested+0x183/0x370
Jun  3 17:51:06 kea kernel: [<ffffffff813bfb5b>] ? radeon_ring_lock+0x2b/0x60
Jun  3 17:51:06 kea kernel: [<ffffffff813bfb5b>] radeon_ring_lock+0x2b/0x60
Jun  3 17:51:06 kea kernel: [<ffffffff8174519b>] ? _raw_write_unlock_irqrestore+0x3b/0x60
Jun  3 17:51:06 kea kernel: [<ffffffff813d36a1>] r300_gpu_is_lockup+0x71/0x190
Jun  3 17:51:06 kea kernel: [<ffffffff813a8aee>] radeon_fence_wait+0x32e/0x3c0
Jun  3 17:51:06 kea kernel: [<ffffffff810926b0>] ? autoremove_wake_function+0x0/0x40
Jun  3 17:51:06 kea kernel: [<ffffffff813a82a5>] ? radeon_fence_emit+0xe5/0x130
Jun  3 17:51:06 kea kernel: [<ffffffff814074c8>] radeon_pm_set_clocks+0x428/0x670
Jun  3 17:51:06 kea kernel: [<ffffffff81407742>] ? radeon_pm_compute_clocks+0x32/0x280
Jun  3 17:51:06 kea kernel: [<ffffffff814077f0>] radeon_pm_compute_clocks+0xe0/0x280
Jun  3 17:51:06 kea kernel: [<ffffffff813ac42c>] radeon_crtc_mode_fixup+0x2c/0x50
Jun  3 17:51:06 kea kernel: [<ffffffff81358958>] drm_crtc_helper_set_mode+0x138/0x3c0
Jun  3 17:51:06 kea kernel: [<ffffffff81359657>] drm_crtc_helper_set_config+0x837/0x8e0
Jun  3 17:51:06 kea kernel: [<ffffffff8136be00>] drm_mode_setcrtc+0x170/0x3c0
Jun  3 17:51:06 kea kernel: [<ffffffff8135e79a>] drm_ioctl+0x33a/0x4c0
Jun  3 17:51:06 kea kernel: [<ffffffff8136bc90>] ? drm_mode_setcrtc+0x0/0x3c0
Jun  3 17:51:06 kea kernel: [<ffffffff810973de>] ? up_read+0x1e/0x40
Jun  3 17:51:06 kea kernel: [<ffffffff81114a98>] vfs_ioctl+0x38/0xd0
Jun  3 17:51:06 kea kernel: [<ffffffff81114c7a>] do_vfs_ioctl+0x8a/0x640
Jun  3 17:51:06 kea kernel: [<ffffffff8111527a>] sys_ioctl+0x4a/0x80
Jun  3 17:51:06 kea kernel: [<ffffffff81032f42>] system_call_fastpath+0x16/0x1b
Jun  3 17:51:06 kea kernel: 6 locks held by X/3245:
Jun  3 17:51:06 kea kernel: #0:  (&dev->mode_config.mutex){......}, at: [<ffffffff8136bcca>] drm_mode_setcrtc+0x3a/0x3c0
Jun  3 17:51:06 kea kernel: #1:  (&rdev->pm.mutex){......}, at: [<ffffffff81407742>] radeon_pm_compute_clocks+0x32/0x280
Jun  3 17:51:06 kea kernel: #2:  (&dev->struct_mutex){......}, at: [<ffffffff814070d1>] radeon_pm_set_clocks+0x31/0x670
Jun  3 17:51:06 kea kernel: #3:  (&rdev->vram_mutex){......}, at: [<ffffffff814070db>] radeon_pm_set_clocks+0x3b/0x670
Jun  3 17:51:06 kea kernel: #4:  (&rdev->cp.mutex){......}, at: [<ffffffff814070e5>] radeon_pm_set_clocks+0x45/0x670
Jun  3 17:51:06 kea kernel: #5:  (&rdev->cp.mutex){......}, at: [<ffffffff813bfb5b>] radeon_ring_lock+0x2b/0x60

I've had a quick look at the code, seems radeon_ring_lock cannot acquire the lock, since it's already taken by radeon_pm_set_clocks? But maybe the 300_gpu_is_lockup call indicates there's a bigger problem occurring before? You see, I don't know the code ;)

If you want me to try patches, different versions etc. I'm happy to help. Keep up the good work!
Comment 1 Martin Peres 2019-11-19 08:12:58 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/amd/issues/130.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.