On Fri, Jun 13, 2014 at 02:52:04PM +0800, Quanxian Wang wrote: > DP connector will be disconnected after chvt to another console > for 10 minutes or more on valleyview platform VTC1010. > > Signed-off-by: Quanxian Wang <quanxian.wang@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_dp.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 2688f6d..0d127a5 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -2942,6 +2942,7 @@ intel_dp_check_link_status(struct intel_dp *intel_dp) > static enum drm_connector_status > intel_dp_detect_dpcd(struct intel_dp *intel_dp) > { > + struct drm_device *dev = intel_dp_to_dev(intel_dp); > uint8_t *dpcd = intel_dp->dpcd; > uint8_t type; > > @@ -2953,7 +2954,8 @@ intel_dp_detect_dpcd(struct intel_dp *intel_dp) > return connector_status_connected; > > /* If we're HPD-aware, SINK_COUNT changes dynamically */ > - if (intel_dp->dpcd[DP_DPCD_REV] >= 0x11 && > + if (!IS_VALLEYVIEW(dev) && > + intel_dp->dpcd[DP_DPCD_REV] >= 0x11 && > intel_dp->downstream_ports[0] & DP_DS_PORT_HPD) { static bool intel_dp_supports_hpd(struct intel_dp *intel_dp) { if (IS_VALLEYVIEW(intel_dp_to_dev(intel_dp)) /* SINK_COUNT is unreliable resulting in premature disconnects */ return false; if (intel_dp->dpcd[DP_DPCD_REV] < 0x11) return false; return intel_dp->downstream_ports[0] & DP_DS_PORT_HPD; } would have been a much preferable patch. Please always consider the next person to read the code and try to figure out the random predicates. Is the issue transient? Is there a way to keep the hpd but do a automatic verification? -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx