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

drm/i915: Update eDP fast link training link rate parsing



We're not parsing the 5.4 Gbps value for the old eDP fast link
training link rate, nor are we parsing the new fast link training
link rate field. Remedy both.

Also we'll now use the actual link rate instead of the DPCD BW
register value.

Note that we're not even using this information for anything
currently, so should perhaps just nuke it all unless someone
is planning on implementing fast link training finally...

v2: Stop using the DPCD BW values (Jani)
    *20 instead of *2 to get the rate in correct units (Jani)

Cc: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220602205649.11283-1-ville.syrjala@linux.intel.com


Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
parent f09d2b0b
Loading
Loading
Loading
Loading
+20 −12
Original line number Diff line number Diff line
@@ -1366,12 +1366,19 @@ parse_edp(struct drm_i915_private *i915,

	panel->vbt.edp.pps = *edp_pps;

	if (i915->vbt.version >= 224) {
		panel->vbt.edp.rate =
			edp->edp_fast_link_training_rate[panel_type] * 20;
	} else {
		switch (edp_link_params->rate) {
		case EDP_RATE_1_62:
		panel->vbt.edp.rate = DP_LINK_BW_1_62;
			panel->vbt.edp.rate = 162000;
			break;
		case EDP_RATE_2_7:
		panel->vbt.edp.rate = DP_LINK_BW_2_7;
			panel->vbt.edp.rate = 270000;
			break;
		case EDP_RATE_5_4:
			panel->vbt.edp.rate = 540000;
			break;
		default:
			drm_dbg_kms(&i915->drm,
@@ -1379,6 +1386,7 @@ parse_edp(struct drm_i915_private *i915,
				    edp_link_params->rate);
			break;
		}
	}

	switch (edp_link_params->lanes) {
	case EDP_LANE_1:
+1 −0
Original line number Diff line number Diff line
@@ -638,6 +638,7 @@ struct bdb_sdvo_panel_dtds {
#define EDP_30BPP	2
#define EDP_RATE_1_62	0
#define EDP_RATE_2_7	1
#define EDP_RATE_5_4	2
#define EDP_LANE_1	0
#define EDP_LANE_2	1
#define EDP_LANE_4	3