Commit 4b3bb839 authored by Ville Syrjälä's avatar Ville Syrjälä
Browse files

drm/i915: Handle downstream facing ports w/o EDID



Use drm_dp_downstream_mode() to get a suitable mode for downstream
facing ports which don't have an EDID.

Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200904115354.25336-15-ville.syrjala@linux.intel.com


Reviewed-by: default avatarLyude Paul <lyude@redhat.com>
Acked-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 7af655bc
Loading
Loading
Loading
Loading
+14 −1
Original line number Diff line number Diff line
@@ -6313,7 +6313,7 @@ static int intel_dp_get_modes(struct drm_connector *connector)
	}

	/* if eDP has no EDID, fall back to fixed mode */
	if (intel_dp_is_edp(intel_attached_dp(to_intel_connector(connector))) &&
	if (intel_dp_is_edp(intel_attached_dp(intel_connector)) &&
	    intel_connector->panel.fixed_mode) {
		struct drm_display_mode *mode;

@@ -6325,6 +6325,19 @@ static int intel_dp_get_modes(struct drm_connector *connector)
		}
	}

	if (!edid) {
		struct intel_dp *intel_dp = intel_attached_dp(intel_connector);
		struct drm_display_mode *mode;

		mode = drm_dp_downstream_mode(connector->dev,
					      intel_dp->dpcd,
					      intel_dp->downstream_ports);
		if (mode) {
			drm_mode_probed_add(connector, mode);
			return 1;
		}
	}

	return 0;
}