Bug 103562 - QXL driver disables IRQ and locks up when starting multihead weston, kernel 4.13
Summary: QXL driver disables IRQ and locks up when starting multihead weston, kernel 4.13
Status: NEW
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/other (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-11-03 14:50 UTC by Vasilis LIaskovitis
Modified: 2018-01-01 18:57 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vasilis LIaskovitis 2017-11-03 14:50:28 UTC
Kernel 4.13.9
Weston 3.0.0-1.1

The qxl driver has its IRQ disabled (and the screen locks up not suprisingly) when trying to start weston on a VM with dual-head qxl setup. Video card config of vm:

<video>
  <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='2' primary='yes'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>

Same dual-head setup works for gnome-shell/mutter though. So I am not sure if DRI/drm is the correct product/component.

These are the kernel messages seen when weston is started:

[   66.719393] irq 11: nobody cared (try booting with the "irqpoll" option)
[   66.719396] CPU: 2 PID: 0 Comm: swapper/2 Not tainted 4.13.9-1-default #1
[   66.719397] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.0.0-prebuilt.qemu-project.org 04/01/2014
[   66.719397] Call Trace:
[   66.719404]  <IRQ>
[   66.719408]  dump_stack+0x5c/0x85
[   66.719423]  __report_bad_irq+0x33/0xc0
[   66.719424]  note_interrupt+0x244/0x290
[   66.719425]  handle_irq_event_percpu+0x44/0x50
[   66.719426]  handle_irq_event+0x3a/0x60
[   66.719428]  handle_fasteoi_irq+0x8c/0x150
[   66.719429]  handle_irq+0x19/0x30
[   66.719430]  do_IRQ+0x41/0xc0
[   66.719432]  common_interrupt+0x8c/0x8c
[   66.719433] RIP: 0010:__do_softirq+0x6d/0x2da
[   66.719434] RSP: 0018:ffff98a4bfd03f80 EFLAGS: 00000206 ORIG_RAX: ffffffffffffff2e
[   66.719435] RAX: 0000000000019ec0 RBX: 0000000000000000 RCX: 0000000000200042
[   66.719436] RDX: 0000000000000047 RSI: 00000000bf861cc4 RDI: 00000000000006e0
[   66.719436] RBP: 0000000000000002 R08: 00000023af4b5043 R09: 0000000000000020
[   66.719437] R10: 0000000000000004 R11: 00000000000001d8 R12: 0000000000000000
[   66.719437] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
[   66.719440]  ? hrtimer_interrupt+0x116/0x1f0
[   66.719442]  irq_exit+0xae/0xb0
[   66.719443]  smp_apic_timer_interrupt+0x39/0x50
[   66.719444]  apic_timer_interrupt+0x8c/0xa0
[   66.719445]  </IRQ>
[   66.719446] RIP: 0010:native_safe_halt+0x2/0x10
[   66.719447] RSP: 0018:ffffa6c0c0697ee0 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff10
[   66.719448] RAX: 0000000000000000 RBX: ffffffffb6d573e0 RCX: 0000000000000000
[   66.719448] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
[   66.719448] RBP: 0000000000000002 R08: 00000023ad4d9a22 R09: ffff98a49a797f00
[   66.719449] R10: 0000000000000000 R11: 000000dcc76ca5fb R12: 0000000000000000
[   66.719449] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
[   66.719451]  default_idle+0x1a/0x130
[   66.719453]  do_idle+0x167/0x1e0
[   66.719454]  cpu_startup_entry+0x5f/0x70
[   66.719456]  start_secondary+0x146/0x170
[   66.719458]  secondary_startup_64+0x9f/0xa0
[   66.719459] handlers:
[   66.719466] [<ffffffffc01a2f60>] usb_hcd_irq [usbcore]
[   66.719468] [<ffffffffc0340870>] qxl_irq_handler [qxl]
[   66.719472] [<ffffffffc01a2f60>] usb_hcd_irq [usbcore]
[   66.719473] Disabling IRQ #11
[   83.163774] [drm:drm_atomic_helper_swap_state [drm_kms_helper]] *ERROR* [CRTC:36:crtc-1] hw_done timed out
[   91.616818] ------------[ cut here ]------------
[   91.616826] WARNING: CPU: 3 PID: 2176 at ../drivers/gpu/drm/drm_atomic_helper.c:1682 drm_atomic_helper_commit_hw_done+0x8a/0x90 [drm_kms_helper]
[   91.616826] Modules linked in: nls_utf8 isofs fuse joydev uinput af_packet iscsi_ibft iscsi_boot_sysfs snd_hda_codec_generic crct10dif_pclmul xfs crc32_pclmul ghash_clmulni_intel pcbc snd_hda_intel snd_hda_codec libcrc32c snd_hda_core snd_hwdep snd_pcm ppdev snd_timer snd aesni_intel aes_x86_64 crypto_simd glue_helper cryptd parport_pc parport soundcore virtio_net button serio_raw virtio_balloon qemu_fw_cfg i2c_piix4 pcspkr btrfs xor sr_mod cdrom ata_generic raid6_pq floppy crc32c_intel virtio_blk ata_piix virtio_rng qxl uhci_hcd drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops ttm ehci_pci ehci_hcd drm usbcore sg
[   91.616846] CPU: 3 PID: 2176 Comm: kworker/u8:7 Not tainted 4.13.9-1-default #1
[   91.616847] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.0.0-prebuilt.qemu-project.org 04/01/2014
[   91.616851] Workqueue: events_unbound commit_work [drm_kms_helper]
[   91.616852] task: ffff98a43934a000 task.stack: ffffa6c0c2460000
[   91.616855] RIP: 0010:drm_atomic_helper_commit_hw_done+0x8a/0x90 [drm_kms_helper]
[   91.616856] RSP: 0018:ffffa6c0c2463e40 EFLAGS: 00010286
[   91.616856] RAX: ffff98a4293f7400 RBX: ffff98a422711700 RCX: ffff98a4b9ce8000
[   91.616857] RDX: ffff98a4291b5a00 RSI: ffff98a422711700 RDI: ffff98a4b510f800
[   91.616857] RBP: 0000000000000001 R08: 0000000000000000 R09: ffff98a4b7457000
[   91.616858] R10: 0000000000000003 R11: 00000000f0000006 R12: ffff98a4b8cfa000
[   91.616858] R13: ffff98a422711700 R14: ffff98a4b85f1180 R15: ffff98a422711758
[   91.616859] FS:  0000000000000000(0000) GS:ffff98a4bfd80000(0000) knlGS:0000000000000000
[   91.616860] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   91.616860] CR2: 00007efe00d11478 CR3: 0000000139b64000 CR4: 00000000003406e0
[   91.616863] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[   91.616863] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[   91.616864] Call Trace:
[   91.616869]  drm_atomic_helper_commit_tail+0x39/0x60 [drm_kms_helper]
[   91.616873]  commit_tail+0x59/0x60 [drm_kms_helper]
[   91.616875]  process_one_work+0x17c/0x3b0
[   91.616876]  worker_thread+0x36/0x370
[   91.616878]  ? process_one_work+0x3b0/0x3b0
[   91.616879]  kthread+0x118/0x130
[   91.616880]  ? kthread_create_on_node+0x40/0x40
[   91.616882]  ret_from_fork+0x25/0x30
[   91.616883] Code: ed 46 f6 49 8d 7c 24 30 e8 54 4a dc f5 48 89 df e8 9c e8 46 f6 49 8b 4d 08 83 c5 01 39 a9 38 03 00 00 7f 9b 5b 5d 41 5c 41 5d c3 <0f> ff eb c5 f3 c3 0f 1f 44 00 00 48 8b 4f 08 8b 81 38 03 00 00 
[   91.616899] ---[ end trace 13e1491a20e8c564 ]---
[  101.851625] [drm:drm_atomic_helper_wait_for_dependencies [drm_kms_helper]] *ERROR* [CRTC:36:crtc-1] flip_done timed out
[  101.851642] [drm:drm_atomic_helper_commit_cleanup_done [drm_kms_helper]] *ERROR* [CRTC:36:crtc-1] flip_done timed out


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.