All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V4] drm: Add LTTPR defines for DP 1.4a
@ 2019-09-04 19:02 Siqueira, Rodrigo
  2019-09-05 17:29 ` Ville Syrjälä
  0 siblings, 1 reply; 5+ messages in thread
From: Siqueira, Rodrigo @ 2019-09-04 19:02 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
  Cc: Li, Sun peng (Leo),
	Berthe, Abdoulaye, Manasi Navare, Daniel Vetter, Wentland, Harry,
	Ville Syrjälä


[-- Attachment #1.1: Type: text/plain, Size: 3088 bytes --]

DP 1.4a specification defines Link Training Tunable PHY Repeater (LTTPR)
which is required to add support for systems with Thunderbolt or other
repeater devices.

Changes since V3:
- Replace spaces by tabs
Changes since V2:
- Drop the kernel-doc comment
- Reorder LTTPR according to register offset
Changes since V1:
- Adjusts registers names to be aligned with spec and the rest of the
  file
- Update spec comment from 1.4 to 1.4a

Cc: Abdoulaye Berthe <Abdoulaye.Berthe-5C7GfCeVMHo@public.gmane.org>
Cc: Harry Wentland <harry.wentland-5C7GfCeVMHo@public.gmane.org>
Cc: Leo Li <sunpeng.li-5C7GfCeVMHo@public.gmane.org>
Cc: Jani Nikula <jani.nikula-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
Cc: Manasi Navare <manasi.d.navare-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: Ville Syrjälä <ville.syrjala-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira-5C7GfCeVMHo@public.gmane.org>
Signed-off-by: Abdoulaye Berthe <Abdoulaye.Berthe-5C7GfCeVMHo@public.gmane.org>
Reviewed-by: Harry Wentland <Harry.Wentland-5C7GfCeVMHo@public.gmane.org>
---
 include/drm/drm_dp_helper.h | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index 8364502f92cf..5abed96a1cb1 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -966,6 +966,31 @@
 #define DP_HDCP_2_2_REG_STREAM_TYPE_OFFSET	0x69494
 #define DP_HDCP_2_2_REG_DBG_OFFSET		0x69518
 
+/* Link Training (LT)-tunable Physical Repeaters - DP 1.4a */
+#define DP_LT_TUNABLE_PHY_REPEATER_FIELD_DATA_STRUCTURE_REV	0xf0000
+#define DP_MAX_LINK_RATE_PHY_REPEATER				0xf0001
+#define DP_PHY_REPEATER_CNT					0xf0002
+#define DP_PHY_REPEATER_MODE					0xf0003
+#define DP_MAX_LANE_COUNT_PHY_REPEATER				0xf0004
+#define DP_PHY_REPEATER_EXTENDED_WAIT_TIMEOUT			0xf0005
+#define DP_TRAINING_PATTERN_SET_PHY_REPEATER1			0xf0010
+#define DP_TRAINING_LANE0_SET_PHY_REPEATER1			0xf0011
+#define DP_TRAINING_LANE1_SET_PHY_REPEATER1			0xf0012
+#define DP_TRAINING_LANE2_SET_PHY_REPEATER1			0xf0013
+#define DP_TRAINING_LANE3_SET_PHY_REPEATER1			0xf0014
+#define DP_TRAINING_AUX_RD_INTERVAL_PHY_REPEATER1		0xf0020
+#define DP_TRANSMITTER_CAPABILITY_PHY_REPEATER1			0xf0021
+#define DP_LANE0_1_STATUS_PHY_REPEATER1				0xf0030
+#define DP_LANE2_3_STATUS_PHY_REPEATER1				0xf0031
+#define DP_LANE_ALIGN_STATUS_UPDATED_PHY_REPEATER1		0xf0032
+#define DP_ADJUST_REQUEST_LANE0_1_PHY_REPEATER1			0xf0033
+#define DP_ADJUST_REQUEST_LANE2_3_PHY_REPEATER1			0xf0034
+#define DP_SYMBOL_ERROR_COUNT_LANE0_PHY_REPEATER1		0xf0035
+#define DP_SYMBOL_ERROR_COUNT_LANE1_PHY_REPEATER1		0xf0037
+#define DP_SYMBOL_ERROR_COUNT_LANE2_PHY_REPEATER1		0xf0039
+#define DP_SYMBOL_ERROR_COUNT_LANE3_PHY_REPEATER1		0xf003b
+#define DP_FEC_STATUS_PHY_REPEATER1				0xf0290
+
 /* DP HDCP message start offsets in DPCD address space */
 #define DP_HDCP_2_2_AKE_INIT_OFFSET		DP_HDCP_2_2_REG_RTX_OFFSET
 #define DP_HDCP_2_2_AKE_SEND_CERT_OFFSET	DP_HDCP_2_2_REG_CERT_RX_OFFSET
-- 
2.23.0

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

[-- Attachment #2: Type: text/plain, Size: 153 bytes --]

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH V4] drm: Add LTTPR defines for DP 1.4a
  2019-09-04 19:02 [PATCH V4] drm: Add LTTPR defines for DP 1.4a Siqueira, Rodrigo
@ 2019-09-05 17:29 ` Ville Syrjälä
       [not found]   ` <20190905172914.GN7482-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Ville Syrjälä @ 2019-09-05 17:29 UTC (permalink / raw)
  To: Siqueira, Rodrigo
  Cc: Li, Sun peng (Leo), Berthe, Abdoulaye, dri-devel, Manasi Navare, amd-gfx

On Wed, Sep 04, 2019 at 07:02:18PM +0000, Siqueira, Rodrigo wrote:
> DP 1.4a specification defines Link Training Tunable PHY Repeater (LTTPR)

A bunch of this stuff was already in DP 1.3 so the statement here
(and in the comment) is a bit misleading.

"LTTPR" is not a name that appears anywhere in the spec AFAICS, so
calling it that is a bit confusing.

> which is required to add support for systems with Thunderbolt or other
> repeater devices.

"required" seems a bit strong. IIRC by default these things should be in
transparent mode so the DPTX can remain blissfully unaware of their
presence.

> 
> Changes since V3:
> - Replace spaces by tabs
> Changes since V2:
> - Drop the kernel-doc comment
> - Reorder LTTPR according to register offset
> Changes since V1:
> - Adjusts registers names to be aligned with spec and the rest of the
>   file
> - Update spec comment from 1.4 to 1.4a
> 
> Cc: Abdoulaye Berthe <Abdoulaye.Berthe@amd.com>
> Cc: Harry Wentland <harry.wentland@amd.com>
> Cc: Leo Li <sunpeng.li@amd.com>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Cc: Manasi Navare <manasi.d.navare@intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
> Signed-off-by: Abdoulaye Berthe <Abdoulaye.Berthe@amd.com>
> Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
> ---
>  include/drm/drm_dp_helper.h | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
> 
> diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
> index 8364502f92cf..5abed96a1cb1 100644
> --- a/include/drm/drm_dp_helper.h
> +++ b/include/drm/drm_dp_helper.h
> @@ -966,6 +966,31 @@
>  #define DP_HDCP_2_2_REG_STREAM_TYPE_OFFSET	0x69494
>  #define DP_HDCP_2_2_REG_DBG_OFFSET		0x69518
>  
> +/* Link Training (LT)-tunable Physical Repeaters - DP 1.4a */

s/Physical/PHY/ to match the spec.

> +#define DP_LT_TUNABLE_PHY_REPEATER_FIELD_DATA_STRUCTURE_REV	0xf0000
> +#define DP_MAX_LINK_RATE_PHY_REPEATER				0xf0001
> +#define DP_PHY_REPEATER_CNT					0xf0002
> +#define DP_PHY_REPEATER_MODE					0xf0003
> +#define DP_MAX_LANE_COUNT_PHY_REPEATER				0xf0004
> +#define DP_PHY_REPEATER_EXTENDED_WAIT_TIMEOUT			0xf0005

The last two are DP 1.4a it seems.

0xf0004 was called Repeater_FEC_CAPABILITY in 1.4. But the spec doesn't
say anything about the DPCD revision so I have no idea how you're
supposed to decide which definition to use.

DP 1.4a seems to have added FEC_CAPABILITY_PHY_REPEATER1 at 0xf0294.
To replace the 1.4 Repeater_FEC_CAPABILITY I suppose.

> +#define DP_TRAINING_PATTERN_SET_PHY_REPEATER1			0xf0010
> +#define DP_TRAINING_LANE0_SET_PHY_REPEATER1			0xf0011
> +#define DP_TRAINING_LANE1_SET_PHY_REPEATER1			0xf0012
> +#define DP_TRAINING_LANE2_SET_PHY_REPEATER1			0xf0013
> +#define DP_TRAINING_LANE3_SET_PHY_REPEATER1			0xf0014
> +#define DP_TRAINING_AUX_RD_INTERVAL_PHY_REPEATER1		0xf0020
> +#define DP_TRANSMITTER_CAPABILITY_PHY_REPEATER1			0xf0021

Above two are DP 1.4a.

> +#define DP_LANE0_1_STATUS_PHY_REPEATER1				0xf0030
> +#define DP_LANE2_3_STATUS_PHY_REPEATER1				0xf0031
> +#define DP_LANE_ALIGN_STATUS_UPDATED_PHY_REPEATER1		0xf0032
> +#define DP_ADJUST_REQUEST_LANE0_1_PHY_REPEATER1			0xf0033
> +#define DP_ADJUST_REQUEST_LANE2_3_PHY_REPEATER1			0xf0034
> +#define DP_SYMBOL_ERROR_COUNT_LANE0_PHY_REPEATER1		0xf0035
> +#define DP_SYMBOL_ERROR_COUNT_LANE1_PHY_REPEATER1		0xf0037
> +#define DP_SYMBOL_ERROR_COUNT_LANE2_PHY_REPEATER1		0xf0039
> +#define DP_SYMBOL_ERROR_COUNT_LANE3_PHY_REPEATER1		0xf003b
> +#define DP_FEC_STATUS_PHY_REPEATER1				0xf0290

This seems to have appared in DP 1.4.

You skipped quite a few registers here. I guess those were deemed not
important?

> +
>  /* DP HDCP message start offsets in DPCD address space */
>  #define DP_HDCP_2_2_AKE_INIT_OFFSET		DP_HDCP_2_2_REG_RTX_OFFSET
>  #define DP_HDCP_2_2_AKE_SEND_CERT_OFFSET	DP_HDCP_2_2_REG_CERT_RX_OFFSET
> -- 
> 2.23.0



-- 
Ville Syrjälä
Intel
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH V4] drm: Add LTTPR defines for DP 1.4a
       [not found]   ` <20190905172914.GN7482-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
@ 2019-09-05 17:44     ` Harry Wentland
       [not found]       ` <bc61a7de-2183-cb28-65e0-3b7545fb556b-5C7GfCeVMHo@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Harry Wentland @ 2019-09-05 17:44 UTC (permalink / raw)
  To: Ville Syrjälä, Siqueira, Rodrigo
  Cc: Li, Sun peng (Leo),
	Berthe, Abdoulaye, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	Manasi Navare, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	Daniel Vetter, Wentland, Harry

On 2019-09-05 1:29 p.m., Ville Syrjälä wrote:
> On Wed, Sep 04, 2019 at 07:02:18PM +0000, Siqueira, Rodrigo wrote:
>> DP 1.4a specification defines Link Training Tunable PHY Repeater (LTTPR)
> 
> A bunch of this stuff was already in DP 1.3 so the statement here
> (and in the comment) is a bit misleading.
> 
> "LTTPR" is not a name that appears anywhere in the spec AFAICS, so
> calling it that is a bit confusing.
> 
>> which is required to add support for systems with Thunderbolt or other
>> repeater devices.
> 
> "required" seems a bit strong. IIRC by default these things should be in
> transparent mode so the DPTX can remain blissfully unaware of their
> presence.
> 

That's the idea but in reality things usually don't work out like this.
I remember a couple years back debugging Thunderbolt and having it
modify DPCD register reads on me and messing up link training with
certain receivers.

Either way, we've found that in order to receive a reliable
implementation we need to make use of the LTTPR functionality.

>>
>> Changes since V3:
>> - Replace spaces by tabs
>> Changes since V2:
>> - Drop the kernel-doc comment
>> - Reorder LTTPR according to register offset
>> Changes since V1:
>> - Adjusts registers names to be aligned with spec and the rest of the
>>   file
>> - Update spec comment from 1.4 to 1.4a
>>
>> Cc: Abdoulaye Berthe <Abdoulaye.Berthe@amd.com>
>> Cc: Harry Wentland <harry.wentland@amd.com>
>> Cc: Leo Li <sunpeng.li@amd.com>
>> Cc: Jani Nikula <jani.nikula@linux.intel.com>
>> Cc: Manasi Navare <manasi.d.navare@intel.com>
>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
>> Signed-off-by: Abdoulaye Berthe <Abdoulaye.Berthe@amd.com>
>> Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
>> ---
>>  include/drm/drm_dp_helper.h | 25 +++++++++++++++++++++++++
>>  1 file changed, 25 insertions(+)
>>
>> diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
>> index 8364502f92cf..5abed96a1cb1 100644
>> --- a/include/drm/drm_dp_helper.h
>> +++ b/include/drm/drm_dp_helper.h
>> @@ -966,6 +966,31 @@
>>  #define DP_HDCP_2_2_REG_STREAM_TYPE_OFFSET	0x69494
>>  #define DP_HDCP_2_2_REG_DBG_OFFSET		0x69518
>>  
>> +/* Link Training (LT)-tunable Physical Repeaters - DP 1.4a */
> 
> s/Physical/PHY/ to match the spec.
> 
>> +#define DP_LT_TUNABLE_PHY_REPEATER_FIELD_DATA_STRUCTURE_REV	0xf0000
>> +#define DP_MAX_LINK_RATE_PHY_REPEATER				0xf0001
>> +#define DP_PHY_REPEATER_CNT					0xf0002
>> +#define DP_PHY_REPEATER_MODE					0xf0003
>> +#define DP_MAX_LANE_COUNT_PHY_REPEATER				0xf0004
>> +#define DP_PHY_REPEATER_EXTENDED_WAIT_TIMEOUT			0xf0005
> 
> The last two are DP 1.4a it seems.
> 
> 0xf0004 was called Repeater_FEC_CAPABILITY in 1.4. But the spec doesn't
> say anything about the DPCD revision so I have no idea how you're
> supposed to decide which definition to use.
> 
> DP 1.4a seems to have added FEC_CAPABILITY_PHY_REPEATER1 at 0xf0294.
> To replace the 1.4 Repeater_FEC_CAPABILITY I suppose.
> 

This part confused me when I saw it in 1.4 and 1.4a. It's probably
safest to go with the 1.4a definition.

>> +#define DP_TRAINING_PATTERN_SET_PHY_REPEATER1			0xf0010
>> +#define DP_TRAINING_LANE0_SET_PHY_REPEATER1			0xf0011
>> +#define DP_TRAINING_LANE1_SET_PHY_REPEATER1			0xf0012
>> +#define DP_TRAINING_LANE2_SET_PHY_REPEATER1			0xf0013
>> +#define DP_TRAINING_LANE3_SET_PHY_REPEATER1			0xf0014
>> +#define DP_TRAINING_AUX_RD_INTERVAL_PHY_REPEATER1		0xf0020
>> +#define DP_TRANSMITTER_CAPABILITY_PHY_REPEATER1			0xf0021
> 
> Above two are DP 1.4a.
> 
>> +#define DP_LANE0_1_STATUS_PHY_REPEATER1				0xf0030
>> +#define DP_LANE2_3_STATUS_PHY_REPEATER1				0xf0031
>> +#define DP_LANE_ALIGN_STATUS_UPDATED_PHY_REPEATER1		0xf0032
>> +#define DP_ADJUST_REQUEST_LANE0_1_PHY_REPEATER1			0xf0033
>> +#define DP_ADJUST_REQUEST_LANE2_3_PHY_REPEATER1			0xf0034
>> +#define DP_SYMBOL_ERROR_COUNT_LANE0_PHY_REPEATER1		0xf0035
>> +#define DP_SYMBOL_ERROR_COUNT_LANE1_PHY_REPEATER1		0xf0037
>> +#define DP_SYMBOL_ERROR_COUNT_LANE2_PHY_REPEATER1		0xf0039
>> +#define DP_SYMBOL_ERROR_COUNT_LANE3_PHY_REPEATER1		0xf003b
>> +#define DP_FEC_STATUS_PHY_REPEATER1				0xf0290
> 
> This seems to have appared in DP 1.4.
> 
> You skipped quite a few registers here. I guess those were deemed not
> important?
> 

They won't be used by us at the moment.

Harry

>> +
>>  /* DP HDCP message start offsets in DPCD address space */
>>  #define DP_HDCP_2_2_AKE_INIT_OFFSET		DP_HDCP_2_2_REG_RTX_OFFSET
>>  #define DP_HDCP_2_2_AKE_SEND_CERT_OFFSET	DP_HDCP_2_2_REG_CERT_RX_OFFSET
>> -- 
>> 2.23.0
> 
> 
> 
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH V4] drm: Add LTTPR defines for DP 1.4a
       [not found]       ` <bc61a7de-2183-cb28-65e0-3b7545fb556b-5C7GfCeVMHo@public.gmane.org>
@ 2019-09-05 19:51         ` Siqueira, Rodrigo
  2019-09-06 11:04           ` Ville Syrjälä
  0 siblings, 1 reply; 5+ messages in thread
From: Siqueira, Rodrigo @ 2019-09-05 19:51 UTC (permalink / raw)
  To: Ville Syrjälä
  Cc: Li, Sun peng (Leo),
	Berthe, Abdoulaye, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	Manasi Navare, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	Daniel Vetter, Wentland, Harry


[-- Attachment #1.1: Type: text/plain, Size: 6030 bytes --]

Hi Ville,

First of all, thank you very much for the review.

I added some comments below.

On 09/05, Wentland, Harry wrote:
> On 2019-09-05 1:29 p.m., Ville Syrjälä wrote:
> > On Wed, Sep 04, 2019 at 07:02:18PM +0000, Siqueira, Rodrigo wrote:
> >> DP 1.4a specification defines Link Training Tunable PHY Repeater (LTTPR)
> > 
> > A bunch of this stuff was already in DP 1.3 so the statement here
> > (and in the comment) is a bit misleading.
> > 
> > "LTTPR" is not a name that appears anywhere in the spec AFAICS, so
> > calling it that is a bit confusing.
> > 

We are using "VESA DisplayPort (DP) Standard 1.4a" as a reference. We
double-checked the specification, and we found many occurrences of
LTTPR.

> >> which is required to add support for systems with Thunderbolt or other
> >> repeater devices.
> > 
> > "required" seems a bit strong. IIRC by default these things should be in
> > transparent mode so the DPTX can remain blissfully unaware of their
> > presence.
> > 

Just for adding some extra information:

LTTPR can work in two modes: non-transparent and transparent. In the
non-transparent mode we need to train each repeater in the link which
brings the benefit of better signal quality in contrast to the
transparent mode.
 
> That's the idea but in reality things usually don't work out like this.
> I remember a couple years back debugging Thunderbolt and having it
> modify DPCD register reads on me and messing up link training with
> certain receivers.
> 
> Either way, we've found that in order to receive a reliable
> implementation we need to make use of the LTTPR functionality.
> 
> >>
> >> Changes since V3:
> >> - Replace spaces by tabs
> >> Changes since V2:
> >> - Drop the kernel-doc comment
> >> - Reorder LTTPR according to register offset
> >> Changes since V1:
> >> - Adjusts registers names to be aligned with spec and the rest of the
> >>   file
> >> - Update spec comment from 1.4 to 1.4a
> >>
> >> Cc: Abdoulaye Berthe <Abdoulaye.Berthe-5C7GfCeVMHo@public.gmane.org>
> >> Cc: Harry Wentland <harry.wentland-5C7GfCeVMHo@public.gmane.org>
> >> Cc: Leo Li <sunpeng.li-5C7GfCeVMHo@public.gmane.org>
> >> Cc: Jani Nikula <jani.nikula-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
> >> Cc: Manasi Navare <manasi.d.navare-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> >> Cc: Ville Syrjälä <ville.syrjala-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
> >> Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira-5C7GfCeVMHo@public.gmane.org>
> >> Signed-off-by: Abdoulaye Berthe <Abdoulaye.Berthe-5C7GfCeVMHo@public.gmane.org>
> >> Reviewed-by: Harry Wentland <Harry.Wentland-5C7GfCeVMHo@public.gmane.org>
> >> ---
> >>  include/drm/drm_dp_helper.h | 25 +++++++++++++++++++++++++
> >>  1 file changed, 25 insertions(+)
> >>
> >> diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
> >> index 8364502f92cf..5abed96a1cb1 100644
> >> --- a/include/drm/drm_dp_helper.h
> >> +++ b/include/drm/drm_dp_helper.h
> >> @@ -966,6 +966,31 @@
> >>  #define DP_HDCP_2_2_REG_STREAM_TYPE_OFFSET	0x69494
> >>  #define DP_HDCP_2_2_REG_DBG_OFFSET		0x69518
> >>  
> >> +/* Link Training (LT)-tunable Physical Repeaters - DP 1.4a */
> > 
> > s/Physical/PHY/ to match the spec.
> > 
> >> +#define DP_LT_TUNABLE_PHY_REPEATER_FIELD_DATA_STRUCTURE_REV	0xf0000
> >> +#define DP_MAX_LINK_RATE_PHY_REPEATER				0xf0001
> >> +#define DP_PHY_REPEATER_CNT					0xf0002
> >> +#define DP_PHY_REPEATER_MODE					0xf0003
> >> +#define DP_MAX_LANE_COUNT_PHY_REPEATER				0xf0004
> >> +#define DP_PHY_REPEATER_EXTENDED_WAIT_TIMEOUT			0xf0005
> > 
> > The last two are DP 1.4a it seems.
> > 
> > 0xf0004 was called Repeater_FEC_CAPABILITY in 1.4. But the spec doesn't
> > say anything about the DPCD revision so I have no idea how you're
> > supposed to decide which definition to use.
> > 
> > DP 1.4a seems to have added FEC_CAPABILITY_PHY_REPEATER1 at 0xf0294.
> > To replace the 1.4 Repeater_FEC_CAPABILITY I suppose.
> > 

Touché! :)
Really good point, we have to check it.

For the next version, I'll add comments for showing if an address came
from 1.4 or 1.4a. I'll also apply the other suggestions.

Thank you again!
 
> This part confused me when I saw it in 1.4 and 1.4a. It's probably
> safest to go with the 1.4a definition.
> 
> >> +#define DP_TRAINING_PATTERN_SET_PHY_REPEATER1			0xf0010
> >> +#define DP_TRAINING_LANE0_SET_PHY_REPEATER1			0xf0011
> >> +#define DP_TRAINING_LANE1_SET_PHY_REPEATER1			0xf0012
> >> +#define DP_TRAINING_LANE2_SET_PHY_REPEATER1			0xf0013
> >> +#define DP_TRAINING_LANE3_SET_PHY_REPEATER1			0xf0014
> >> +#define DP_TRAINING_AUX_RD_INTERVAL_PHY_REPEATER1		0xf0020
> >> +#define DP_TRANSMITTER_CAPABILITY_PHY_REPEATER1			0xf0021
> > 
> > Above two are DP 1.4a.
> > 
> >> +#define DP_LANE0_1_STATUS_PHY_REPEATER1				0xf0030
> >> +#define DP_LANE2_3_STATUS_PHY_REPEATER1				0xf0031
> >> +#define DP_LANE_ALIGN_STATUS_UPDATED_PHY_REPEATER1		0xf0032
> >> +#define DP_ADJUST_REQUEST_LANE0_1_PHY_REPEATER1			0xf0033
> >> +#define DP_ADJUST_REQUEST_LANE2_3_PHY_REPEATER1			0xf0034
> >> +#define DP_SYMBOL_ERROR_COUNT_LANE0_PHY_REPEATER1		0xf0035
> >> +#define DP_SYMBOL_ERROR_COUNT_LANE1_PHY_REPEATER1		0xf0037
> >> +#define DP_SYMBOL_ERROR_COUNT_LANE2_PHY_REPEATER1		0xf0039
> >> +#define DP_SYMBOL_ERROR_COUNT_LANE3_PHY_REPEATER1		0xf003b
> >> +#define DP_FEC_STATUS_PHY_REPEATER1				0xf0290
> > 
> > This seems to have appared in DP 1.4.
> > 
> > You skipped quite a few registers here. I guess those were deemed not
> > important?
> > 
> 
> They won't be used by us at the moment.
> 
> Harry
> 
> >> +
> >>  /* DP HDCP message start offsets in DPCD address space */
> >>  #define DP_HDCP_2_2_AKE_INIT_OFFSET		DP_HDCP_2_2_REG_RTX_OFFSET
> >>  #define DP_HDCP_2_2_AKE_SEND_CERT_OFFSET	DP_HDCP_2_2_REG_CERT_RX_OFFSET
> >> -- 
> >> 2.23.0
> > 
> > 
> > 

-- 
Rodrigo Siqueira
Software Engineer, Advanced Micro Devices (AMD)
https://siqueira.tech

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

[-- Attachment #2: Type: text/plain, Size: 153 bytes --]

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH V4] drm: Add LTTPR defines for DP 1.4a
  2019-09-05 19:51         ` Siqueira, Rodrigo
@ 2019-09-06 11:04           ` Ville Syrjälä
  0 siblings, 0 replies; 5+ messages in thread
From: Ville Syrjälä @ 2019-09-06 11:04 UTC (permalink / raw)
  To: Siqueira, Rodrigo
  Cc: Li, Sun peng (Leo), Berthe, Abdoulaye, dri-devel, Manasi Navare, amd-gfx

On Thu, Sep 05, 2019 at 07:51:59PM +0000, Siqueira, Rodrigo wrote:
> Hi Ville,
> 
> First of all, thank you very much for the review.
> 
> I added some comments below.
> 
> On 09/05, Wentland, Harry wrote:
> > On 2019-09-05 1:29 p.m., Ville Syrjälä wrote:
> > > On Wed, Sep 04, 2019 at 07:02:18PM +0000, Siqueira, Rodrigo wrote:
> > >> DP 1.4a specification defines Link Training Tunable PHY Repeater (LTTPR)
> > > 
> > > A bunch of this stuff was already in DP 1.3 so the statement here
> > > (and in the comment) is a bit misleading.
> > > 
> > > "LTTPR" is not a name that appears anywhere in the spec AFAICS, so
> > > calling it that is a bit confusing.
> > > 
> 
> We are using "VESA DisplayPort (DP) Standard 1.4a" as a reference. We
> double-checked the specification, and we found many occurrences of
> LTTPR.

Ah, yes I can see it in 1.4a. Earlier versions didn't use that acronym.
I withdraw my objection to this then.

-- 
Ville Syrjälä
Intel
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-09-06 11:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-04 19:02 [PATCH V4] drm: Add LTTPR defines for DP 1.4a Siqueira, Rodrigo
2019-09-05 17:29 ` Ville Syrjälä
     [not found]   ` <20190905172914.GN7482-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2019-09-05 17:44     ` Harry Wentland
     [not found]       ` <bc61a7de-2183-cb28-65e0-3b7545fb556b-5C7GfCeVMHo@public.gmane.org>
2019-09-05 19:51         ` Siqueira, Rodrigo
2019-09-06 11:04           ` Ville Syrjälä

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.