Bug 104548

Summary: [BAT] igt@gem_exec_suspend@basic-s3 - dmesg-warn - Unclaimed write to register 0x66a00
Product: DRI Reporter: Marta Löfstedt <marta.lofstedt>
Component: DRM/IntelAssignee: Sean Paul <seanpaul>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: intel-gfx-bugs
Version: DRI git   
Hardware: Other   
OS: All   
Whiteboard: ReadyForDev
i915 platform: SKL i915 features: power/suspend-resume

Description Marta Löfstedt 2018-01-09 07:16:58 UTC
https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4124/fi-skl-6700k2/igt@gem_exec_suspend@basic-s3.html
https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3608/fi-skl-6700k2/igt@gem_exec_suspend@basic-s3.html

[  188.178792] Unclaimed write to register 0x66a00
[  188.178820] WARNING: CPU: 5 PID: 149 at drivers/gpu/drm/i915/intel_uncore.c:986 __unclaimed_reg_debug+0x3b/0x50 [i915]
[  188.178821] Modules linked in: snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic i915 x86_pkg_temp_thermal intel_powerclamp coretemp crct10dif_pclmul crc32_pclmul snd_hda_intel ghash_clmulni_intel snd_hda_codec snd_hwdep snd_hda_core e1000e mei_me snd_pcm mei ptp pps_core prime_numbers
[  188.178842] CPU: 5 PID: 149 Comm: kworker/u16:2 Tainted: G     U           4.15.0-rc7-CI-CI_DRM_3608+ #1
[  188.178843] Hardware name: System manufacturer System Product Name/Z170 PRO GAMING, BIOS 0802 09/02/2015
[  188.178846] Workqueue: events_unbound async_run_entry_fn
[  188.178863] RIP: 0010:__unclaimed_reg_debug+0x3b/0x50 [i915]
[  188.178865] RSP: 0018:ffffc90000bb79c8 EFLAGS: 00010096
[  188.178867] RAX: 0000000000000023 RBX: 0000000000000000 RCX: 0000000000000002
[  188.178868] RDX: 0000000000000000 RSI: ffffffff82107929 RDI: ffffffff820b8e2e
[  188.178869] RBP: 0000000000066a00 R08: 0000000000000000 R09: 0000000000000001
[  188.178870] R10: ffffc90000bb7960 R11: 0000000000000001 R12: 0000000000000000
[  188.178871] R13: 0000000000000000 R14: 0000000000000202 R15: ffff8804383c0008
[  188.178872] FS:  0000000000000000(0000) GS:ffff880455d40000(0000) knlGS:0000000000000000
[  188.178873] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  188.178874] CR2: 00007fb25780cfa0 CR3: 0000000005210006 CR4: 00000000003606e0
[  188.178875] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  188.178876] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  188.178877] Call Trace:
[  188.178895]  fwtable_write32+0x27f/0x290 [i915]
[  188.178914]  _intel_hdcp_disable+0x6c/0x130 [i915]
[  188.178934]  intel_hdcp_disable+0x35/0x60 [i915]
[  188.178952]  intel_disable_ddi+0x17/0xf0 [i915]
[  188.178970]  intel_encoders_disable.isra.60+0x7a/0x80 [i915]
[  188.178989]  haswell_crtc_disable+0x43/0x130 [i915]
[  188.179008]  intel_atomic_commit_tail+0x1bb/0xce0 [i915]
[  188.179029]  intel_atomic_commit+0x25f/0x320 [i915]
[  188.179035]  drm_atomic_helper_disable_all+0x167/0x1a0
[  188.179039]  drm_atomic_helper_suspend+0x3c/0xb0
[  188.179060]  intel_display_suspend+0xd/0x50 [i915]
[  188.179072]  i915_drm_suspend+0x79/0x160 [i915]
[  188.179075]  ? pci_pm_freeze+0xd0/0xd0
[  188.179076]  pci_pm_suspend+0x74/0x140
[  188.179079]  dpm_run_callback+0x5f/0x310
[  188.179082]  __device_suspend+0xf3/0x5a0
[  188.179086]  ? dpm_watchdog_set+0x60/0x60
[  188.179091]  async_suspend+0x15/0x90
[  188.179094]  async_run_entry_fn+0x2e/0x160
[  188.179097]  process_one_work+0x215/0x640
[  188.179102]  worker_thread+0x48/0x3a0
[  188.179107]  kthread+0xfb/0x130
[  188.179109]  ? process_one_work+0x640/0x640
[  188.179110]  ? _kthread_create_on_node+0x30/0x30
[  188.179114]  ret_from_fork+0x24/0x30
[  188.179121] Code: 3c 01 75 30 84 db 75 2c 45 84 e4 48 c7 c0 85 75 2c a0 48 c7 c6 7b 75 2c a0 48 0f 44 f0 89 ea 48 c7 c7 8e 75 2c a0 e8 b5 4c e7 e0 <0f> ff 83 2d 4c bc 16 00 01 5b 5d 41 5c c3 0f 1f 80 00 00 00 00
Comment 1 Marta Löfstedt 2018-01-09 10:04:07 UTC
Also on https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3609/fi-skl-6700k2/igt@gem_exec_suspend@basic-s3.html

i.e. we have hit this on 3 consecutive runs, so plausible regression.
Comment 2 Marta Löfstedt 2018-01-09 10:24:33 UTC
The backtrace comes from:

intel_hdcp.c =>
static int _intel_hdcp_disable(struct intel_connector *connector)
...
I915_WRITE(PORT_HDCP_CONF(port), 0);

The register is:
[  188.178792] Unclaimed write to register 0x66a00
intel_reg.h
#define _PORTE_HDCP_AUTHENC		0x66A00

intel_hdcp.c was added on CI_DRM_3608:

https://patchwork.freedesktop.org/series/34671/

The regression is visible in PW results.
Comment 3 Sean Paul 2018-01-09 13:58:46 UTC
Thanks for raising this. I'll take a look.
Comment 4 Marta Löfstedt 2018-01-10 08:07:48 UTC
Issue is green on: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_3617/fi-skl-6700k2/igt@gem_exec_suspend@basic-s3.html

so:
commit 01468d6c711a31a9fe333d072afa8a4730ef3bf9
Author: Sean Paul <seanpaul@chromium.org>
Date:   Tue Jan 9 13:53:13 2018 -0500

    drm/i915: Only disable HDCP when it's active

and 

commit 2f4498a4ac2f77671587faa99e38c3342d666114
Author: Sean Paul <seanpaul@chromium.org>
Date:   Tue Jan 9 13:53:51 2018 -0500

    drm/i915: Don't allow HDCP on PORT E/F

Appear to have fixed it.
Comment 5 Marta Löfstedt 2018-01-10 13:38:05 UTC
Thanks for fixing this so quickly I will close this bug.

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.