Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750962AbdL3Joh (ORCPT ); Sat, 30 Dec 2017 04:44:37 -0500 Received: from mx2.suse.de ([195.135.220.15]:48285 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750841AbdL3Jof (ORCPT ); Sat, 30 Dec 2017 04:44:35 -0500 Date: Sat, 30 Dec 2017 10:44:32 +0100 (CET) From: Jiri Kosina To: Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Chris Wilson , Daniel Vetter cc: intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: Re: Graphics on thinkpad x270 after dock/undock works only for the first time (CPU pipe B FIFO underrun) In-Reply-To: Message-ID: References: User-Agent: Alpine 2.21 (LSU 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4241 Lines: 55 On Fri, 29 Dec 2017, Jiri Kosina wrote: > When I dock my thinkpad x270 [1] and run xrandr --auto, image correctly > appears on external display. > > After undocking and docking again, the image on external display doesn't > appear any more, and this pops up in dmesg > > [drm:intel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun > > After restarting X (no need to reboot), I am able to dock again and get > image on external display. > > I don't think this is a regression, I tried a few older kernels up to > something around 4.11, and nothing worked. > > In case any more information is needed to debug this, please let me know, > I'll happily provide it. Seems like disabling RC6 on the kernel command line works this around, and I can dock / undock several times in a row with the image always coming up properly on the external display. On the first undock, the WARN_ONCE() below triggers, so I believe each undock leaks memory. [ 38.755084] Failed to release pages: bind_count=1, pages_pin_count=1, pin_global=0 [ 38.755138] WARNING: CPU: 3 PID: 96 at ../drivers/gpu/drm/i915/i915_gem_userptr.c:89 cancel_userptr+0xe5/0xf0 [i915] [ 38.755140] Modules linked in: ccm fuse af_packet tun ip6table_mangle nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables iptable_mangle xt_DSCP xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack libcrc32c bnep iptable_filter ip_tables x_tables msr dm_crypt algif_skcipher af_alg uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_core videodev btusb btrtl btbcm btintel bluetooth ecdh_generic snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic snd_soc_skl snd_soc_skl_ipc snd_hda_ext_core snd_soc_sst_dsp snd_soc_sst_ipc snd_soc_acpi snd_soc_core snd_compress snd_pcm_dmaengine arc4 intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel pcbc nls_iso8859_1 nls_cp437 [ 38.755167] vfat fat iwlmvm iTCO_wdt iTCO_vendor_support wmi_bmof intel_wmi_thunderbolt mac80211 snd_hda_intel snd_hda_codec snd_hda_core snd_hwdep snd_pcm snd_timer aesni_intel aes_x86_64 crypto_simd glue_helper cryptd thinkpad_acpi iwlwifi snd e1000e rtsx_pci_ms cfg80211 ptp memstick joydev mei_me soundcore i2c_i801 tpm_crb pps_core shpchp pcspkr intel_pch_thermal wmi thermal rfkill mei battery ac tpm_tis tpm_tis_core tpm acpi_pad rtsx_pci_sdmmc mmc_core xhci_pci serio_raw xhci_hcd i915 video i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops rtsx_pci usbcore button drm sg dm_multipath dm_mod scsi_dh_rdac scsi_dh_emc scsi_dh_alua efivarfs [ 38.755198] CPU: 3 PID: 96 Comm: kworker/u8:1 Tainted: G U 4.15.0-rc5-1.g9fcc9f1-default #1 [ 38.755199] Hardware name: LENOVO 20K5S22R00/20K5S22R00, BIOS R0IET38W (1.16 ) 05/31/2017 [ 38.755228] Workqueue: i915-userptr-release cancel_userptr [i915] [ 38.755245] RIP: 0010:cancel_userptr+0xe5/0xf0 [i915] [ 38.755246] RSP: 0018:ffffb92e41073e80 EFLAGS: 00010282 [ 38.755248] RAX: 0000000000000046 RBX: ffff9d0d742a4600 RCX: 0000000000000006 [ 38.755249] RDX: 0000000000000007 RSI: 0000000000000086 RDI: ffff9d0daf58f190 [ 38.755250] RBP: ffff9d0d742a47a8 R08: 0000000000000000 R09: 0000000000000334 [ 38.755251] R10: 0000000000000000 R11: ffffffff992d6aed R12: 0000000000000000 [ 38.755252] R13: 0000000000000000 R14: 0ffff9d0d07c1c70 R15: ffff9d0da3d58540 [ 38.755254] FS: 0000000000000000(0000) GS:ffff9d0daf580000(0000) knlGS:0000000000000000 [ 38.755255] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 38.755256] CR2: 00007ff861a41c38 CR3: 000000017cc09004 CR4: 00000000003606e0 [ 38.755257] Call Trace: [ 38.755264] process_one_work+0x1de/0x410 [ 38.755267] worker_thread+0x2b/0x3d0 [ 38.755269] ? process_one_work+0x410/0x410 [ 38.755270] kthread+0x111/0x130 [ 38.755272] ? kthread_create_worker_on_cpu+0x50/0x50 [ 38.755275] ret_from_fork+0x24/0x30 [ 38.755277] Code: 92 4f ff ff eb c4 8b 93 c8 01 00 00 8b 8b a4 01 00 00 48 c7 c7 70 25 5e c0 8b b3 9c 01 00 00 c6 05 84 d5 14 00 01 e8 6b f9 b6 d7 <0f> ff eb b7 0f 1f 80 00 00 00 00 0f 1f 44 00 00 41 57 41 56 ba -- Jiri Kosina SUSE Labs