On Sat, 13 Aug 2016, Anusha Srivatsa <anusha.srivatsa@xxxxxxxxx> wrote: > Validate the modes against available link bandwidth rather than > maximum link bandwidth so that we have a better idea as to whether > a proposed mode can truly run beside existing stream. But if the existing link was trained for the existing stream, there isn't necessarily any bandwidth left. I'd think this is something that the up front link training + atomic mode setting will take care of. BR, Jani. > > v2: Put the Signed-off to the end of the commit message > > Cc: dhinakaran.pandiyan@xxxxxxxxx > > Signed-off-by: Anusha Srivatsa <anusha.srivatsa@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_dp_mst.c | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c > index 629337d..e7e87d7 100644 > --- a/drivers/gpu/drm/i915/intel_dp_mst.c > +++ b/drivers/gpu/drm/i915/intel_dp_mst.c > @@ -352,13 +352,23 @@ static enum drm_mode_status > intel_dp_mst_mode_valid(struct drm_connector *connector, > struct drm_display_mode *mode) > { > + int req_pbn = 0; > + int avail_pbn = 0; > + struct intel_connector *intel_connector = to_intel_connector(connector); > + struct intel_dp *intel_dp = intel_connector->mst_port; > + struct drm_dp_mst_topology_mgr *mgr = &intel_dp->mst_mgr; > + struct drm_dp_mst_port *port = (struct drm_dp_mst_port *) (intel_connector->port); > int max_dotclk = to_i915(connector->dev)->max_dotclk_freq; > > - /* TODO - validate mode against available PBN for link */ > + avail_pbn = drm_dp_mst_get_avail_pbn(mgr, port); > + req_pbn = drm_dp_calc_pbn_mode(mode->clock, 24); > + if (req_pbn > avail_pbn) > + return MODE_H_ILLEGAL; > + > if (mode->clock < 10000) > return MODE_CLOCK_LOW; > > - if (mode->flags & DRM_MODE_FLAG_DBLCLK) > + if (mode->flags & DRM_MODE_FLAG_DBLCLK) > return MODE_H_ILLEGAL; > > if (mode->clock > max_dotclk) -- Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx