Bug 69747 - [HSW ULT]igt/kms_flip/flip-vs-panning-vs-hang-interruptible causes "unclaimed register" messages
Summary: [HSW ULT]igt/kms_flip/flip-vs-panning-vs-hang-interruptible causes "unclaimed...
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: All Linux (All)
: medium normal
Assignee: Paulo Zanoni
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-09-24 08:01 UTC by lu hua
Modified: 2017-10-06 14:42 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg (122.80 KB, text/plain)
2013-09-24 08:01 UTC, lu hua
no flags Details
Fix (2.71 KB, patch)
2013-11-01 15:31 UTC, Paulo Zanoni
no flags Details | Splinter Review

Description lu hua 2013-09-24 08:01:11 UTC
Created attachment 86433 [details]
dmesg

System Environment:
--------------------------
Platform:  Haswell ULT
Kernel: (drm-intel-next-queued)1b068ee25776533074251f1c6276c5f720c0284b

Bug detailed description:
-----------------------------
It causes <3>[  326.885041] [drm:intel_uncore_check_errors] *ERROR* Unclaimed register before interrupt. It happens on haswell ULT with -queued,-fixes and -nightly kernel. I can't find out a good commit.

output:
Using monotonic timestamps
Beginning flip-vs-panning-vs-hang-interruptible on crtc 3, connector 10
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
...
flip-vs-panning-vs-hang-interruptible on crtc 3, connector 10: PASSED

Beginning flip-vs-panning-vs-hang-interruptible on crtc 5, connector 10
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
...
flip-vs-panning-vs-hang-interruptible on crtc 5, connector 10: PASSED

Beginning flip-vs-panning-vs-hang-interruptible on crtc 7, connector 10
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
...
flip-vs-panning-vs-hang-interruptible on crtc 7, connector 10: PASSED

Subtest flip-vs-panning-vs-hang-interruptible: SUCCESS

Reproduce steps:
----------------------------
1. ./kms_flip --run-subtest flip-vs-panning-vs-hang-interruptible
Comment 1 Daniel Vetter 2013-09-24 11:03:17 UTC
Can you please test what happens if you don't enable the audio driver?
Comment 2 lu hua 2013-09-26 08:34:20 UTC
(In reply to comment #1)
> Can you please test what happens if you don't enable the audio driver?

Daniel, How can I disable the audio driver? Thanks.
Comment 3 Daniel Vetter 2013-09-26 08:44:59 UTC
Build a kernel with CONFIG_SOUND=n Of course you need to do that only temporarily and not for the default builds ;-)
Comment 4 lu hua 2013-09-27 03:45:14 UTC
(In reply to comment #1)
> Can you please test what happens if you don't enable the audio driver?

Disable audio driver, It still happens.
Comment 5 Paulo Zanoni 2013-10-08 19:53:34 UTC
We get those interrupts because we're reading registers that are on the disabled power well when we are at the function that collects data for the error state file.

I sent a patch fixing this a long ago, but Daniel Denied it.

If we fix the GPU hang, the problem will go away.
Comment 6 Daniel Vetter 2013-10-08 19:55:12 UTC
(In reply to comment #5)
> We get those interrupts because we're reading registers that are on the
> disabled power well when we are at the function that collects data for the
> error state file.
> 
> I sent a patch fixing this a long ago, but Daniel Denied it.
> 
> If we fix the GPU hang, the problem will go away.

Hm, which register access where?
Comment 7 Paulo Zanoni 2013-10-08 20:07:13 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > We get those interrupts because we're reading registers that are on the
> > disabled power well when we are at the function that collects data for the
> > error state file.
> > 
> > I sent a patch fixing this a long ago, but Daniel Denied it.
> > 
> > If we fix the GPU hang, the problem will go away.
> 
> Hm, which register access where?

All the I915_READ(something) calls at intel_display_capture_error_state().
Comment 8 Paulo Zanoni 2013-10-31 19:46:52 UTC
Changing the bug title because even if we fix the "unclaimed register" error message, the GPU hang will still bite us.

Also, I already sent a patch for the "unclaimed register" error a long time ago and it got denied, so I'm not sure what to do :)
Comment 9 Paulo Zanoni 2013-10-31 19:50:10 UTC
(In reply to comment #0)
> Created attachment 86433 [details]
> dmesg
> 
> System Environment:
> --------------------------
> Platform:  Haswell ULT
> Kernel: (drm-intel-next-queued)1b068ee25776533074251f1c6276c5f720c0284b
> 
> Bug detailed description:
> -----------------------------
> It causes <3>[  326.885041] [drm:intel_uncore_check_errors] *ERROR*
> Unclaimed register before interrupt. It happens on haswell ULT with
> -queued,-fixes and -nightly kernel. I can't find out a good commit.
> 
> output:
> Using monotonic timestamps
> Beginning flip-vs-panning-vs-hang-interruptible on crtc 3, connector 10
>   1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
> ...
> flip-vs-panning-vs-hang-interruptible on crtc 3, connector 10: PASSED
> 
> Beginning flip-vs-panning-vs-hang-interruptible on crtc 5, connector 10
>   1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
> ...
> flip-vs-panning-vs-hang-interruptible on crtc 5, connector 10: PASSED
> 
> Beginning flip-vs-panning-vs-hang-interruptible on crtc 7, connector 10
>   1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
> ...
> flip-vs-panning-vs-hang-interruptible on crtc 7, connector 10: PASSED
> 
> Subtest flip-vs-panning-vs-hang-interruptible: SUCCESS
> 
> Reproduce steps:
> ----------------------------
> 1. ./kms_flip --run-subtest flip-vs-panning-vs-hang-interruptible

Can you please reproduce the bug again and attach the error state?

Whenever you see a dmesg with "[  158.798928] [drm] capturing error event; look for more information in /sys/class/drm/card0/error", please attach the error state.

Thanks,
Paulo
Comment 10 Paulo Zanoni 2013-10-31 20:48:26 UTC
(In reply to comment #9)
> (In reply to comment #0)
> > Created attachment 86433 [details]
> > dmesg
> > 
> > System Environment:
> > --------------------------
> > Platform:  Haswell ULT
> > Kernel: (drm-intel-next-queued)1b068ee25776533074251f1c6276c5f720c0284b
> > 
> > Bug detailed description:
> > -----------------------------
> > It causes <3>[  326.885041] [drm:intel_uncore_check_errors] *ERROR*
> > Unclaimed register before interrupt. It happens on haswell ULT with
> > -queued,-fixes and -nightly kernel. I can't find out a good commit.
> > 
> > output:
> > Using monotonic timestamps
> > Beginning flip-vs-panning-vs-hang-interruptible on crtc 3, connector 10
> >   1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
> > ...
> > flip-vs-panning-vs-hang-interruptible on crtc 3, connector 10: PASSED
> > 
> > Beginning flip-vs-panning-vs-hang-interruptible on crtc 5, connector 10
> >   1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
> > ...
> > flip-vs-panning-vs-hang-interruptible on crtc 5, connector 10: PASSED
> > 
> > Beginning flip-vs-panning-vs-hang-interruptible on crtc 7, connector 10
> >   1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
> > ...
> > flip-vs-panning-vs-hang-interruptible on crtc 7, connector 10: PASSED
> > 
> > Subtest flip-vs-panning-vs-hang-interruptible: SUCCESS
> > 
> > Reproduce steps:
> > ----------------------------
> > 1. ./kms_flip --run-subtest flip-vs-panning-vs-hang-interruptible
> 
> Can you please reproduce the bug again and attach the error state?
> 
> Whenever you see a dmesg with "[  158.798928] [drm] capturing error event;
> look for more information in /sys/class/drm/card0/error", please attach the
> error state.

Ignore that. Daniel just explained this test is supposed to hang the gpu... My bad.
Comment 11 Paulo Zanoni 2013-11-01 15:31:00 UTC
Created attachment 88483 [details] [review]
Fix

Hi

Can you please confirm this patch fixes the bug? It works for me.

Thanks,
Paulo
Comment 12 Daniel Vetter 2013-11-01 20:37:21 UTC
commit 9d1cb9147dbe45f6e94dc796518ecf67cb64b359
Author: Paulo Zanoni <paulo.r.zanoni@intel.com>
Date:   Fri Nov 1 13:32:08 2013 -0200

    drm/i915: avoid unclaimed registers when capturing the error state
Comment 13 lu hua 2013-11-05 07:56:26 UTC
Verified.Fixed.
Comment 14 Elizabeth 2017-10-06 14:42:54 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.