Bug 87347

Summary: [BSW]175 igt/kms_flip cases and 41 igt/pm_rpm cases sporadically cause: "*ERROR* The master control interrupt lied (PM)!"
Product: DRI Reporter: lu hua <huax.lu>
Component: DRM/IntelAssignee: Imre Deak <imre.deak>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: critical    
Priority: highest CC: imre.deak, intel-gfx-bugs, ville.syrjala
Version: unspecified   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg
none
avoid spurious PM interrupts none

Description lu hua 2014-12-16 02:22:11 UTC
Created attachment 110887 [details]
dmesg

==System Environment==
--------------------------
Regression: Yes
good commit: 372ee59699d9704086dadb084209542d10e28851
bad commit: a505177768ef542012b031575ef919371b8a7b3b

Non-working platforms: BSW

==kernel==
--------------------------
drm-intel-next-queued/a505177768ef542012b031575ef919371b8a7b3b
drm-intel-nightly/b4c22753430d6d71438bc861695e08732f5b947f
drm-intel-fixes/b0616c5306b342ceca07044dbc4f917d95c4f825

==Bug detailed description==
--------------------------
It causes [   90.286286] [drm:gen8_gt_irq_handler.isra.15 [i915]] *ERROR* The master control interrupt lied (PM)! on BSW with drm-intel-nightly and drm-intel-next-queued ernel. It has bug 85908 on drm-intel-fixes kernel.

run ./pm_rpm --run-subtest cursor
output:
IGT-Version: 1.9-g6262f35 (x86_64) (Linux: 3.18.0_drm-intel-nightly_b4c227_20141215+ x86_64)
Runtime PM support: 1
PC8 residency support: 0
Subtest cursor: SUCCESS (10.132s)


==Reproduce steps==
---------------------------- 
1. ./pm_rpm --run-subtest cursor
Comment 1 lu hua 2014-12-26 05:44:35 UTC
Many kms_flip sub case also have this issue.
oot@x-bsw01:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./kms_flip --run-subtest vblank-vs-modeset-rpm-interruptible
IGT-Version: 1.9-geb799b2 (x86_64) (Linux: 3.18.0-rc7_drm-intel-next-queued_140fd3_20141226+ x86_64)
Using monotonic timestamps
Beginning vblank-vs-modeset-rpm-interruptible on crtc 8, connector 29
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
....
vblank-vs-modeset-rpm-interruptible on crtc 8, connector 29: PASSED

Beginning vblank-vs-modeset-rpm-interruptible on crtc 13, connector 29
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
....
vblank-vs-modeset-rpm-interruptible on crtc 13, connector 29: PASSED

Subtest vblank-vs-modeset-rpm-interruptible: SUCCESS (19.434s)
root@x-bsw01:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# dmesg -r | egrep "<[1-4]>" |grep drm
<3>[  116.239469] [drm:gen8_gt_irq_handler.isra.15 [i915]] *ERROR* The master control interrupt lied (PM)!
<3>[  123.402859] [drm:gen8_gt_irq_handler.isra.15 [i915]] *ERROR* The master control interrupt lied (PM)!
<3>[  129.142029] [drm:gen8_gt_irq_handler.isra.15 [i915]] *ERROR* The master control interrupt lied (PM)!
Comment 2 lu hua 2014-12-26 06:23:57 UTC
kms_render/direct-render also has this error.
Comment 3 lu hua 2014-12-30 02:51:05 UTC
Try to bisect it, retest on 372ee59699, it also has this error.
root@x-bsw01:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./pm_rpm --run-subtest cursor
IGT-Version: 1.9-geb799b2 (x86_64) (Linux: 3.18.0-rc5_drm-intel-next-queued_372ee5_20141201+ x86_64)
Runtime PM support: 1
PC8 residency support: 0
Subtest cursor: SUCCESS (9.719s)
root@x-bsw01:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# dmesg -r | egrep "<[1-4]>" |grep drm
<3>[   64.896321] [drm:gen8_gt_irq_handler.isra.15 [i915]] *ERROR* The master control interrupt lied (PM)!
Comment 4 lu hua 2015-01-29 07:32:09 UTC
It sporadically fails, fail rate:2/4.
root@x-bsw06:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./pm_rpm --run-subtest cursor
IGT-Version: 1.9-g7848d21 (x86_64) (Linux: 3.19.0-rc6_drm-intel-nightly_70438b_20150128+ x86_64)
Runtime PM support: 1
PC8 residency support: 0
Subtest cursor: SUCCESS (15.709s)
root@x-bsw06:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# dmesg -r|egrep "<[1-4]>"|grep drm
<3>[ 1693.076072] [drm:gen8_gt_irq_handler.isra.16 [i915]] *ERROR* The master control interrupt lied (PM)!
Comment 5 wendy.wang 2015-03-10 08:04:49 UTC
Increase the severity as this bug largely impacted IGT pass rate, and we blacklist 175 kms_flip cases and 41 pm_rpm cases.
Comment 6 Imre Deak 2015-03-19 21:54:58 UTC
Created attachment 114483 [details] [review]
avoid spurious PM interrupts

Could you try the attached patch?
Comment 7 lu hua 2015-03-20 06:55:16 UTC
(In reply to Imre Deak from comment #6)
> Created attachment 114483 [details] [review] [review]
> avoid spurious PM interrupts
> 
> Could you try the attached patch?

Test this patch, run ./pm_rpm --run-subtest cursor 10 cycles and ./kms_flip --run-subtest vblank-vs-modeset-rpm-interruptible 10 cycles. This error goes away.
Comment 8 Imre Deak 2015-03-25 09:53:10 UTC
The fix is merged to -nightly.
Comment 9 lu hua 2015-03-26 06:23:21 UTC
Test on the latest -nightly kernel and igt, I don't see this error.
Verified.Fixed.
Comment 10 Elizabeth 2017-10-06 14:33:04 UTC
Closing old verified.

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.