[Intel-gfx] [PATCH 4/4] drm/i915: fix link rates reported for SKL
Ville Syrjälä
ville.syrjala at linux.intel.com
Mon Aug 17 05:41:25 PDT 2015
On Mon, Aug 17, 2015 at 05:45:11PM +0530, Sivakumar Thulasimani wrote:
> From: "Thulasimani,Sivakumar" <sivakumar.thulasimani at intel.com>
>
> This patch fixes the bug that SKL SKUs before B0 might return
> HBR2 as supported even though it is not supposed to be enabled
> on such platforms.
>
> Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani at intel.com>
> ---
> drivers/gpu/drm/i915/intel_dp.c | 14 ++++++++------
> 1 file changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 03523b3..963fdae 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -1224,21 +1224,23 @@ static bool intel_dp_is_hbr2_supported(struct drm_device *dev)
> static int
> intel_dp_source_rates(struct drm_device *dev, const int **source_rates)
> {
> + int size = 0;
> if (IS_BROXTON(dev)) {
> *source_rates = bxt_rates;
> - return ARRAY_SIZE(bxt_rates);
> + size = ARRAY_SIZE(bxt_rates);
> } else if (IS_SKYLAKE(dev)) {
> *source_rates = skl_rates;
> - return ARRAY_SIZE(skl_rates);
> + size = ARRAY_SIZE(skl_rates);
> + } else {
> + *source_rates = default_rates;
> + size = ARRAY_SIZE(default_rates);
> }
>
> - *source_rates = default_rates;
> -
> /* This depends on the fact that 5.4 is last value in the array */
> if (intel_dp_is_hbr2_supported(dev))
> - return (DP_LINK_BW_5_4 >> 3) + 1;
> + return size;
> else
> - return (DP_LINK_BW_2_7 >> 3) + 1;
> + return size - 1;
Maybe we should use rate_to_index() here? Should be a bit more
future proof for when we get HBR3. So, perhaps something like this?
{
...
*source_rates = bxt_rates;
size_rates = ARRAY_SIZE(bxt_rates);
...
if (intel_dp_is_hbr2_supported)
max_rate = 540000;
else
max_rate = 270000;
size = rate_to_index(max_rate, *source_rates) + 1;
if (WARN_ON(size > size_rates))
size = size_rates;
return size;
}
But that could be a followup patch.
Otherwise the series looks good so:
Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> }
>
> static void
> --
> 1.7.9.5
--
Ville Syrjälä
Intel OTC
More information about the Intel-gfx
mailing list