[Intel-gfx] [PATCH 10/12] drm/i915: Allow rate_to_index() to return non-exact matches

ville.syrjala at linux.intel.com ville.syrjala at linux.intel.com
Thu Jul 28 14:50:46 UTC 2016


From: Ville Syrjälä <ville.syrjala at 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.oliveira at intel.com>
Cc: Jim Bride <jim.bride at linux.intel.com>
Cc: Manasi D Navare <manasi.d.navare at intel.com>
Cc: Durgadoss R <durgadoss.r at intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala at 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



More information about the Intel-gfx mailing list