|
@@ -2262,6 +2262,11 @@ static void get_active_converter_info(
|
|
|
|
|
|
link->dpcd_caps.branch_hw_revision =
|
|
|
dp_hw_fw_revision.ieee_hw_rev;
|
|
|
+
|
|
|
+ memmove(
|
|
|
+ link->dpcd_caps.branch_fw_revision,
|
|
|
+ dp_hw_fw_revision.ieee_fw_rev,
|
|
|
+ sizeof(dp_hw_fw_revision.ieee_fw_rev));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2317,6 +2322,7 @@ static bool retrieve_link_cap(struct dc_link *link)
|
|
|
enum dc_status status = DC_ERROR_UNEXPECTED;
|
|
|
uint32_t read_dpcd_retry_cnt = 3;
|
|
|
int i;
|
|
|
+ struct dp_sink_hw_fw_revision dp_hw_fw_revision;
|
|
|
|
|
|
memset(dpcd_data, '\0', sizeof(dpcd_data));
|
|
|
memset(&down_strm_port_count,
|
|
@@ -2408,6 +2414,25 @@ static bool retrieve_link_cap(struct dc_link *link)
|
|
|
(sink_id.ieee_oui[1] << 8) +
|
|
|
(sink_id.ieee_oui[2]);
|
|
|
|
|
|
+ memmove(
|
|
|
+ link->dpcd_caps.sink_dev_id_str,
|
|
|
+ sink_id.ieee_device_id,
|
|
|
+ sizeof(sink_id.ieee_device_id));
|
|
|
+
|
|
|
+ core_link_read_dpcd(
|
|
|
+ link,
|
|
|
+ DP_SINK_HW_REVISION_START,
|
|
|
+ (uint8_t *)&dp_hw_fw_revision,
|
|
|
+ sizeof(dp_hw_fw_revision));
|
|
|
+
|
|
|
+ link->dpcd_caps.sink_hw_revision =
|
|
|
+ dp_hw_fw_revision.ieee_hw_rev;
|
|
|
+
|
|
|
+ memmove(
|
|
|
+ link->dpcd_caps.sink_fw_revision,
|
|
|
+ dp_hw_fw_revision.ieee_fw_rev,
|
|
|
+ sizeof(dp_hw_fw_revision.ieee_fw_rev));
|
|
|
+
|
|
|
/* Connectivity log: detection */
|
|
|
CONN_DATA_DETECT(link, dpcd_data, sizeof(dpcd_data), "Rx Caps: ");
|
|
|
|