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: RESOLVED INVALID
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: 2019-10-14 13:20 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

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
Comment 1 Martin Peres 2019-10-14 13:20:12 UTC
Hi,

Freedesktop's Bugzilla instance is EOLed and open bugs are about to be migrated to http://gitlab.freedesktop.org.

To avoid migrating out of date bugs, I am now closing all the bugs that did not see any activity in the past year. If the issue is still happening, please create a new bug in the relevant project at https://gitlab.freedesktop.org/drm (use misc by default).

Sorry about the noise!


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.