|
@@ -468,9 +468,14 @@ void intel_hpd_init(struct drm_i915_private *dev_priv)
|
|
list_for_each_entry(connector, &mode_config->connector_list, head) {
|
|
list_for_each_entry(connector, &mode_config->connector_list, head) {
|
|
struct intel_connector *intel_connector = to_intel_connector(connector);
|
|
struct intel_connector *intel_connector = to_intel_connector(connector);
|
|
connector->polled = intel_connector->polled;
|
|
connector->polled = intel_connector->polled;
|
|
- if (connector->encoder && !connector->polled && I915_HAS_HOTPLUG(dev) && intel_connector->encoder->hpd_pin > HPD_NONE)
|
|
|
|
- connector->polled = DRM_CONNECTOR_POLL_HPD;
|
|
|
|
|
|
+
|
|
|
|
+ /* MST has a dynamic intel_connector->encoder and it's reprobing
|
|
|
|
+ * is all handled by the MST helpers. */
|
|
if (intel_connector->mst_port)
|
|
if (intel_connector->mst_port)
|
|
|
|
+ continue;
|
|
|
|
+
|
|
|
|
+ if (!connector->polled && I915_HAS_HOTPLUG(dev) &&
|
|
|
|
+ intel_connector->encoder->hpd_pin > HPD_NONE)
|
|
connector->polled = DRM_CONNECTOR_POLL_HPD;
|
|
connector->polled = DRM_CONNECTOR_POLL_HPD;
|
|
}
|
|
}
|
|
|
|
|