[PATCH v9 14/18] drm/amd/display: Add PBN per slot calculation for DSC

Leo sunpeng.li at amd.com
Fri Dec 20 22:50:05 UTC 2019



On 2019-12-13 3:08 p.m., mikita.lipski at amd.com wrote:
> From: Mikita Lipski <mikita.lipski at amd.com>
> 
> [why]
> Need to calculate VCPI slots differently for DSC
> to take in account current link rate, link count
> and FEC.
> [how]
> Add helper to get pbn_div from dc_link
> 
> Cc: Harry Wentland <harry.wentland at amd.com>
> Cc: Lyude Paul <lyude at redhat.com>
> Signed-off-by: Mikita Lipski <mikita.lipski at amd.com>
> ---
>  .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c   | 8 ++++++++
>  .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.h   | 2 ++
>  2 files changed, 10 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
> index 7557edee7db0..c376c8ccd391 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
> @@ -491,3 +491,11 @@ void amdgpu_dm_initialize_dp_connector(struct amdgpu_display_manager *dm,
>  		aconnector->connector_id);
>  }
>  
> +int dm_mst_get_pbn_divider(struct dc_link *link)
> +{
> +	if (!link)
> +		return 0;
> +
> +	return dc_link_bandwidth_kbps(link,
> +			dc_link_get_link_cap(link)) / (8 * 1000 * 54);

Had to take a look at the DP spec to understand this conversion here, section 2.6.4.1.
LGTM,

Reviewed-by: Leo Li <sunpeng.li at amd.com>

> +}
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.h b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.h
> index 2da851b40042..a553ea046185 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.h
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.h
> @@ -29,6 +29,8 @@
>  struct amdgpu_display_manager;
>  struct amdgpu_dm_connector;
>  
> +int dm_mst_get_pbn_divider(struct dc_link *link);
> +
>  void amdgpu_dm_initialize_dp_connector(struct amdgpu_display_manager *dm,
>  				       struct amdgpu_dm_connector *aconnector);
>  
> 


More information about the dri-devel mailing list