On Wed, Aug 18, 2021 at 09:10:39PM +0300, Jani Nikula wrote: > The DP 2.0 128b/132b channel coding uses TX FFE presets instead of > vswing and pre-emphasis. > > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx > Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/drm_dp_helper.c | 14 ++++++++++++++ > include/drm/drm_dp_helper.h | 2 ++ > 2 files changed, 16 insertions(+) > > diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c > index 9389f92cb944..2843238a78e6 100644 > --- a/drivers/gpu/drm/drm_dp_helper.c > +++ b/drivers/gpu/drm/drm_dp_helper.c > @@ -130,6 +130,20 @@ u8 drm_dp_get_adjust_request_pre_emphasis(const u8 link_status[DP_LINK_STATUS_SI > } > EXPORT_SYMBOL(drm_dp_get_adjust_request_pre_emphasis); > > +/* DP 2.0 128b/132b */ > +u8 drm_dp_get_adjust_tx_ffe_preset(const u8 link_status[DP_LINK_STATUS_SIZE], > + int lane) > +{ > + int i = DP_ADJUST_REQUEST_LANE0_1 + (lane >> 1); > + int s = ((lane & 1) ? > + DP_ADJUST_TX_FFE_PRESET_LANE1_SHIFT : > + DP_ADJUST_TX_FFE_PRESET_LANE0_SHIFT); > + u8 l = dp_link_status(link_status, i); > + > + return (l >> s) & 0xf; > +} > +EXPORT_SYMBOL(drm_dp_get_adjust_tx_ffe_preset); > + > u8 drm_dp_get_adjust_request_post_cursor(const u8 link_status[DP_LINK_STATUS_SIZE], > unsigned int lane) > { > diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h > index f3a61341011d..3ee0b3ffb8a5 100644 > --- a/include/drm/drm_dp_helper.h > +++ b/include/drm/drm_dp_helper.h > @@ -1494,6 +1494,8 @@ u8 drm_dp_get_adjust_request_voltage(const u8 link_status[DP_LINK_STATUS_SIZE], > int lane); > u8 drm_dp_get_adjust_request_pre_emphasis(const u8 link_status[DP_LINK_STATUS_SIZE], > int lane); > +u8 drm_dp_get_adjust_tx_ffe_preset(const u8 link_status[DP_LINK_STATUS_SIZE], > + int lane); > u8 drm_dp_get_adjust_request_post_cursor(const u8 link_status[DP_LINK_STATUS_SIZE], > unsigned int lane); > > -- > 2.20.1 -- Ville Syrjälä Intel