[PATCH 17/17] drm/dp: Add drm_dp_link_choose() helper

Thierry Reding thierry.reding at gmail.com
Tue Mar 13 12:36:02 UTC 2018


On Wed, Feb 07, 2018 at 02:53:19PM +0200, Jani Nikula wrote:
> On Mon, 05 Feb 2018, Thierry Reding <thierry.reding at gmail.com> wrote:
> > From: Thierry Reding <treding at nvidia.com>
> >
> > This helper chooses an appropriate configuration, according to the
> > bitrate requirements of the video mode and the capabilities of the
> > DisplayPort sink.
> >
> > Signed-off-by: Thierry Reding <treding at nvidia.com>
> > ---
> >  drivers/gpu/drm/drm_dp_helper.c | 55 +++++++++++++++++++++++++++++++++++++++++
> >  include/drm/drm_dp_helper.h     |  5 ++++
> >  2 files changed, 60 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
> > index c8b18c0161d7..fb6ee3ebc37d 100644
> > --- a/drivers/gpu/drm/drm_dp_helper.c
> > +++ b/drivers/gpu/drm/drm_dp_helper.c
> > @@ -557,6 +557,61 @@ int drm_dp_link_configure(struct drm_dp_aux *aux, struct drm_dp_link *link)
> >  }
> >  EXPORT_SYMBOL(drm_dp_link_configure);
> >  
> > +/**
> > + * drm_dp_link_choose() - choose the lowest possible configuration for a mode
> > + * @link: DRM DP link object
> > + * @mode: DRM display mode
> > + * @info: DRM display information
> > + *
> > + * According to the eDP specification, a source should select a configuration
> > + * with the lowest number of lanes and the lowest possible link rate that can
> > + * match the bitrate requirements of a video mode. However it must ensure not
> > + * to exceed the capabilities of the sink.
> 
> Just a couple of notes here:

Sorry, this got burried under too much email.

> Recent eDP allows more rates than just the ones mentioned. So you'll
> actually have a number of source and sink rates, and you'll have to
> intersect them to find the common rates. We have this in i915.

I'm aware of this and I have a local patch to implement this. However I
currently don't have an eDP setup where I can test it, so I didn't think
it right to submit the patch.

> Although the spec says use the "smallest" link parameters possible,
> we've found that many panels out in the wild only work at the maximum
> sink parameters. Presumably the sink max rate and width correspond to
> the native resolution, and not much testing happens using other
> parameters. :(

I suppose I could just drop this helper. Or perhaps add a note about the
potential pitfalls. It works fine for my particular use-case, so I could
move it into the Tegra driver.

How about the other patches? It's getting really late for v4.17, but I'd
like to still get these in if possible so I can reduce my local patch
count and merge DP support for Tegra186.

Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20180313/cbefdf06/attachment.sig>


More information about the dri-devel mailing list