Bug 109320 - Encoder .compute_config() fails to propagate EDEADLK from mst code
Summary: Encoder .compute_config() fails to propagate EDEADLK from mst code
Status: RESOLVED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: DRI git
Hardware: Other All
: medium normal
Assignee: Lyude Paul
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-01-11 20:54 UTC by Ville Syrjala
Modified: 2019-01-15 21:33 UTC (History)
1 user (show)

See Also:
i915 platform: ALL
i915 features: display/atomic, display/DP MST


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ville Syrjala 2019-01-11 20:54:58 UTC
[ 4544.317535] [drm:drm_dp_mst_topology_try_get_port [drm_kms_helper]] port 000000001f1f22c1 (2)
[ 4544.317546] [drm:drm_dp_mst_topology_put_port [drm_kms_helper]] port 000000001f1f22c1 (1)
[ 4544.317585] [drm:intel_dp_mst_compute_config [i915]] failed finding vcpi slots:-35
[ 4544.317624] [drm:intel_atomic_check [i915]] Encoder config failure
[ 4544.317654] [drm:intel_dump_pipe_config [i915]] [CRTC:83:pipe C][failed]
[ 4544.317694] [drm:intel_dump_pipe_config [i915]] output_types: DP_MST (0x800)
[ 4544.317726] [drm:intel_dump_pipe_config [i915]] output format: RGB
[ 4544.317765] [drm:intel_dump_pipe_config [i915]] cpu_transcoder: C, pipe bpp: 24, dithering: 0
[ 4544.317798] [drm:intel_dump_pipe_config [i915]] dp m_n: lanes: 4; gmch_m: 0, gmch_n: 0, link_m: 0, link_n: 0, tu: 0
[ 4544.317833] [drm:intel_dump_pipe_config [i915]] audio: 0, infoframes: 0
[ 4544.317863] [drm:intel_dump_pipe_config [i915]] requested mode:
[ 4544.317891] [drm:drm_mode_debug_printmodeline [drm]] Modeline 0:"" 0 154000 1920 1968 2000 2080 1200 1203 1209 1235 0x0 0x9
[ 4544.317919] [drm:intel_dump_pipe_config [i915]] adjusted mode:
[ 4544.317945] [drm:drm_mode_debug_printmodeline [drm]] Modeline 0:"" 0 154000 1920 1968 2000 2080 1200 1203 1209 1235 0x0 0x9
[ 4544.317979] [drm:intel_dump_pipe_config [i915]] crtc timings: 154000 1920 1968 2000 2080 1200 1203 1209 1235, type: 0x0 flags: 0x9
[ 4544.318014] [drm:intel_dump_pipe_config [i915]] port clock: 540000, pipe src size: 1920x1200, pixel rate 0
[ 4544.318042] [drm:intel_dump_pipe_config [i915]] num_scalers: 1, scaler_users: 0x0, scaler_id: -1
[ 4544.318093] [drm:intel_dump_pipe_config [i915]] pch pfit: pos: 0x00000000, size: 0x00000000, disabled
[ 4544.318129] [drm:intel_dump_pipe_config [i915]] ips: 0, double wide: 0
[ 4544.318156] [drm:intel_dump_pipe_config [i915]] dpll_hw_state: ctrl1: 0x1, cfgcr1: 0x0, cfgcr2: 0x0
[ 4544.318190] [drm:intel_dump_pipe_config [i915]] planes on this crtc
[ 4544.318223] [drm:intel_dump_pipe_config [i915]] [PLANE:66:plane 1C] FB:211, fb = 1920x1200 format = XR24 little-endian (0x34325258)
[ 4544.318260] [drm:intel_dump_pipe_config [i915]]      scaler:-1 src 0x0+1920+1200 dst 0x0+1920+1200
[ 4544.318291] [drm:intel_dump_pipe_config [i915]] [PLANE:73:plane 2C] disabled, scaler_id = -1
[ 4544.318324] [drm:intel_dump_pipe_config [i915]] [PLANE:80:cursor C] disabled, scaler_id = -1
[ 4544.318345] [drm:drm_atomic_check_only [drm]] atomic driver check for 00000000115dac98 failed: -22
[ 4544.318369] [drm:drm_atomic_state_default_clear [drm]] Clearing atomic state 00000000115dac98
[ 4544.318386] [drm:drm_mode_object_put.part.0 [drm]] OBJ ID: 124 (15)
[ 4544.318404] [drm:drm_mode_object_put.part.0 [drm]] OBJ ID: 124 (14)
[ 4544.318426] [drm:drm_mode_object_put.part.0 [drm]] OBJ ID: 217 (7)
[ 4544.318442] [drm:drm_mode_object_put.part.0 [drm]] OBJ ID: 207 (7)
[ 4544.318459] [drm:drm_mode_object_put.part.0 [drm]] OBJ ID: 211 (7)
[ 4544.318493] [drm:__drm_atomic_state_free [drm]] Freeing atomic state 00000000115dac98
[ 4544.318531] WARNING: CPU: 3 PID: 1101 at ../drivers/gpu/drm/drm_modeset_lock.c:228 drm_modeset_drop_locks+0x35/0x40 [drm]
[ 4544.318537] Modules linked in: mousedev fuse netconsole i915 i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops prime_numbers drm intel_gtt agpgart nls_iso8859_1 nls_cp437 vfat fat efi_pstore coretemp hwmon intel_rapl x86_pkg_temp_thermal efivars e1000e ptp pps_core video evdev ip_tables x_tables ipv6 autofs4
[ 4544.318565] CPU: 3 PID: 1101 Comm: Xorg Tainted: G        W         5.0.0-rc1-skl+ #1495
[ 4544.318570] Hardware name: GIGABYTE GB-BKi7(H)A-7500/MFLP7AP-00, BIOS F4 02/20/2017
[ 4544.318586] RIP: 0010:drm_modeset_drop_locks+0x35/0x40 [drm]
[ 4544.318592] Code: 29 48 8b 43 60 48 8d 6b 60 48 39 c5 74 19 48 8b 43 60 48 8d b8 70 ff ff ff e8 87 ff ff ff 48 8b 43 60 48 39 c5 75 e7 5b 5d c3 <0f> 0b eb d3 0f 1f 80 00 00 00 00 41 56 41 55 41 54 55 53 48 8b 6f
[ 4544.318597] RSP: 0018:ffffc90000493c00 EFLAGS: 00010286
[ 4544.318604] RAX: 00000000ffffffea RBX: ffffc90000493c20 RCX: 00000000000babf3
[ 4544.318609] RDX: 00000000000babeb RSI: ffff88845dba4a10 RDI: ffffc90000493c20
[ 4544.318614] RBP: ffff88845bc82e00 R08: 0000000000000000 R09: 0000000000000000
[ 4544.318619] R10: 0000000000000000 R11: 0000000000000000 R12: ffff888449a72828
[ 4544.318624] R13: 0000000000000003 R14: ffff888449a72800 R15: ffffffffa01c5ee8
[ 4544.318629] FS:  00007f12a3e36a40(0000) GS:ffff88845db80000(0000) knlGS:0000000000000000
[ 4544.318633] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 4544.318638] CR2: 00007fbf4ca19000 CR3: 0000000449ab4004 CR4: 00000000003606e0
[ 4544.318643] Call Trace:
[ 4544.318662]  set_property_atomic+0xd0/0x140 [drm]
[ 4544.318681]  drm_mode_obj_set_property_ioctl+0x10f/0x1d0 [drm]
[ 4544.318699]  ? drm_connector_set_obj_prop+0x70/0x70 [drm]
[ 4544.318716]  drm_connector_property_set_ioctl+0x39/0x60 [drm]
[ 4544.318731]  drm_ioctl_kernel+0x81/0xf0 [drm]
[ 4544.318747]  drm_ioctl+0x2f3/0x3b0 [drm]
[ 4544.318764]  ? drm_connector_set_obj_prop+0x70/0x70 [drm]
[ 4544.318774]  ? lock_acquire+0x90/0x1a0
[ 4544.318780]  do_vfs_ioctl+0xa0/0x6e0
[ 4544.318788]  ? __fget+0xfc/0x1e0
[ 4544.318794]  ksys_ioctl+0x35/0x60
[ 4544.318800]  __x64_sys_ioctl+0x11/0x20
[ 4544.318806]  do_syscall_64+0x4b/0x180
[ 4544.318815]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
[ 4544.318821] RIP: 0033:0x7f12a183d587
[ 4544.318827] Code: 00 00 00 48 8b 05 11 29 2c 00 64 c7 00 26 00 00 00 48 c7 c0 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d e1 28 2c 00 f7 d8 64 89 01 48
[ 4544.318832] RSP: 002b:00007fff53fc4138 EFLAGS: 00003246 ORIG_RAX: 0000000000000010
[ 4544.318839] RAX: ffffffffffffffda RBX: 000055bedcf5a940 RCX: 00007f12a183d587
[ 4544.318844] RDX: 00007fff53fc4170 RSI: 00000000c01064ab RDI: 000000000000000d
[ 4544.318849] RBP: 00007fff53fc4170 R08: 0000000000000001 R09: 0000000000000000
[ 4544.318853] R10: 0000000000000004 R11: 0000000000003246 R12: 00000000c01064ab
[ 4544.318859] R13: 000000000000000d R14: 0000000000000001 R15: 00007f12a3d9d000
[ 4544.318864] irq event stamp: 28610762
[ 4544.318872] hardirqs last  enabled at (28610761): [<ffffffff81228a09>] kfree+0xb9/0x270
[ 4544.318878] hardirqs last disabled at (28610762): [<ffffffff81001951>] trace_hardirqs_off_thunk+0x1a/0x1c
[ 4544.318884] softirqs last  enabled at (28610734): [<ffffffff81a0033a>] __do_softirq+0x33a/0x4b9
[ 4544.318891] softirqs last disabled at (28610717): [<ffffffff810b3441>] irq_exit+0xd1/0xe0
[ 4544.318911] WARNING: CPU: 3 PID: 1101 at ../drivers/gpu/drm/drm_modeset_lock.c:228 drm_modeset_drop_locks+0x35/0x40 [drm]
[ 4544.318918] ---[ end trace 530123a439442cdf ]---

Maybe caused by the recent MST changes? Not sure.

The fix likely involves making encoder .compute_config() return an int so that we can progagate the EDEADLK up the chain.
Comment 1 Lyude Paul 2019-01-14 17:28:50 UTC
I can handle this one, since I'm fairly sure this is from my MST changes that I pushed recently
Comment 2 Lyude Paul 2019-01-14 22:34:07 UTC
Patches at https://patchwork.freedesktop.org/patch/277359/
Comment 3 Lyude Paul 2019-01-15 21:33:01 UTC
Pushed the fix, so this bug should be fixed now: https://cgit.freedesktop.org/drm-tip/commit/?id=96550555a78ca3c9fda4b358549a5622810fe32c


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.