Bug 83338 - [BYT/BDW]igt/gem_workarounds some subcases fail
Summary: [BYT/BDW]igt/gem_workarounds some subcases fail
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-01 06:35 UTC by Guo Jinxian
Modified: 2017-10-06 14:36 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg (21.80 KB, text/plain)
2014-09-01 06:35 UTC, Guo Jinxian
no flags Details
Possible fix (1.33 KB, patch)
2014-09-26 17:11 UTC, Paulo Zanoni
no flags Details | Splinter Review

Description Guo Jinxian 2014-09-01 06:35:02 UTC
Created attachment 105537 [details]
dmesg

==System Environment==
--------------------------
Regression: No.
They are new cases

Non-working platforms: BDW

==kernel==
--------------------------
origin/drm-intel-nightly: 6e9c5b9d428bb075293ec865ba58f90931187a48(fails)
    drm-intel-nightly: 2014y-08m-29d-21h-34m-26s integration manifest
origin/drm-intel-next-queued: c101c5b635bee54e43d0732473d2f80b2a0e00f4(fails)
    drm/i915: make fbdev initialization asynchronous v2
origin/drm-intel-fixes: bbe1c2740d3a25aa1dbe5d842d2ff09cddcdde0a(fails)
    drm/i915: Remove bogus __init annotation from DMI callbacks

==Bug detailed description==
igt/gem_workarounds subcases check-workaround-data-after-reset and check-workaround-data-after-suspend-resume fail

Output:
root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./gem_workarounds --run-subtest check-workaround-data-after-reset
IGT-Version: 1.7-gd6af004 (x86_64) (Linux: 3.17.0-rc2_drm-intel-nightly_6e9c5b_20140901+ x86_64)
gpu hang not yet cleared, retries left 29
gpu hang not yet cleared, retries left 28
gpu hang not yet cleared, retries left 27
gpu hang not yet cleared, retries left 26
gpu hang not yet cleared, retries left 25
gpu hang not yet cleared, retries left 24
Address before          after           w/a mask        result
0xE4F0  0xFFFF0120      0xFFFF0000      0x00000120      fail
0xE4F4  0xFFFF0001      0xFFFF0000      0x00000001      fail
0xE184  0x00000102      0x00000000      0x00000102      fail
0xE100  0x00008440      0x00008040      0x00000400      fail
0x7014  0x00000001      0x00000000      0x00000001      fail
0x7300  0x00000010      0x00000000      0x00000010      fail
0x7004  0x000001C0      0x00000180      0x00000040      fail
0x7008  0x00000200      0x00000000      0x00000200      fail
Test assertion failure function check_workarounds, file gem_workarounds.c:168:
Failed assertion: fail_count == 0
Subtest check-workaround-data-after-reset: FAIL

==Reproduce steps==
---------------------------- 
1. ./gem_workarounds --run-subtest check-workaround-data-after-reset
Comment 1 Guo Jinxian 2014-09-01 08:19:36 UTC
This bug still able to reproduce on BYT.
Comment 2 Rodrigo Vivi 2014-09-24 20:16:09 UTC
Only on BYT or also on BDW yet?
Comment 3 Guo Jinxian 2014-09-25 07:52:11 UTC
(In reply to comment #2)
> Only on BYT or also on BDW yet?

Both BYT and BDW are fail.

root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./gem_workarounds --run-subtest check-workaround-data-after-reset
IGT-Version: 1.8-g4b81e9c (x86_64) (Linux: 3.17.0-rc6_drm-intel-nightly_0f7cc1_20140925+ x86_64)
gpu hang not yet cleared, retries left 29
gpu hang not yet cleared, retries left 28
gpu hang not yet cleared, retries left 27
gpu hang not yet cleared, retries left 26
gpu hang not yet cleared, retries left 25
gpu hang not yet cleared, retries left 24
gpu hang not yet cleared, retries left 23
Address before          after           w/a mask        result
0xE4F0  0xFFFF0120      0xFFFF0000      0x00000120      fail
0xE4F4  0xFFFF0001      0xFFFF0000      0x00000001      fail
0xE184  0x00000002      0x00000000      0x00000002      fail
0x7300  0x00000010      0x00000000      0x00000010      fail
0x7004  0x000001C0      0x00000180      0x00000040      fail
0x7008  0x00000200      0x00000000      0x00000200      fail
Test assertion failure function check_workarounds, file gem_workarounds.c:168:
Failed assertion: fail_count == 0
Subtest check-workaround-data-after-reset: FAIL (7.001s)
Comment 4 Rodrigo Vivi 2014-09-26 16:29:57 UTC
Actually it isn't gone, but the message is different and shows exactly what register we shouldn't be touching and when:

[   62.556252] [drm:hsw_disable_pc8] Disabling package C8+
[   62.556254] ------------[ cut here ]------------
[   62.556274] WARNING: CPU: 3 PID: 4192 at drivers/gpu/drm/i915/intel_uncore.c:525 hsw_unclaimed_reg_debug.isra.11+0x62/0x72 [i915]()
[   62.556275] Unclaimed register detected before reading register 0x130040
[   62.556291] Modules linked in: ip6table_filter ip6_tables ipv6 iptable_filter ip_tables ebtable_nat ebtables x_tables iTCO_wdt iTCO_vendor_support ppdev dm_mod snd_hda_codec_hdmi pcspkr i2c_i801 snd_hda_intel snd_hda_controller snd_hda_codec snd_hwdep snd_pcm lpc_ich mfd_core snd_timer snd soundcore battery parport_pc parport ac acpi_cpufreq i915 button video drm_kms_helper drm cfbfillrect cfbimgblt cfbcopyarea
[   62.556294] CPU: 3 PID: 4192 Comm: kworker/u16:19 Not tainted 3.17.0-rc6_drm-intel-nightly_0f7cc1_20140925+ #2780
[   62.556300] Workqueue: events_unbound async_run_entry_fn
[   62.556303]  0000000000000000 0000000000000009 ffffffff8178025c ffff88000267fc38
[   62.556306]  ffffffff8103a8ec ffff880143c4a800 ffffffffa00b9500 ffffffffa007d500
[   62.556309]  ffff880002e30060 0000000000130040 ffff880002e30068 ffff880002e30060
[   62.556309] Call Trace:
[   62.556315]  [<ffffffff8178025c>] ? dump_stack+0x41/0x51
[   62.556319]  [<ffffffff8103a8ec>] ? warn_slowpath_common+0x78/0x90
[   62.556335]  [<ffffffffa00b9500>] ? hsw_unclaimed_reg_debug.isra.11+0x62/0x72 [i915]
[   62.556343]  [<ffffffffa007d500>] ? i915_drm_thaw_early+0x35/0x56 [i915]
[   62.556346]  [<ffffffff8103a99c>] ? warn_slowpath_fmt+0x45/0x4a
[   62.556357]  [<ffffffffa00b9500>] ? hsw_unclaimed_reg_debug.isra.11+0x62/0x72 [i915]
[   62.556367]  [<ffffffffa00b9658>] ? gen6_read32+0x47/0x101 [i915]
[   62.556374]  [<ffffffffa007d500>] ? i915_drm_thaw_early+0x35/0x56 [i915]
[   62.556387]  [<ffffffffa00cd0f7>] ? hsw_disable_pc8+0x3f/0x2cd [i915]
[   62.556394]  [<ffffffffa007d500>] ? i915_drm_thaw_early+0x35/0x56 [i915]
[   62.556401]  [<ffffffffa007ce87>] ? intel_resume_prepare+0x5d/0x590 [i915]
[   62.556408]  [<ffffffffa007d567>] ? i915_resume_early+0x3d/0x3d [i915]
[   62.556415]  [<ffffffffa007d4e0>] ? i915_drm_thaw_early+0x15/0x56 [i915]
[   62.556418]  [<ffffffff813e4620>] ? dpm_run_callback+0x57/0xcf
[   62.556420]  [<ffffffff813e4d8e>] ? device_resume_early+0x131/0x173
[   62.556423]  [<ffffffff813e5034>] ? async_resume_early+0x14/0x38
[   62.556425]  [<ffffffff810512a3>] ? async_run_entry_fn+0x55/0x10b
[   62.556428]  [<ffffffff8104ba25>] ? process_one_work+0x1ae/0x31c
[   62.556430]  [<ffffffff8104be0d>] ? worker_thread+0x255/0x350
[   62.556433]  [<ffffffff8104bbb8>] ? process_scheduled_works+0x25/0x25
[   62.556434]  [<ffffffff8104f5fe>] ? kthread+0xc5/0xcd
[   62.556437]  [<ffffffff8104f539>] ? kthread_freezable_should_stop+0x40/0x40
[   62.556439]  [<ffffffff81785bec>] ? ret_from_fork+0x7c/0xb0
[   62.556441]  [<ffffffff8104f539>] ? kthread_freezable_should_stop+0x40/0x40
[   62.556442] ---[ end trace d94d76f83f485195 ]---
Comment 5 Paulo Zanoni 2014-09-26 17:11:42 UTC
Created attachment 106927 [details] [review]
Possible fix

Hi

Can you please test if this patch fixes the problem?

Thanks,
Paulo
Comment 6 Guo Jinxian 2014-09-28 05:56:02 UTC
(In reply to comment #5)
> Created attachment 106927 [details] [review] [review]
> Possible fix
> 
> Hi
> 
> Can you please test if this patch fixes the problem?
> 
> Thanks,
> Paulo

The test result on latest nightly was changed, please check the output below:

root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./gem_workarounds --run-subtest check-workaround-data-after-reset
IGT-Version: 1.7-gc12f292 (x86_64) (Linux: 3.17.0-rc6_drm-intel-nightly_7101d8_20140928+ x86_64)
Test assertion failure function __real_main171, file gem_workarounds.c:188:
Failed assertion: fd >= 0
Last errno: 2, No such file or directory
Subtest check-workaround-data-after-reset: FAIL

On latest nightly with patch above, the result doesn't change.
root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./gem_workarounds --run-subtest check-workaround-data-after-reset
IGT-Version: 1.7-gc12f292 (x86_64) (Linux: 3.17.0-rc6_kcloud_779211_20140928+ x86_64)
Test assertion failure function __real_main171, file gem_workarounds.c:188:
Failed assertion: fd >= 0
Last errno: 2, No such file or directory
Subtest check-workaround-data-after-reset: FAIL
Comment 7 Rodrigo Vivi 2015-01-20 00:48:14 UTC
This test case got re-factored and also it is working well on my bdw with latest -nightly. 

tests$ sudo ./gem_workarounds
IGT-Version: 1.9-ga29f28e (x86_64) (Linux: 3.19.0-rc4+ x86_64)
Subtest read: SUCCESS (0.001s)
Subtest reset: SUCCESS (6.052s)
Suspending the device ...
rtcwake: wakeup from "mem" using /dev/rtc0 at Tue Jan 20 00:46:12 2015
Subtest suspend-resume: SUCCESS (7.004s)

Please validate or reopen.
Comment 8 Ding Heng 2015-01-20 08:36:46 UTC
pass with nightly latest commit:
d2a1764437d8b4c30948704ff6c64e4bbfd1df7c(2015-01-20)
change state to verivied.
Comment 9 Elizabeth 2017-10-06 14:36:07 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.