drm/i915: Use atomic state to obtain load detection crtc, v3.
Instead of restoring dpms and a flag for whether a temp fb is allocated duplicate
an atomic state before the new state is committed, and commit it the old state
in intel_release_load_detect_pipe.
Changes since v1:
- Use a real atomic state. (Ville)
Changes since v2:
- Do not preserve shared_dpll any more, no need to do so. (Ville)
Get a similar warning. I have bisected my problem to the following kernel patch:
commit edde361711ef8f3 96e401b25d970e3 29f68bec0b
Author: Maarten Lankhorst <email address hidden>
Date: Wed Feb 17 09:18:35 2016 +0100
drm/i915: Use atomic state to obtain load detection crtc, v3.
Instead of restoring dpms and a flag for whether a temp fb is allocated duplicate load_detect_ pipe.
an atomic state before the new state is committed, and commit it the old state
in intel_release_
Changes since v1:
- Use a real atomic state. (Ville)
Changes since v2:
- Do not preserve shared_dpll any more, no need to do so. (Ville)
Signed-off-by: Maarten Lankhorst <email address hidden> patchwork. freedesktop. org<email address hidden>
Reviewed-by: Ville Syrjälä <email address hidden>
Link: http://
This leads to the following dmesg warnings for me:
[ 10.613368] ------------[ cut here ]------------ gpu/drm/ drm_irq. c:1268 drm_wait_ one_vblank+ 0x170/0x180 [drm]() codec_analog snd_hda_ codec_generic lpc_ich mfd_core ssb mmc_core fan thermal wmi battery i915 snd_hda_intel i2c_algo_bit drm_kms_helper snd_hda_codec syscopyarea sysfillrect sysimgblt fb_sys_fops snd_hwdep hp_accel snd_hda_core lis3lv02d e1000e snd_pcm input_polldev led_class video snd_timer ptp drm intel_agp ac pps_core intel_gtt snd acpi_cpufreq soundcore agpgart button processor ip_tables x_tables ext4 crc16 mbcache jbd2 jitterentropy_rng sha256_generic hmac drbg ansi_cprng xts gf128mul algif_skcipher af_alg dm_crypt dm_mod sr_mod cdrom sd_mod ata_generic pata_acpi atkbd libps2 ata_piix ahci libahci libata scsi_mod ehci_pci uhci_hcd ehci_hcd usbcore usb_common i8042 serio AA-00365- gedde361 #32 0x58/0x79 common+ 0x8d/0xd0 one_vblank+ 0x170/0x180 [drm] one_vblank+ 0x170/0x180 [drm] fmt+0x33/ 0x40 one_vblank+ 0x170/0x180 [drm] t_function+ 0x70/0x70 load_detect_ pipe+0x762/ 0x7e0 [i915] detect+ 0x1aa/0x6d0 [i915] edid+0x25/ 0x3e0 [drm] probe_single_ connector_ modes+0x2f0/ 0x520 [drm_kms_helper] helper_ initial_ config+ 0x88/0x400 [drm_kms_helper] initial_ config+ 0x19/0x30 [i915] entry_fn+ 0x49/0x170 one_work+ 0x1ae/0x410 thread+ 0x37/0x490 one_work+ 0x410/0x410 kernel_ thread+ 0x21/0x38 worker_ fn+0x130/ 0x130
[ 10.613396] WARNING: CPU: 0 PID: 89 at drivers/
[ 10.613406] vblank wait timed out on crtc 0
[ 10.613412] Modules linked in: coretemp evdev input_leds psmouse serio_raw pcspkr snd_hda_codec_hdmi snd_hda_
[ 10.613531] CPU: 0 PID: 89 Comm: kworker/u4:4 Not tainted 4.5.0-rc3-
[ 10.613540] Hardware name: Hewlett-Packard HP 550/3618, BIOS 68MVU Ver. F.02 08/20/2008
[ 10.613553] Workqueue: events_unbound async_run_entry_fn
[ 10.613560] 00000286 00000286 f478dba8 c12681cf f478dbe8 f8382c65 f478dbd8 c105502d
[ 10.613574] f8385128 f478dc04 00000059 f8382c65 000004f4 f835a620 f835a620 f441b000
[ 10.613587] 00000000 00000000 f478dbf0 c10550a3 00000009 f478dbe8 f8385128 f478dc04
[ 10.613600] Call Trace:
[ 10.613609] [<c12681cf>] dump_stack+
[ 10.613616] [<c105502d>] warn_slowpath_
[ 10.613628] [<f835a620>] ? drm_wait_
[ 10.613638] [<f835a620>] ? drm_wait_
[ 10.613645] [<c10550a3>] warn_slowpath_
[ 10.613656] [<f835a620>] drm_wait_
[ 10.613665] [<c1091cc0>] ? wake_atomic_
[ 10.613726] [<f8657452>] intel_get_
[ 10.613774] [<f869412a>] intel_tv_
[ 10.613786] [<f836eb05>] ? drm_get_
[ 10.613798] [<f8393b80>] drm_helper_
[ 10.613810] [<f83a0c88>] drm_fb_
[ 10.613854] [<f8669789>] intel_fbdev_
[ 10.613862] [<c1072539>] async_run_
[ 10.613870] [<c106ad6e>] process_
[ 10.613877] [<c106b007>] worker_
[ 10.613883] [<c106afd0>] ? process_
[ 10.613890] [<c10700cb>] kthread+0x9b/0xb0
[ 10.613899] [<c1494689>] ret_from_
[ 10.613905] [<c1070030>] ? kthread_
[ 10.613912] ---[ end trace 1da52df1c4cdc7e7 ]---