[PATCH] drm/amd/display: Align two DP2 headers from drm

Harry Wentland harry.wentland at amd.com
Tue Sep 28 15:33:19 UTC 2021



On 2021-09-25 09:38, Fangzhi Zuo wrote:
> Two DP2 headers are available in drm that local ones should be removed.
> Will submit a separate drm patch for all other DP2 required headers.
> 
> Signed-off-by: Fangzhi Zuo <Jerry.Zuo at amd.com>
> ---
>  drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c   | 10 +++++-----
>  drivers/gpu/drm/amd/display/dc/core/dc_link_dpcd.c |  4 ++++
>  drivers/gpu/drm/amd/display/dc/dc_dp_types.h       |  7 -------
>  3 files changed, 9 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
> index 120c9955cafb..6be944ac46e2 100644
> --- a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
> +++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
> @@ -146,7 +146,7 @@ static uint32_t get_eq_training_aux_rd_interval(
>  	if (dp_get_link_encoding_format(link_settings) == DP_128b_132b_ENCODING) {
>  		core_link_read_dpcd(
>  				link,
> -				DP_128b_132b_TRAINING_AUX_RD_INTERVAL,
> +				DP_128B132B_TRAINING_AUX_RD_INTERVAL,
>  				(uint8_t *)&training_rd_interval,
>  				sizeof(training_rd_interval));
>  	} else if (dp_get_link_encoding_format(link_settings) == DP_8b_10b_ENCODING &&
> @@ -2107,7 +2107,7 @@ static void dpcd_128b_132b_get_aux_rd_interval(struct dc_link *link,
>  	uint32_t interval_unit = 0;
>  
>  	dpcd_interval.raw = 0;
> -	core_link_read_dpcd(link, DP_128b_132b_TRAINING_AUX_RD_INTERVAL,
> +	core_link_read_dpcd(link, DP_128B132B_TRAINING_AUX_RD_INTERVAL,
>  			&dpcd_interval.raw, sizeof(dpcd_interval.raw));
>  	interval_unit = dpcd_interval.bits.UNIT ? 1 : 2; /* 0b = 2 ms, 1b = 1 ms */
>  	/* (128b/132b_TRAINING_AUX_RD_INTERVAL value + 1) *
> @@ -4593,7 +4593,7 @@ bool dp_retrieve_lttpr_cap(struct dc_link *link)
>  								DP_LT_TUNABLE_PHY_REPEATER_FIELD_DATA_STRUCTURE_REV];
>  
>  		link->dpcd_caps.lttpr_caps.supported_128b_132b_rates.raw =
> -				lttpr_dpcd_data[DP_PHY_REPEATER_128b_132b_RATES -
> +				lttpr_dpcd_data[DP_PHY_REPEATER_128B132B_RATES -
>  								DP_LT_TUNABLE_PHY_REPEATER_FIELD_DATA_STRUCTURE_REV];
>  #endif
>  
> @@ -4875,13 +4875,13 @@ static bool retrieve_link_cap(struct dc_link *link)
>  		link->dpcd_sink_ext_caps.raw = 0;
>  
>  #if defined(CONFIG_DRM_AMD_DC_DCN)
> -	link->dpcd_caps.channel_coding_cap.raw = dpcd_data[DP_MAIN_LINK_CHANNEL_CODING_CAP - DP_DPCD_REV];
> +	link->dpcd_caps.channel_coding_cap.raw = dpcd_data[DP_MAIN_LINK_CHANNEL_CODING - DP_DPCD_REV];
>  
>  	if (link->dpcd_caps.channel_coding_cap.bits.DP_128b_132b_SUPPORTED) {
>  		DC_LOG_DP2("128b/132b encoding is supported at link %d", link->link_index);
>  
>  		core_link_read_dpcd(link,
> -				DP_128b_132b_SUPPORTED_LINK_RATES,
> +				DP_128B132B_SUPPORTED_LINK_RATES,
>  				&link->dpcd_caps.dp_128b_132b_supported_link_rates.raw,
>  				sizeof(link->dpcd_caps.dp_128b_132b_supported_link_rates.raw));
>  		if (link->dpcd_caps.dp_128b_132b_supported_link_rates.bits.UHBR20)
> diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dpcd.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_dpcd.c
> index 7f25c11f4248..ff06d6060e9a 100644
> --- a/drivers/gpu/drm/amd/display/dc/core/dc_link_dpcd.c
> +++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_dpcd.c
> @@ -127,7 +127,11 @@ static uint32_t dpcd_get_next_partition_size(const uint32_t address, const uint3
>   * XXX: Do not allow any two address ranges in this array to overlap
>   */
>  static const struct dpcd_address_range mandatory_dpcd_blocks[] = {
> +#if defined(CONFIG_DRM_AMD_DC_DCN)
> +	{ DP_LT_TUNABLE_PHY_REPEATER_FIELD_DATA_STRUCTURE_REV, DP_PHY_REPEATER_128B132B_RATES }};
> +#else

This seems to be somewhat unrelated to the intention of this
patch. Is this something that we missed previously when upstreaming
LPTTR support?

I recommend pulling this into a separate patch, if possible.

Either way, this is
Reviwed-by: Harry Wentland <harry.wentland at amd.com>

Harry

>  	{ DP_LT_TUNABLE_PHY_REPEATER_FIELD_DATA_STRUCTURE_REV, DP_PHY_REPEATER_EXTENDED_WAIT_TIMEOUT }};
> +#endif
>  
>  /*
>   * extend addresses to read all mandatory blocks together
> diff --git a/drivers/gpu/drm/amd/display/dc/dc_dp_types.h b/drivers/gpu/drm/amd/display/dc/dc_dp_types.h
> index a5e798b5da79..04a71e10bb97 100644
> --- a/drivers/gpu/drm/amd/display/dc/dc_dp_types.h
> +++ b/drivers/gpu/drm/amd/display/dc/dc_dp_types.h
> @@ -860,14 +860,10 @@ struct psr_caps {
>  };
>  
>  #if defined(CONFIG_DRM_AMD_DC_DCN)
> -#define DP_MAIN_LINK_CHANNEL_CODING_CAP			0x006
> -#define DP_SINK_VIDEO_FALLBACK_FORMATS			0x020
>  #define DP_FEC_CAPABILITY_1				0x091
>  #define DP_DFP_CAPABILITY_EXTENSION_SUPPORT		0x0A3
>  #define DP_DSC_CONFIGURATION				0x161
>  #define DP_PHY_SQUARE_PATTERN				0x249
> -#define DP_128b_132b_SUPPORTED_LINK_RATES		0x2215
> -#define DP_128b_132b_TRAINING_AUX_RD_INTERVAL		0x2216
>  #define DP_TEST_264BIT_CUSTOM_PATTERN_7_0		0X2230
>  #define DP_TEST_264BIT_CUSTOM_PATTERN_263_256		0X2250
>  #define DP_DSC_SUPPORT_AND_DECODER_COUNT		0x2260
> @@ -877,9 +873,6 @@ struct psr_caps {
>  # define DP_DSC_DECODER_0_AGGREGATION_SUPPORT_SHIFT	1
>  # define DP_DSC_DECODER_COUNT_MASK			(0b111 << 5)
>  # define DP_DSC_DECODER_COUNT_SHIFT			5
> -#define DP_MAIN_LINK_CHANNEL_CODING_SET			0x108
> -#define DP_MAIN_LINK_CHANNEL_CODING_PHY_REPEATER	0xF0006
> -#define DP_PHY_REPEATER_128b_132b_RATES			0xF0007
>  #define DP_128b_132b_TRAINING_AUX_RD_INTERVAL_PHY_REPEATER1	0xF0022
>  #define DP_INTRA_HOP_AUX_REPLY_INDICATION		(1 << 3)
>  /* TODO - Use DRM header to replace above once available */
> 



More information about the amd-gfx mailing list