From: Ville Syrjälä <ville.syrj...@linux.intel.com>

Let's make rate_to_index() return the highest rate available that's
less than or equal to the rate requested by the caller. The function
can then be used to filter out rates higher than a certain maximum
rate.

Cc: Ander Conselvan de Oliveira <ander.conselvan.de.olive...@intel.com>
Cc: Jim Bride <jim.br...@linux.intel.com>
Cc: Manasi D Navare <manasi.d.nav...@intel.com>
Cc: Durgadoss R <durgados...@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
---
 drivers/gpu/drm/i915/intel_dp.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 40cae6202160..08d95352ffd6 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1431,10 +1431,13 @@ static int rate_to_index(int find, const int *rates)
        int i = 0;
 
        for (i = 0; i < DP_MAX_SUPPORTED_RATES; ++i)
-               if (find == rates[i])
+               if (find < rates[i])
                        break;
 
-       return i;
+       if (WARN_ON(i == 0))
+               return 0;
+
+       return i - 1;
 }
 
 int
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to