Bug 89932

Summary: [SKL]igt/kms_flip/absolute-wf_vblank sporadically causes WARNING: CPU: 2 PID: 0 at drivers/gpu/drm/i915/intel_display.c:10177 intel_check_page_flip+0xa6/0xc1 [i915](
Product: DRI Reporter: lu hua <huax.lu>
Component: DRM/IntelAssignee: cprigent <christophe.prigent>
Status: CLOSED WORKSFORME QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: christophe.prigent, intel-gfx-bugs
Version: unspecified   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: SKL i915 features: display/Other
Attachments:
Description Flags
dmesg
none
Perform stall check after handling flip done interrupt
none
piglit json results none

Description lu hua 2015-04-07 06:01:33 UTC
Created attachment 114907 [details]
dmesg

==System Environment==
--------------------------
Regression: not sure

Non-working platforms: SKL

==kernel==
--------------------------
drm-intel-nightly/333cf6eed7cae0ee2d6bb1b4c4d421b94f84fc13
commit 333cf6eed7cae0ee2d6bb1b4c4d421b94f84fc13
Author: Jani Nikula <jani.nikula@intel.com>
Date:   Thu Apr 2 11:38:12 2015 +0300

    drm-intel-nightly: 2015y-04m-02d-08h-37m-57s UTC integration manifest

==Bug detailed description==
-----------------------------
Run 3 rounds, it happens 1 round.
kms_flip@flip-vs-modeset-vs-hang-interruptible 
kms_flip@flip-vs-panning-vs-hang-interruptible
kms_flip@vblank-vs-hang-interruptible
kms_flip@wf_vblank

output:
IGT-Version: 1.10-g43a1f64 (x86_64) (Linux: 4.0.0-rc6_drm-intel-nightly_333cf6_20150403+ x86_64)
Using monotonic timestamps
Beginning absolute-wf_vblank on crtc 20, connector 34
  3200x1800 60 3200 3248 3280 3316 1800 1802 1807 1816 0xa 0x48 361310
............................................................
absolute-wf_vblank on crtc 20, connector 34: PASSED

Beginning absolute-wf_vblank on crtc 25, connector 34
  3200x1800 60 3200 3248 3280 3316 1800 1802 1807 1816 0xa 0x48 361310
.............................................................
absolute-wf_vblank on crtc 25, connector 34: PASSED

Beginning absolute-wf_vblank on crtc 30, connector 34
  3200x1800 60 3200 3248 3280 3316 1800 1802 1807 1816 0xa 0x48 361310
.............................................................
absolute-wf_vblank on crtc 30, connector 34: PASSED

Subtest absolute-wf_vblank: SUCCESS (34.163s)

[   45.191531] WARNING: CPU: 2 PID: 0 at drivers/gpu/drm/i915/intel_display.c:10177 intel_check_page_flip+0xa6/0xc1 [i915]()
[   45.191536] Kicking stuck page flip: queued at 1, now 5
[   45.191539] Modules linked in: dm_mod snd_hda_codec_realtek snd_hda_codec_generic ppdev snd_hda_intel snd_hda_controller snd_hda_codec snd_hda_core snd_hwdep pcspkr snd_pcm s
nd_timer snd soundcore i2c_i801 wmi battery parport_pc parport ac acpi_cpufreq i915 button video drm_kms_helper drm
[   45.191576] CPU: 2 PID: 0 Comm: swapper/2 Not tainted 4.0.0-rc6_drm-intel-nightly_333cf6_20150403+ #196
[   45.191580] Hardware name: Intel Corporation Skylake Client platform/Skylake Y LPDDR3 RVP3, BIOS SKLSE2R1.86C.B067.R00.1412310711 12/31/2014
[   45.191584]  0000000000000000 0000000000000009 ffffffff817950c6 ffff88014e483e18
[   45.191591]  ffffffff8103bcf8 ffff88014427c9a0 ffffffffa00d44f1 0000000000000002
[   45.191596]  ffff88014427c800 ffff88009baed000 0000000000000001 0000000000000001
[   45.191602] Call Trace:
[   45.191606]  <IRQ>  [<ffffffff817950c6>] ? dump_stack+0x40/0x50
[   45.191626]  [<ffffffff8103bcf8>] ? warn_slowpath_common+0x98/0xb0
[   45.191659]  [<ffffffffa00d44f1>] ? intel_check_page_flip+0xa6/0xc1 [i915]
[   45.191667]  [<ffffffff8103bd55>] ? warn_slowpath_fmt+0x45/0x4a
[   45.191703]  [<ffffffffa00c4b2d>] ? __intel_pageflip_stall_check+0xaf/0xd8 [i915]
[   45.191734]  [<ffffffffa00d44f1>] ? intel_check_page_flip+0xa6/0xc1 [i915]
[   45.191771]  [<ffffffffa00ab610>] ? gen8_irq_handler+0x1fb/0x345 [i915]
[   45.191778]  [<ffffffff81071d29>] ? handle_irq_event_percpu+0x34/0x15b
[   45.191784]  [<ffffffff81081f22>] ? update_wall_time+0x524/0x53d
[   45.191790]  [<ffffffff81071e7e>] ? handle_irq_event+0x2e/0x4c
[   45.191796]  [<ffffffff810743c7>] ? handle_edge_irq+0xba/0xcf
[   45.191802]  [<ffffffff810042f8>] ? handle_irq+0x15/0x1d
[   45.191808]  [<ffffffff81003dbc>] ? do_IRQ+0x41/0xc0
[   45.191814]  [<ffffffff8179b42a>] ? common_interrupt+0x6a/0x6a
[   45.191816]  <EOI>  [<ffffffff816aded8>] ? cpuidle_enter_state+0x71/0x11e
[   45.191869]  [<ffffffff816adebc>] ? cpuidle_enter_state+0x55/0x11e
[   45.191879]  [<ffffffff81065324>] ? cpu_startup_entry+0x1f7/0x34d
[   45.191884] ---[ end trace abc623aeca530d81 ]---


==Reproduce steps==
---------------------------- 
1. dmesg -r|egrep "<[1-4]>"|grep drm
Comment 1 Ander Conselvan de Oliveira 2015-06-24 13:23:57 UTC
Created attachment 116695 [details] [review]
Perform stall check after handling flip done interrupt

Could you please give this patch a try?
Comment 2 lu hua 2015-07-03 00:38:32 UTC
Christophe,
Would you please test this patch.
Comment 3 cprigent 2015-08-03 22:07:43 UTC
Assigned to me.
Comment 4 maria guadalupe 2016-04-20 20:50:15 UTC
Created attachment 123097 [details]
piglit json results

This test keeps failing on skl with the latest configuration : 

Software configuration
=======================
Linux distribution: Ubuntu 15.10 64 bits
Kernel: drm-intel-nightly 4.6.0-rc3_d9131d6 from http://cgit.freedesktop.org/drm-intel/
commit d9131d62d18ba94fb3ca019f1156c22b5f4ce23c
Author: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Date:   Fri Apr 15 14:54:26 2016 +0100
drm-intel-nightly: 2016y-04m-15d-13h-53m-44s UTC integration manifestdrm: tag libdrm-2.4.66-33-gf884af9
      libdrm 2.4.67-25 cc9a53f from git://git.freedesktop.org/git/mesa/drm
mesa 11.1.2 7bcd827 from git://git.freedesktop.org/git/mesa/mesa
cairo 1.15.2 db8a7f1 from git://git.freedesktop.org/git/cairo
xorg/xserver 1.18.0-274 8437955 from git://git.freedesktop.org/git/xorg/xserver
xf86-video-intel 2.99.917-634 81029be from git://git.freedesktop.org/git/xorg/driver/xf86-video-intel
vaapi/libva 1.7.0-1 2339d10 from git://git.freedesktop.org/git/vaapi/libva
vaapi/intel-driver 1.7.0-8 2c1bec0 from git://git.freedesktop.org/git/vaapi/intel-driver
intel-gpu-tool 1.14 7bd2ac6 from http://anongit.freedesktop.org/git/xorg/app/intel-gpu-tools.git
rendercheck master 44032a7 from http://anongit.freedesktop.org/git/xorg/app/rendercheck.git

test output
==============

igt@kms_flip@wf_vblank	--------------------------------> dmesg-warn
igt@kms_flip@wf_vblank-interruptible -------------------> dmesg-warn
igt@kms_flip@wf_vblank-ts-check-interruptible-----------> dmesg-warn
igt@kms_flip@flip-vs-modeset-vs-hang-interruptible------> dmesg-fail
igt@kms_flip@wf_vblank-vs-modeset-interruptible---------> dmesg-warn
igt@kms_flip@wf_vblank-vs-dpms--------------------------> dmesg-warn
igt@kms_flip@wf_vblank-vs-dpms-interruptible------------> dmesg-warn
igt@kms_flip@wf_vblank-vs-modeset-----------------------> dmesg-warn
igt@kms_flip@flip-vs-panning-vs-hang-interruptible------> dmesg-fail
igt@kms_flip@vblank-vs-hang-interruptible---------------> dmesg-fail
igt@kms_flip@wf_vblank-ts-check-------------------------> dmesg-warn


Attached json file with piglit results.
Comment 5 cprigent 2016-10-11 10:53:12 UTC
I don't reproduce it.
Kernel log does not show "WARNING: CPU: 2 PID: 0 at drivers/gpu/drm/i915/intel_display.c:10177 intel_check_page_flip+0xa6/0xc1"

Platform SKL Skull Canyon: NUC6i7KYK
CPU: IntelĀ® Core(TM) i7-6770HQ CPU @ 2.6GHz (family 6, model 94, stepping 3)
GPU: IntelĀ® IrisTM Pro Graphics 580 - Intel Corporation Sky Lake Integrated Graphics (rev 09)
Motherboard version: H90766-405
Memory: 2 x 4GB card Kingston KVR21S15S8/4

Software
Bios: KYSKLi70.86A.0041.2016.0817.1130 from https://downloadcenter.intel.com/downloads/eula/26210/BIOS-Update-KYSKLi70-86A-?httpDown=https%3A%2F%2Fdownloadmirror.intel.com%2F26210%2Feng%2FKY0041.bio
Linux distribution: Ubuntu 16.04 64 bits
DMC 1.26 from https://01.org/sites/default/files/downloads/intelr-graphics-linux/skldmcver126.tar_1.bz2
GUC 6.1 from https://01.org/sites/default/files/downloads/intelr-graphics-linux/sklgucver61.tar.bz2

External screens: ASUS PB287Q (DP), DELL P2715Qt (HDMI)
Kernel: 4.8.0 f35ed31 from http://cgit.freedesktop.org/drm-intel/
  commit f35ed31aea66b3230c366fcba5f3456ae2cb956e
  Author: Jani Nikula <jani.nikula@intel.com>
  Date:   Mon Oct 10 14:29:09 2016 +0300
  drm-intel-nightly: 2016y-10m-10d-11h-28m-51s UTC integration manifest
libdrm-2.4.71 a44c9c3 from git://anongit.freedesktop.org/mesa/drm
mesa: mesa-12.0.0 8b06176 from git://anongit.freedesktop.org/mesa/mesa
cairo 1.15.2 db8a7f1 from git://anongit.freedesktop.org/cairo
xorg-server-1.18.99.901-76 97a8353 from git://git.freedesktop.org/git/xorg/xserver
xf86-video-intel 2.99.917-712 696f58f from git://git.freedesktop.org/git/xorg/driver/xf86-video-intel
libva-1.7.2-38 3b7e499 from git://git.freedesktop.org/git/vaapi/libva 
vaapi-intel-driver: 1.7.2-133 dd73514 from git://git.freedesktop.org/git/vaapi/intel-driver
IGT: intel-gpu-tools-1.16-59 48a9e1e from http://anongit.freedesktop.org/git/xorg/app/intel-gpu-tools.git
Comment 6 cprigent 2016-10-11 10:53:23 UTC
So closed

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.