@@ -519,7 +519,7 @@ EXPORT_SYMBOL(drm_dp_link_power_down);
*/
int drm_dp_link_configure(struct drm_dp_aux *aux, struct drm_dp_link *link)
{
- u8 values[2];
+ u8 values[2], value = 0;
int err;
values[0] = drm_dp_link_rate_to_bw_code(link->rate);
@@ -532,6 +532,13 @@ int drm_dp_link_configure(struct drm_dp_aux *aux, struct drm_dp_link *link)
if (err < 0)
return err;
+ if (link->caps.channel_coding)
+ value = DP_SET_ANSI_8B10B;
+
+ err = drm_dp_dpcd_writeb(aux, DP_MAIN_LINK_CHANNEL_CODING_SET, value);
+ if (err < 0)
+ return err;
+
return 0;
}
EXPORT_SYMBOL(drm_dp_link_configure);