Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 24e807e7 authored by Imre Deak's avatar Imre Deak
Browse files

drm/i915/lspcon: Fail LSPCON probe if the start of DPCD can't be read



All types of DP devices (eDP, DP sink, DP branch) will fail their probe
if the start of DPCD can't be read. The LSPCON PCON functionality also
depends on accessing this area, so fail the probe if the read fails.

Cc: Shashank Sharma <shashank.sharma@intel.com>
Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1477326811-30431-6-git-send-email-imre.deak@intel.com
parent 7b3fc170
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3497,7 +3497,7 @@ intel_dp_link_down(struct intel_dp *intel_dp)
	intel_dp->DP = DP;
}

static bool
bool
intel_dp_read_dpcd(struct intel_dp *intel_dp)
{
	if (drm_dp_dpcd_read(&intel_dp->aux, 0x000, intel_dp->dpcd,
+2 −0
Original line number Diff line number Diff line
@@ -1467,6 +1467,8 @@ static inline unsigned int intel_dp_unused_lane_mask(int lane_count)
	return ~((1 << lane_count) - 1) & 0xf;
}

bool intel_dp_read_dpcd(struct intel_dp *intel_dp);

/* intel_dp_aux_backlight.c */
int intel_dp_aux_init_backlight_funcs(struct intel_connector *intel_connector);

+5 −0
Original line number Diff line number Diff line
@@ -131,6 +131,11 @@ bool lspcon_init(struct intel_digital_port *intel_dig_port)
		}
	}

	if (!intel_dp_read_dpcd(dp)) {
		DRM_ERROR("LSPCON DPCD read failed\n");
		return false;
	}

	DRM_DEBUG_KMS("Success: LSPCON init\n");
	return true;
}