On Wed, Jan 25, 2017 at 01:56:35PM +0100, Takashi Iwai wrote: > Hi, > > we've got a bug report about the blank monitor on Cherry Trail > machines. And, Intel team (Cc'ed) spotted out that this seems > triggered by DPMS transition. A patch like below actually fixes the > problem. > > Of course it doesn't look like a right "fix". Do you guys have any > hint for further debugging? Is it some kind of new fangled MST capable monitor? I've noticed that those tend to be super easy to mess up. > > Some more (not alt-) facts: > > - The machine we've tested is a Cherry Trail based box with two > DisplayPorts. Intel team mentioned that there are other machines > suffering from the same problem. Is it really somehow tied to the machine? I would imagine it should behave exactly the same way no matter what machine you have. > > - With some monitors, the screen remains blank during boot and on X. > This can be cured after "xset dpms force off" and resume, or > reconfiguring via xrandr. > > - The issue seems specific to DP connections. When two (identical) > monitors are connected, only one monitor goes blank. Hmm. Have you tried 9f2bdb006a7e ("drm/i915: Prevent PPS stealing from a normal DP port on VLV/CHV") ? > > - The issue happens only with some monitor models (Dell E-series). > Other Dell monitors (e.g. U-series) or other vendors seem working as > far as we've tested. > > - Intel team mentioned that a similar issue was seen on a Baytrail > machine. > > - The register value seems passed correctly. The read back after the > register write showed the expected value. > Also, spinning more times in DPMS_ON loop didn't help, too. > > - The issue is reproduced with the recent kernels (at least 4.9.x) > > > Any comments / suggestions appreciated. > > thanks, > > Takashi > > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -2205,8 +2205,12 @@ void intel_dp_sink_dpms(struct intel_dp > return; > > if (mode != DRM_MODE_DPMS_ON) { > +#if 0 > ret = drm_dp_dpcd_writeb(&intel_dp->aux, DP_SET_POWER, > DP_SET_POWER_D3); > +#else > + ret = 1; > +#endif > } else { > /* > * When turning on, we need to retry for 1ms to give the sink > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx