소스 검색

drm/i915/dp: Read DP descriptor for eDP and LSPCON too

As for external DP sink and branch devices read and print the DP
descriptor for eDP and LSPCON devices as well to aid debugging.

v2:
- Split out this change to a separate patch. (Jani)

Cc: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1477326811-30431-7-git-send-email-imre.deak@intel.com
Imre Deak 9 년 전
부모
커밋
12a47a4228
3개의 변경된 파일6개의 추가작업 그리고 1개의 파일을 삭제
  1. 3 1
      drivers/gpu/drm/i915/intel_dp.c
  2. 1 0
      drivers/gpu/drm/i915/intel_drv.h
  3. 2 0
      drivers/gpu/drm/i915/intel_lspcon.c

+ 3 - 1
drivers/gpu/drm/i915/intel_dp.c

@@ -1461,7 +1461,7 @@ __intel_dp_read_desc(struct intel_dp *intel_dp, struct intel_dp_desc *desc)
 	       sizeof(*desc);
 }
 
-static bool intel_dp_read_desc(struct intel_dp *intel_dp)
+bool intel_dp_read_desc(struct intel_dp *intel_dp)
 {
 	struct intel_dp_desc *desc = &intel_dp->desc;
 	bool oui_sup = intel_dp->dpcd[DP_DOWN_STREAM_PORT_COUNT] &
@@ -3521,6 +3521,8 @@ intel_edp_init_dpcd(struct intel_dp *intel_dp)
 	if (!intel_dp_read_dpcd(intel_dp))
 		return false;
 
+	intel_dp_read_desc(intel_dp);
+
 	if (intel_dp->dpcd[DP_DPCD_REV] >= 0x11)
 		dev_priv->no_aux_handshake = intel_dp->dpcd[DP_MAX_DOWNSPREAD] &
 			DP_NO_AUX_HANDSHAKE_LINK_TRAINING;

+ 1 - 0
drivers/gpu/drm/i915/intel_drv.h

@@ -1468,6 +1468,7 @@ static inline unsigned int intel_dp_unused_lane_mask(int lane_count)
 }
 
 bool intel_dp_read_dpcd(struct intel_dp *intel_dp);
+bool intel_dp_read_desc(struct intel_dp *intel_dp);
 
 /* intel_dp_aux_backlight.c */
 int intel_dp_aux_init_backlight_funcs(struct intel_connector *intel_connector);

+ 2 - 0
drivers/gpu/drm/i915/intel_lspcon.c

@@ -136,6 +136,8 @@ bool lspcon_init(struct intel_digital_port *intel_dig_port)
 		return false;
 	}
 
+	intel_dp_read_desc(dp);
+
 	DRM_DEBUG_KMS("Success: LSPCON init\n");
 	return true;
 }