Bug 103963 - [CNL] eDP flicker at 4k
Summary: [CNL] eDP flicker at 4k
Status: CLOSED NOTOURBUG
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: DRI git
Hardware: Other All
: highest blocker
Assignee: James Ausmus
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard: ReadyForDev
Keywords:
Depends on:
Blocks:
 
Reported: 2017-11-28 23:54 UTC by Rodrigo Vivi
Modified: 2018-03-02 15:15 UTC (History)
6 users (show)

See Also:
i915 platform: CNL
i915 features: display/eDP


Attachments
reg dump bios (before i915 gets loaded) (27.06 KB, text/plain)
2017-11-28 23:54 UTC, Rodrigo Vivi
no flags Details
reg dump - when i915 takes over control (27.06 KB, text/plain)
2017-11-28 23:54 UTC, Rodrigo Vivi
no flags Details
reg dump fast boot (27.06 KB, text/plain)
2017-11-28 23:54 UTC, Rodrigo Vivi
no flags Details
dmesg (249.83 KB, text/plain)
2017-11-28 23:56 UTC, Rodrigo Vivi
no flags Details

Description Rodrigo Vivi 2017-11-28 23:54:04 UTC
Created attachment 135787 [details]
reg dump bios (before i915 gets loaded)

After i915 takes control and do the modeset on eDP 4k screen starts flickering badly.
No Fifounderun detected.
Just some continuously short pulses happening.

[18272.883143] [drm:intel_get_hpd_pins [i915]] hotplug event received, stat 0x01000000, dig 0x11101010, pins 0x00000010
[18272.893693] [drm:intel_hpd_irq_handler [i915]] digital hpd port A - short
[18272.900528] [drm:intel_dp_hpd_pulse [i915]] got hpd irq on port A - short
[18272.907916] [drm:intel_dp_read_dpcd [i915]] DPCD: 12 14 84 41 00 00 01 01 02 00 00 00 00 0b 00
[18274.252425] [drm:intel_get_hpd_pins [i915]] hotplug event received, stat 0x01000000, dig 0x11101010, pins 0x00000010
[18274.262964] [drm:intel_hpd_irq_handler [i915]] digital hpd port A - short
[18274.269800] [drm:intel_dp_hpd_pulse [i915]] got hpd irq on port A - short
[18274.277217] [drm:intel_dp_read_dpcd [i915]] DPCD: 12 14 84 41 00 00 01 01 02 00 00 00 00 0b 00
[18277.343929] [drm:edp_panel_vdd_off_sync [i915]] Turning eDP port A VDD off
[18277.350973] [drm:edp_panel_vdd_off_sync [i915]] PP_STATUS: 0x80000008 PP_CONTROL: 0x00000067
[18277.359426] [drm:intel_power_well_disable [i915]] disabling DC off
[18277.365650] [drm:skl_enable_dc6 [i915]] Enabling DC6
[18277.370710] [drm:gen9_set_dc_state [i915]] Setting DC state from 00 to 02
[18277.377545] [drm:intel_power_well_disable [i915]] disabling AUX A
[18278.110030] [drm:intel_get_hpd_pins [i915]] hotplug event received, stat 0x01000000, dig 0x11101010, pins 0x00000010
[18278.120569] [drm:intel_hpd_irq_handler [i915]] digital hpd port A - short
[18278.127395] [drm:intel_dp_hpd_pulse [i915]] got hpd irq on port A - short
[18278.134240] [drm:intel_power_well_enable [i915]] enabling AUX A
[18278.140175] [drm:intel_power_well_enable [i915]] enabling DC off
[18278.146234] [drm:gen9_set_dc_state [i915]] Setting DC state from 02 to 00
[18278.153137] [drm:edp_panel_vdd_on [i915]] Turning eDP port A VDD on
[18278.159690] [drm:edp_panel_vdd_on [i915]] PP_STATUS: 0x80000008 PP_CONTROL: 0x0000006f
[18278.168120] [drm:intel_dp_read_dpcd [i915]] DPCD: 12 14 84 41 00 00 01 01 02 00 00 00 00 0b 00
[18278.795277] [drm:intel_get_hpd_pins [i915]] hotplug event received, stat 0x01000000, dig 0x11101010, pins 0x00000010
[18278.805816] [drm:intel_hpd_irq_handler [i915]] digital hpd port A - short
[18278.812664] [drm:intel_dp_hpd_pulse [i915]] got hpd irq on port A - short
[18278.820033] [drm:intel_dp_read_dpcd [i915]] DPCD: 12 14 84 41 00 00 01 01 02 00 00 00 00 0b 00
[18278.831152] [drm:intel_get_hpd_pins [i915]] hotplug event received, stat 0x01000000, dig 0x11101010, pins 0x00000010
[18278.841692] [drm:intel_hpd_irq_handler [i915]] digital hpd port A - short
[18278.848548] [drm:intel_dp_hpd_pulse [i915]] got hpd irq on port A - short
[18278.855920] [drm:intel_dp_read_dpcd [i915]] DPCD: 12 14 84 41 00 00 01 01 02 00 00 00 00 0b 00


By using fastboot=1 so reusing BIOS modeset everything just work and screen doesn't flicker at all.
I tried to little by little not re-use what BIOS has done and we start having flicker after we train the link ourselves.

All DBuf registers are set like the BIOS ones with same level.

Changes on the vswing tables and levels doesn't solve the issue.

Disabling watermarks doesn't help either.

Disabling all pm feature like dc states, rc6, keep power wells always on plus leaving cdclock and voltage level at maximum values helps, but doesn't solve the issue.
Comment 1 Rodrigo Vivi 2017-11-28 23:54:23 UTC
Created attachment 135788 [details]
reg dump - when i915 takes over control
Comment 2 Rodrigo Vivi 2017-11-28 23:54:43 UTC
Created attachment 135789 [details]
reg dump fast boot
Comment 3 Rodrigo Vivi 2017-11-28 23:56:12 UTC
Created attachment 135790 [details]
dmesg
Comment 4 Maarten Lankhorst 2017-11-30 14:23:15 UTC
Interesting, difference between i915 fastset vs normal isn't much. Normal appears to put the pipe in 10 bpp mode, and PP_CONTROL is slightly different. TRANS_LINKM/N_EDP is probably slightly different as a result.

I don't think any of those differences matter much, so that leaves the question why the short pulses..

Just curious what happens if you prevent DC from turning off? Adding POWER_DOMAIN_PORT_DDI_A_IO to the power domain perhaps..
Comment 5 Clinton Taylor 2017-11-30 17:46:45 UTC
Reading the IRQ status DPCDs could help determining the reason for the short HPDs. 

Read and print the following DPCDs after a short HPD. 
0x201
0x2003
0x2004
0x2005
Comment 6 Rodrigo Vivi 2017-12-01 01:54:36 UTC
0x201: 00
0x2003: 00
0x2004: 00
0x2005: 00
Comment 7 Rodrigo Vivi 2017-12-01 01:55:44 UTC
DC off makes no difference... or well... along with all other pm stuf disabled flicker is less frequent... but still flickers...
Comment 8 Rodrigo Vivi 2018-01-31 01:40:13 UTC
New HW revisions with board reworks for better PLL solves the issue.

The issue is not seeing on any new steppings we are receiving. 

Also board rework available for previous steppings.


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.