Commit d8c2f094 authored by Dmitry Baryshkov's avatar Dmitry Baryshkov
Browse files

drm/msm/dp: support finding next bridge even for DP interfaces



It is possible to supply display-connector (bridge) to the DP interface,
add support for parsing it too.

Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tested-by: default avatarKuogee Hsieh <quic_khsieh@quicinc.com>
Reviewed-by: default avatarStephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/20220211224006.1797846-4-dmitry.baryshkov@linaro.org


Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
parent 9aa92468
Loading
Loading
Loading
Loading
+12 −7
Original line number Diff line number Diff line
@@ -301,17 +301,22 @@ static int dp_parser_parse(struct dp_parser *parser, int connector_type)
		return rc;

	/*
	 * Currently we support external bridges only for eDP connectors.
	 * External bridges are mandatory for eDP interfaces: one has to
	 * provide at least an eDP panel (which gets wrapped into panel-bridge).
	 *
	 * No external bridges are expected for the DisplayPort connector,
	 * it is physically present in a form of a DP or USB-C connector.
	 * For DisplayPort interfaces external bridges are optional, so
	 * silently ignore an error if one is not present (-ENODEV).
	 */
	if (connector_type == DRM_MODE_CONNECTOR_eDP) {
	rc = dp_parser_find_next_bridge(parser);
		if (rc) {
			DRM_ERROR("DP: failed to find next bridge\n");
	if (rc == -ENODEV) {
		if (connector_type == DRM_MODE_CONNECTOR_eDP) {
			DRM_ERROR("eDP: next bridge is not present\n");
			return rc;
		}
	} else if (rc) {
		if (rc != -EPROBE_DEFER)
			DRM_ERROR("DP: error parsing next bridge: %d\n", rc);
		return rc;
	}

	/* Map the corresponding regulator information according to