Commit cb072eeb authored by Thierry Reding's avatar Thierry Reding

drm/tegra: dp: Read fast training capability from link

While probing the DisplayPort link, query the fast training capability.
If supported, drivers can use the fast link training sequence instead of
the more involved full link training sequence.
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent 48077044
...@@ -11,12 +11,14 @@ ...@@ -11,12 +11,14 @@
static void drm_dp_link_caps_reset(struct drm_dp_link_caps *caps) static void drm_dp_link_caps_reset(struct drm_dp_link_caps *caps)
{ {
caps->enhanced_framing = false; caps->enhanced_framing = false;
caps->fast_training = false;
} }
void drm_dp_link_caps_copy(struct drm_dp_link_caps *dest, void drm_dp_link_caps_copy(struct drm_dp_link_caps *dest,
const struct drm_dp_link_caps *src) const struct drm_dp_link_caps *src)
{ {
dest->enhanced_framing = src->enhanced_framing; dest->enhanced_framing = src->enhanced_framing;
dest->fast_training = src->fast_training;
} }
static void drm_dp_link_reset(struct drm_dp_link *link) static void drm_dp_link_reset(struct drm_dp_link *link)
...@@ -61,6 +63,7 @@ int drm_dp_link_probe(struct drm_dp_aux *aux, struct drm_dp_link *link) ...@@ -61,6 +63,7 @@ int drm_dp_link_probe(struct drm_dp_aux *aux, struct drm_dp_link *link)
link->max_lanes = drm_dp_max_lane_count(dpcd); link->max_lanes = drm_dp_max_lane_count(dpcd);
link->caps.enhanced_framing = drm_dp_enhanced_frame_cap(dpcd); link->caps.enhanced_framing = drm_dp_enhanced_frame_cap(dpcd);
link->caps.fast_training = drm_dp_fast_training_cap(dpcd);
link->rate = link->max_rate; link->rate = link->max_rate;
link->lanes = link->max_lanes; link->lanes = link->max_lanes;
......
...@@ -21,6 +21,13 @@ struct drm_dp_link_caps { ...@@ -21,6 +21,13 @@ struct drm_dp_link_caps {
* enhanced framing capability (mandatory as of DP 1.2) * enhanced framing capability (mandatory as of DP 1.2)
*/ */
bool enhanced_framing; bool enhanced_framing;
/**
* @fast_training:
*
* AUX CH handshake not required for link training
*/
bool fast_training;
}; };
void drm_dp_link_caps_copy(struct drm_dp_link_caps *dest, void drm_dp_link_caps_copy(struct drm_dp_link_caps *dest,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment