[Intel-gfx] [RFC PATCH] drm/i915/dp: try normal detection on connector force enable
Jani Nikula
jani.nikula at intel.com
Wed Jun 20 08:11:05 UTC 2018
Connector force enable on DP bypasses the detect hooks, skipping all the
DPCD parameter reading and negotiation. This does not really have a
chance to work, at all, and any modesets are bound to fail.
Try to do the normal detection in the force hook on force enable.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103347
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106291
Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula at intel.com>
---
drivers/gpu/drm/i915/intel_dp.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 6ac6c8787dcf..ec9c96b1d013 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -4962,14 +4962,12 @@ intel_dp_force(struct drm_connector *connector)
connector->base.id, connector->name);
intel_dp_unset_edid(intel_dp);
- if (connector->status != connector_status_connected)
- return;
-
- intel_display_power_get(dev_priv, intel_dp->aux_power_domain);
-
- intel_dp_set_edid(intel_dp);
-
- intel_display_power_put(dev_priv, intel_dp->aux_power_domain);
+ /*
+ * Force enable doesn't really work with DP. Try the normal detect path
+ * anyway to read the DPCD etc.
+ */
+ if (connector->status == connector_status_connected)
+ drm_helper_probe_detect(connector, NULL, false);
}
static int intel_dp_get_modes(struct drm_connector *connector)
--
2.11.0
More information about the Intel-gfx
mailing list