Bug 88911 - [ILK]igt/drv_suspend/sysfs-reader cause dmesg warn.
Summary: [ILK]igt/drv_suspend/sysfs-reader cause dmesg warn.
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: DRI git
Hardware: Other All
: medium normal
Assignee: Mika Kuoppala
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
: 88913 88935 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-02-02 07:35 UTC by Ding Heng
Modified: 2017-09-04 10:28 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg for case igt/drv_suspend/sysfs-reader (62.04 KB, text/plain)
2015-02-02 07:35 UTC, Ding Heng
no flags Details
drm/i915: Take runtime pm reference on hangcheck_info (1.74 KB, patch)
2015-02-03 16:22 UTC, Mika Kuoppala
no flags Details | Splinter Review
drm/i915: Squelch overzealous uncore reset WARN_ON (1.10 KB, patch)
2015-02-03 18:06 UTC, Mika Kuoppala
no flags Details | Splinter Review

Description Ding Heng 2015-02-02 07:35:55 UTC
Created attachment 113037 [details]
dmesg for case igt/drv_suspend/sysfs-reader

==System Environment==
--------------------------
Regression: yes
Non-working platforms:  ILK
==kernel==
--------------------------
drm-intel-nightly/8b4216f91c7bf8d3459cadf9480116220bd6545e(2015-02-02)


==Bug detailed description==
-----------------------------
check dmesg after run this case.
dmesg -r|egrep "<[1-4]>"|grep drm
<4>[    1.415809] WARNING: CPU: 3 PID: 1219 at drivers/gpu/drm/i915/intel_uncore.c:169 intel_uncore_forcewake_reset+0x18b/0x27e [i915]()
<4>[    1.416176]  i915(+) button video drm_kms_helper drm cfbfillrect cfbimgblt cfbcopyarea
<4>[    1.416178] CPU: 3 PID: 1219 Comm: udevd Not tainted 3.19.0-rc6_drm-intel-nightly_8b4216_20150202+ #126
<4>[    1.416338]  [<ffffffffa00135ac>] ? drm_dev_register+0x74/0xe6 [drm]
<4>[    1.416344]  [<ffffffffa0015952>] ? drm_get_pci_dev+0xf7/0x1b2 [drm]
<4>[  100.666822] WARNING: CPU: 2 PID: 3798 at drivers/gpu/drm/i915/intel_uncore.c:169 intel_uncore_forcewake_reset+0x18b/0x27e [i915]()
<4>[  100.666838] Modules linked in: ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack ipt_REJECT nf_reject_ipv4 iptable_mangle xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc ipv6 dm_mod snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic iTCO_wdt iTCO_vendor_support ppdev dcdbas serio_raw pcspkr i2c_i801 snd_hda_intel snd_hda_controller snd_hda_codec snd_hwdep snd_pcm wmi snd_timer lpc_ich mfd_core snd soundcore parport_pc parport tpm_tis tpm acpi_cpufreq i915 button video drm_kms_helper drm cfbfillrect cfbimgblt cfbcopyarea
<4>[  100.666841] CPU: 2 PID: 3798 Comm: kworker/u16:13 Tainted: G        W      3.19.0-rc6_drm-intel-nightly_8b4216_20150202+ #126
<4>[  100.666885]  [<ffffffffa00858dd>] ? i915_drm_suspend+0x17d/0x1b3 [i915]
<4>[  101.073540] WARNING: CPU: 1 PID: 3826 at drivers/gpu/drm/i915/intel_uncore.c:169 intel_uncore_forcewake_reset+0x18b/0x27e [i915]()
<4>[  101.073557] Modules linked in: ip6table_filter ip6_tables ebtable_nat ebtables nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack ipt_REJECT nf_reject_ipv4 iptable_mangle xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc ipv6 dm_mod snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic iTCO_wdt iTCO_vendor_support ppdev dcdbas serio_raw pcspkr i2c_i801 snd_hda_intel snd_hda_controller snd_hda_codec snd_hwdep snd_pcm wmi snd_timer lpc_ich mfd_core snd soundcore parport_pc parport tpm_tis tpm acpi_cpufreq i915 button video drm_kms_helper drm cfbfillrect cfbimgblt cfbcopyarea
<4>[  101.073560] CPU: 1 PID: 3826 Comm: kworker/u16:41 Tainted: G        W      3.19.0-rc6_drm-intel-nightly_8b4216_20150202+ #126
<4>[  101.073606]  [<ffffffffa00863a3>] ? i915_drm_resume_early+0x94/0x94 [i915]
<4>[  101.073623]  [<ffffffffa008636c>] ? i915_drm_resume_early+0x5d/0x94 [i915]

the following cases have the similar dmesg, and bisect result were the same.
igt/drv_suspend/sysfs-reader 
igt/drv_suspend/forcewake 
igt/drv_suspend/fence-restore-untiled 
igt/drv_suspend/fence-restore-tiled2untiled 
igt/drv_suspend/debugfs-reader 
==Reproduce steps==
---------------------------- 
1. ./drv_suspend --run-subtest sysfs-reader
Comment 1 Ding Heng 2015-02-02 07:36:59 UTC
f9b3927afbb97649f5c89f0815820167b7c5cba8 is the first bad commit.
commit f9b3927afbb97649f5c89f0815820167b7c5cba8
Author:     Mika Kuoppala <mika.kuoppala@linux.intel.com>
AuthorDate: Wed Jan 28 14:43:24 2015 +0200
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Fri Jan 30 17:15:31 2015 +0100

    drm/i915: Do uncore early sanitize after domain init
    
    intel_uncore_early_sanitize() will reset the forcewake registers. When
    forcewake domains were introduced, the domain init was done after the
    sanitization of the forcewake registers. And as the resetting of
    registers use the domain accessors, we tried to reset the forcewake
    registers with unitialized forcewake domains and failed.
    
    Fix this by sanitizing after all the domains have been initialized. Do
    per domain clearing of forcewake register on domain init so that
    IVB can do early access to ECOBUS do determine the final configuration.
    
    This regression was introduced in
    
    commit 05a2fb157e44a53c79133805d30eaada43911941
    Author: Mika Kuoppala <mika.kuoppala@linux.intel.com>
    Date:   Mon Jan 19 16:20:43 2015 +0200
    
        drm/i915: Consolidate forcewake code
    
    v2: Carve out ellc detect, fw_domain_reset for ivb/ecobus (Chris)
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88805
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Reported-by: Olof Johansson <olof@lixom.net>
    Tested-by: Darren Hart <dvhart@linux.intel.com> (v1)
    Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
    Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Comment 2 Jani Nikula 2015-02-03 12:47:44 UTC
Please always assgign bisected regressions to author of bad commit. Done now.
Comment 3 Mika Kuoppala 2015-02-03 16:22:58 UTC
Created attachment 113123 [details] [review]
drm/i915: Take runtime pm reference on hangcheck_info
Comment 4 Mika Kuoppala 2015-02-03 18:04:01 UTC
*** Bug 88913 has been marked as a duplicate of this bug. ***
Comment 5 Mika Kuoppala 2015-02-03 18:06:04 UTC
Created attachment 113130 [details] [review]
drm/i915: Squelch overzealous uncore reset WARN_ON
Comment 6 Mika Kuoppala 2015-02-03 18:40:49 UTC
*** Bug 88935 has been marked as a duplicate of this bug. ***
Comment 7 Ding Heng 2015-02-04 05:10:31 UTC
This patch has been tested on commit 8b4216f91c7bf8d3459cadf9480116220bd6545e.
change state to verified.
Comment 8 Ding Heng 2015-02-04 06:13:35 UTC
When test with DP monitor, I will get following dmesg every time.
dmesg -r|egrep "<[1-4]>"|grep drm
<4>[   42.560904] WARNING: CPU: 3 PID: 4124 at drivers/gpu/drm/drm_irq.c:1129 drm_wait_one_vblank+0x2c/0x131 [drm]()
<4>[   42.560928] Modules linked in: snd_hda_codec_hdmi snd_hda_codec_idt snd_hda_codec_generic iTCO_wdt iTCO_vendor_support dm_mod ppdev dcdbas i8k pcspkr i2c_i801 lpc_ich mfd_core firewire_ohci snd_hda_intel snd_hda_controller snd_hda_codec bcma snd_hwdep snd_pcm firewire_core snd_timer crc_itu_t snd soundcore wmi battery parport_pc parport tpm_tis tpm ac acpi_cpufreq joydev i915 button video drm_kms_helper drm
<4>[   42.560978]  [<f804d313>] ? drm_wait_one_vblank+0x2c/0x131 [drm]
<4>[   42.560993]  [<f804d313>] ? drm_wait_one_vblank+0x2c/0x131 [drm]
<4>[   42.561218]  [<f856f751>] ? i915_drm_suspend+0xb5/0x188 [i915]
<4>[   97.100640] WARNING: CPU: 0 PID: 6 at drivers/gpu/drm/drm_irq.c:1129 drm_wait_one_vblank+0x2c/0x131 [drm]()
<4>[   97.100666] Modules linked in: snd_hda_codec_hdmi snd_hda_codec_idt snd_hda_codec_generic iTCO_wdt iTCO_vendor_support dm_mod ppdev dcdbas i8k pcspkr i2c_i801 lpc_ich mfd_core firewire_ohci snd_hda_intel snd_hda_controller snd_hda_codec bcma snd_hwdep snd_pcm firewire_core snd_timer crc_itu_t snd soundcore wmi battery parport_pc parport tpm_tis tpm ac acpi_cpufreq joydev i915 button video drm_kms_helper drm
<4>[   97.100700]  [<f804d313>] ? drm_wait_one_vblank+0x2c/0x131 [drm]
<4>[   97.100709]  [<f804d313>] ? drm_wait_one_vblank+0x2c/0x131 [drm]
<4>[   97.100850]  [<f856f751>] ? i915_drm_suspend+0xb5/0x188 [i915]
Comment 9 Jani Nikula 2015-02-04 10:18:36 UTC
(In reply to Ding Heng from comment #7)
> This patch has been tested on commit
> 8b4216f91c7bf8d3459cadf9480116220bd6545e.
> change state to verified.

As far as I can tell, the patch has not been applied upstream yet. We keep bugs open until the fixes have been merged. Verification is done on drm-intel-nightly with *no* patches applied.

(In reply to Ding Heng from comment #8)
> When test with DP monitor, I will get following dmesg every time.
> dmesg -r|egrep "<[1-4]>"|grep drm
> <4>[   42.560904] WARNING: CPU: 3 PID: 4124 at
> drivers/gpu/drm/drm_irq.c:1129 drm_wait_one_vblank+0x2c/0x131 [drm]()

Different bug.
Comment 10 Jani Nikula 2015-02-09 12:37:05 UTC
commit 3225b2f95dbb9981be9e2002e49cd8abf0d8d01a
Author: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Date:   Thu Feb 5 17:45:42 2015 +0200

    drm/i915: Squelch overzealous uncore reset WARN_ON

in drm-intel-next-fixes
Comment 11 Ding Heng 2015-02-10 02:43:47 UTC
(In reply to Jani Nikula from comment #10)
> commit 3225b2f95dbb9981be9e2002e49cd8abf0d8d01a
Author: Mika Kuoppala
> <mika.kuoppala@linux.intel.com>
Date:   Thu Feb 5 17:45:42 2015 +0200

   
> drm/i915: Squelch overzealous uncore reset WARN_ON

in drm-intel-next-fixes

Verified on this commit. Change state to verified.
Comment 12 Jari Tahvanainen 2017-09-04 10:28:55 UTC
Closing old verified+fixed.


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.