drm/i915/dp: return errors from rate_to_index()
We shouldn't silently use the first element if we can't find the rate we're looking for. Make rate_to_index() more generally useful, and fallback to the first element in the caller, with a big warning. Cc: Manasi Navare <manasi.d.navare@intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Manasi Navare <manasi.d.navare@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/8a6e83b7bf35da0cbbc703ae157944107ff145be.1490712890.git.jani.nikula@intel.com
This commit is contained in:
parent
3194102439
commit
b5c72b207b
|
@ -1544,9 +1544,9 @@ static int rate_to_index(const int *rates, int len, int rate)
|
|||
|
||||
for (i = 0; i < len; i++)
|
||||
if (rate == rates[i])
|
||||
break;
|
||||
return i;
|
||||
|
||||
return i;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -1564,8 +1564,13 @@ intel_dp_max_link_rate(struct intel_dp *intel_dp)
|
|||
|
||||
int intel_dp_rate_select(struct intel_dp *intel_dp, int rate)
|
||||
{
|
||||
return rate_to_index(intel_dp->sink_rates, intel_dp->num_sink_rates,
|
||||
rate);
|
||||
int i = rate_to_index(intel_dp->sink_rates, intel_dp->num_sink_rates,
|
||||
rate);
|
||||
|
||||
if (WARN_ON(i < 0))
|
||||
i = 0;
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
void intel_dp_compute_rate(struct intel_dp *intel_dp, int port_clock,
|
||||
|
|
Loading…
Reference in New Issue