Bug 105854

Summary: GLK: HDMI output does not resume after DPMS OFF with DMC loaded
Product: DRI Reporter: Clinton Taylor <clinton.a.taylor>
Component: DRM/IntelAssignee: Imre Deak <imre.deak>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: major    
Priority: high CC: intel-gfx-bugs
Version: DRI git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: GLK i915 features: firmware/dmc
Attachments:
Description Flags
Fix HDMI TMDS enabling none

Description Clinton Taylor 2018-04-02 21:29:57 UTC
With dmc firmware loaded turn off all outputs with:

xset dpms force off

press any key or xset dmps force on:

DP and eDP output resume. HDMI output does not resume. dmesg log shows normal operation of the HDMI output.

without dmc firmware HDMI output works as expected.

Issue started occur with commit 069d40f5834ad26a58f269225a7e13af17019062
Comment 1 Jani Saarinen 2018-04-03 05:47:23 UTC
Please provide more information about issue, what HW/Platform.
And please attach dmesg with drm.debug=0x1e parameter on grub?
Comment 2 Jani Saarinen 2018-04-03 05:48:47 UTC
Is patch where issue started:
069d40f5834ad26a58f269225a7e13af17019062:
drm/i915/glk: Fix DMC/DC state idleness calculation?
Comment 3 Imre Deak 2018-04-03 18:43:38 UTC
Created attachment 138558 [details] [review]
Fix HDMI TMDS enabling

> Issue started occur with commit 069d40f5834ad26a58f269225a7e13af17019062

I was able to repro the problem on my GLK and can confirm that reverting the above fixed it. What this commit does is in practice enable DC5 (w/o it DMC will never enter DC5 even though it's enabled and all conditions for DC5 are met).

The HDMI output on my RVP is wired through an onboard LSPCON adapter and it seems it has problem accepting the first I2C write to enable the TMDS output buffer after a DC5 entry/exit sequence. Attached is a patch that fixes this, could you Clint try if it gets rid of the problem? If it does please check the number of write attempts, for me it was always the second write that succeeded.
Comment 4 Jani Saarinen 2018-04-17 05:42:26 UTC
Patch comments from Clint: 
Appears to fix the issue seen on GLK with LSPCON and DMC firmware loaded. Customer was concerned about the fix being in DRM instead of i915. However, there are no other SOCs that use this DRM function.

Reviewed-by: Clint Taylor <Clinton.A.Taylor@intel.com>
Tested-by: Clint Taylor <Clinton.A.Taylor@intel.com>
Comment 5 Jani Nikula 2018-04-18 13:49:29 UTC
Fixed in drm-misc-fixes by

commit 7eb2c4dd54ff841f2fe509a84973eb25fa20bda2
Author: Imre Deak <imre.deak@intel.com>
Date:   Mon Apr 16 18:53:09 2018 +0300

    drm/i915: Fix LSPCON TMDS output buffer enabling from low-power state

I screwed up and failed to add these to the commit, but credits to Clint and Ville in addition to Imre:

Reviewed-by: Clint Taylor <Clinton.A.Taylor@intel.com>
Tested-by: Clint Taylor <Clinton.A.Taylor@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

I did tag this Cc: stable, so this should find its way to stable kernels too.
Comment 6 Jani Saarinen 2018-04-20 11:00:10 UTC
Closing now.

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.