This is required to return the index of link rate into
common_rates array. This gets used to retry the link
training at lower link rate.

Cc: Jani Nikula <[email protected]>
Cc: Daniel Vetter <[email protected]>
Cc: Ville Syrjala <[email protected]>
Signed-off-by: Manasi Navare <[email protected]>
---
 drivers/gpu/drm/i915/intel_dp.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index c499ec1..c192e18 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -288,6 +288,21 @@ static int intel_dp_common_rates(struct intel_dp *intel_dp,
                               common_rates);
 }
 
+static int intel_dp_link_rate_index(struct intel_dp *intel_dp,
+                                   int *common_rates, int link_rate)
+{
+       int common_len;
+       int index;
+
+       common_len = intel_dp_common_rates(intel_dp, common_rates);
+       for (index = 0; index < common_len; index++) {
+               if (link_rate == common_rates[common_len - index - 1])
+                       return common_len - index - 1;
+       }
+
+       return -1;
+}
+
 static enum drm_mode_status
 intel_dp_mode_valid(struct drm_connector *connector,
                    struct drm_display_mode *mode)
-- 
1.9.1

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to