On Thu, Feb 01, 2018 at 02:53:20AM +0000, Pandiyan, Dhinakaran wrote:
>
>
>
> On Wed, 2018-01-31 at 13:20 -0800, Rodrigo Vivi wrote:
> > Since commit 'c4fb60b9aba9 ("drm/i915/bios: add DP max link
> > rate to VBT child device struct")' we have the new entry
> > defined for max dp rate that is in use for CNL.
> >
> > Let's start using it for all VBT 216+ and
> > also organize the cnl adjusted rates in terms of rate
> > and not array size.
> >
> > Cc: Jani Nikula <[email protected]>
> > Cc: Ville Syrjälä <[email protected]>
> > Signed-off-by: Rodrigo Vivi <[email protected]>
> > ---
> > drivers/gpu/drm/i915/i915_drv.h | 1 +
> > drivers/gpu/drm/i915/intel_bios.c | 3 +++
> > drivers/gpu/drm/i915/intel_dp.c | 37
> > +++++++++++++++++++++++++++++--------
> > 3 files changed, 33 insertions(+), 8 deletions(-)
>
> <snip>
>
> > +static int intel_dp_adjusted_max_rate(struct intel_dp *intel_dp)
> > +{
> > + struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
> > + struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
> > + const struct ddi_vbt_port_info *info =
> > + &dev_priv->vbt.ddi_port_info[dig_port->base.port];
> > +
> > + if (info->dp_max_link_rate)
> > + return info->dp_max_link_rate;
>
> What if this value is higher than cnl_adjusted_max_rate() ?
Then VBT knows something about that SKU that we don't?! *shrug*
My understanding is that the purpose of that new VBT field is
to workaround bugs they know for certain combination and limit
the max rate even more.
bugs like the one I had in a part here:
https://bugs.freedesktop.org/show_bug.cgi?id=103963
in this case flicker was gone by limiting the max rate.
But yeap, maybe vbt is bugged, so are you suggesting min(vbt, bspec) ?
>
> -DK
>
>
> > +
> > + if (IS_CANNONLAKE(dev_priv))
> > + return cnl_adjusted_max_rate(intel_dp);
> > +
> > + return INT_MAX; /* No adjusted limit */
> > }
> >
>
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx