Re: [PATCH v2 1/2] drm/i915/mst: Validate modes against available link bandwidth

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux