diff mbox series

drm: Add LTTPR defines for DP 1.4

Message ID 20190822224607.m73g3a2a23zww644@outlook.office365.com (mailing list archive)
State New, archived
Headers show
Series drm: Add LTTPR defines for DP 1.4 | expand

Commit Message

Rodrigo Siqueira Jordao Aug. 22, 2019, 10:46 p.m. UTC
DP 1.4 specification defines Link Training Tunable PHY Repeater (LTTPR)
which is required to add support for systems with Thunderbolt or other
repeater devices.

Cc: Abdoulaye Berthe <Abdoulaye.Berthe@amd.com>
Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Abdoulaye Berthe <Abdoulaye.Berthe@amd.com>
---
 include/drm/drm_dp_helper.h | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

Comments

Harry Wentland Aug. 23, 2019, 3:57 p.m. UTC | #1
On 2019-08-22 6:46 p.m., Siqueira, Rodrigo wrote:
> DP 1.4 specification defines Link Training Tunable PHY Repeater (LTTPR)
> which is required to add support for systems with Thunderbolt or other
> repeater devices.
> 
> Cc: Abdoulaye Berthe <Abdoulaye.Berthe@amd.com>
> Cc: Harry Wentland <harry.wentland@amd.com>
> Cc: Leo Li <sunpeng.li@amd.com>
> Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
> Signed-off-by: Abdoulaye Berthe <Abdoulaye.Berthe@amd.com>
> ---
>  include/drm/drm_dp_helper.h | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
> 
> diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
> index 8364502f92cf..8336d960da7f 100644
> --- a/include/drm/drm_dp_helper.h
> +++ b/include/drm/drm_dp_helper.h
> @@ -134,6 +134,32 @@
>  #define DP_SUPPORTED_LINK_RATES		    0x010 /* eDP 1.4 */
>  # define DP_MAX_SUPPORTED_RATES		     8	    /* 16-bit little-endian */
>  
> +/** Link Training (LT)-tunable Physical Repeaters - DP 1.4 **/
> +#define DP_LTTPR_REV                                  0xf0000
> +#define DP_LTTPR_MAX_LINK_RATE                        0xf0001
> +#define DP_LTTPR_REPEATER_CNT                         0xf0002
> +#define DP_LTTPR_REPEATER_MODE                        0xf0003
> +#define DP_LTTPR_MAX_LANE_CNT                         0xf0004
> +#define DP_LTTPR_EXTENDED_WAIT_TIMEOUT                0xf0005
> +#define DP_LTTPR_TRAINING_PATTERN_SET_REPEATER1       0xf0010
> +#define DP_LTTPR_TRAINING_LANE0_SET_REPEATER1         0xf0011
> +#define DP_LTTPR_TRAINING_LANE1_SET_REPEATER1         0xf0012
> +#define DP_LTTPR_TRAINING_LANE2_SET_REPEATER1         0xf0013
> +#define DP_LTTPR_TRAINING_LANE3_SET_REPEATER1         0xf0014

Can we align the register naming with the spec and to align with the
rest of this file?

The seem to take the form of DP_<name-from-spec>

E.g. call this one DP_TRAINING_LANE3_SET_PHY_REPEATER1

Same for all other registers.

Keeping the naming consistent makes it easier to search.

> +#define DP_LTTPR_TRAINING_AUX_RD_INTERVAL_REPEATER1   0xf0020
> +#define DP_LTTPR_TRANSMITTER_CAPABILITY_REPEATER1     0xf0021
> +#define DP_LTTPR_LANE0_1_STATUS_REPEATER1             0xf0030
> +#define DP_LTTPR_LANE2_3_STATUS_REPEATER1             0xf0031
> +#define DP_LTTPR_LANE_ALIGN_STATUS_UPDATED_REPEATER1  0xf0032
> +#define DP_LTTPR_ADJUST_REQUEST_LANE0_1_REPEATER1     0xf0033
> +#define DP_LTTPR_ADJUST_REQUEST_LANE2_3_REPEATER1     0xf0034
> +#define DP_LTTPR_SYMBOL_ERROR_COUNT_LANE0_REPEATER1   0xf0035
> +#define DP_LTTPR_SYMBOL_ERROR_COUNT_LANE1_REPEATER1   0xf0037
> +#define DP_LTTPR_SYMBOL_ERROR_COUNT_LANE2_REPEATER1   0xf0039
> +#define DP_LTTPR_SYMBOL_ERROR_COUNT_LANE3_REPEATER1   0xf003b
> +#define DP_REPEATER_CONFIGURATION_AND_STATUS_OFFSET   0x50

With a cursory search I can't seem to find this in the spec. Where is
this coming from?

Harry

> +#define DP_LTTPR_FEC_STATUS_REPEATER1                 0xf0290> +
>  /* Multiple stream transport */
>  #define DP_FAUX_CAP			    0x020   /* 1.2 */
>  # define DP_FAUX_CAP_1			    (1 << 0)
>
Rodrigo Siqueira Jordao Aug. 23, 2019, 7:37 p.m. UTC | #2
Hi Harry,

Thanks for your feedback, I'll prepare a V2.

On 08/23, Wentland, Harry wrote:
> On 2019-08-22 6:46 p.m., Siqueira, Rodrigo wrote:
> > DP 1.4 specification defines Link Training Tunable PHY Repeater (LTTPR)
> > which is required to add support for systems with Thunderbolt or other
> > repeater devices.
> > 
> > Cc: Abdoulaye Berthe <Abdoulaye.Berthe@amd.com>
> > Cc: Harry Wentland <harry.wentland@amd.com>
> > Cc: Leo Li <sunpeng.li@amd.com>
> > Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
> > Signed-off-by: Abdoulaye Berthe <Abdoulaye.Berthe@amd.com>
> > ---
> >  include/drm/drm_dp_helper.h | 26 ++++++++++++++++++++++++++
> >  1 file changed, 26 insertions(+)
> > 
> > diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
> > index 8364502f92cf..8336d960da7f 100644
> > --- a/include/drm/drm_dp_helper.h
> > +++ b/include/drm/drm_dp_helper.h
> > @@ -134,6 +134,32 @@
> >  #define DP_SUPPORTED_LINK_RATES		    0x010 /* eDP 1.4 */
> >  # define DP_MAX_SUPPORTED_RATES		     8	    /* 16-bit little-endian */
> >  
> > +/** Link Training (LT)-tunable Physical Repeaters - DP 1.4 **/
> > +#define DP_LTTPR_REV                                  0xf0000
> > +#define DP_LTTPR_MAX_LINK_RATE                        0xf0001
> > +#define DP_LTTPR_REPEATER_CNT                         0xf0002
> > +#define DP_LTTPR_REPEATER_MODE                        0xf0003
> > +#define DP_LTTPR_MAX_LANE_CNT                         0xf0004
> > +#define DP_LTTPR_EXTENDED_WAIT_TIMEOUT                0xf0005
> > +#define DP_LTTPR_TRAINING_PATTERN_SET_REPEATER1       0xf0010
> > +#define DP_LTTPR_TRAINING_LANE0_SET_REPEATER1         0xf0011
> > +#define DP_LTTPR_TRAINING_LANE1_SET_REPEATER1         0xf0012
> > +#define DP_LTTPR_TRAINING_LANE2_SET_REPEATER1         0xf0013
> > +#define DP_LTTPR_TRAINING_LANE3_SET_REPEATER1         0xf0014
> 
> Can we align the register naming with the spec and to align with the
> rest of this file?
> 
> The seem to take the form of DP_<name-from-spec>
> 
> E.g. call this one DP_TRAINING_LANE3_SET_PHY_REPEATER1
> 
> Same for all other registers.
> 
> Keeping the naming consistent makes it easier to search.
> 
> > +#define DP_LTTPR_TRAINING_AUX_RD_INTERVAL_REPEATER1   0xf0020
> > +#define DP_LTTPR_TRANSMITTER_CAPABILITY_REPEATER1     0xf0021
> > +#define DP_LTTPR_LANE0_1_STATUS_REPEATER1             0xf0030
> > +#define DP_LTTPR_LANE2_3_STATUS_REPEATER1             0xf0031
> > +#define DP_LTTPR_LANE_ALIGN_STATUS_UPDATED_REPEATER1  0xf0032
> > +#define DP_LTTPR_ADJUST_REQUEST_LANE0_1_REPEATER1     0xf0033
> > +#define DP_LTTPR_ADJUST_REQUEST_LANE2_3_REPEATER1     0xf0034
> > +#define DP_LTTPR_SYMBOL_ERROR_COUNT_LANE0_REPEATER1   0xf0035
> > +#define DP_LTTPR_SYMBOL_ERROR_COUNT_LANE1_REPEATER1   0xf0037
> > +#define DP_LTTPR_SYMBOL_ERROR_COUNT_LANE2_REPEATER1   0xf0039
> > +#define DP_LTTPR_SYMBOL_ERROR_COUNT_LANE3_REPEATER1   0xf003b
> > +#define DP_REPEATER_CONFIGURATION_AND_STATUS_OFFSET   0x50
> 
> With a cursory search I can't seem to find this in the spec. Where is
> this coming from?
> 
> Harry
> 
> > +#define DP_LTTPR_FEC_STATUS_REPEATER1                 0xf0290> +
> >  /* Multiple stream transport */
> >  #define DP_FAUX_CAP			    0x020   /* 1.2 */
> >  # define DP_FAUX_CAP_1			    (1 << 0)
> > 
>
diff mbox series

Patch

diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index 8364502f92cf..8336d960da7f 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -134,6 +134,32 @@ 
 #define DP_SUPPORTED_LINK_RATES		    0x010 /* eDP 1.4 */
 # define DP_MAX_SUPPORTED_RATES		     8	    /* 16-bit little-endian */
 
+/** Link Training (LT)-tunable Physical Repeaters - DP 1.4 **/
+#define DP_LTTPR_REV                                  0xf0000
+#define DP_LTTPR_MAX_LINK_RATE                        0xf0001
+#define DP_LTTPR_REPEATER_CNT                         0xf0002
+#define DP_LTTPR_REPEATER_MODE                        0xf0003
+#define DP_LTTPR_MAX_LANE_CNT                         0xf0004
+#define DP_LTTPR_EXTENDED_WAIT_TIMEOUT                0xf0005
+#define DP_LTTPR_TRAINING_PATTERN_SET_REPEATER1       0xf0010
+#define DP_LTTPR_TRAINING_LANE0_SET_REPEATER1         0xf0011
+#define DP_LTTPR_TRAINING_LANE1_SET_REPEATER1         0xf0012
+#define DP_LTTPR_TRAINING_LANE2_SET_REPEATER1         0xf0013
+#define DP_LTTPR_TRAINING_LANE3_SET_REPEATER1         0xf0014
+#define DP_LTTPR_TRAINING_AUX_RD_INTERVAL_REPEATER1   0xf0020
+#define DP_LTTPR_TRANSMITTER_CAPABILITY_REPEATER1     0xf0021
+#define DP_LTTPR_LANE0_1_STATUS_REPEATER1             0xf0030
+#define DP_LTTPR_LANE2_3_STATUS_REPEATER1             0xf0031
+#define DP_LTTPR_LANE_ALIGN_STATUS_UPDATED_REPEATER1  0xf0032
+#define DP_LTTPR_ADJUST_REQUEST_LANE0_1_REPEATER1     0xf0033
+#define DP_LTTPR_ADJUST_REQUEST_LANE2_3_REPEATER1     0xf0034
+#define DP_LTTPR_SYMBOL_ERROR_COUNT_LANE0_REPEATER1   0xf0035
+#define DP_LTTPR_SYMBOL_ERROR_COUNT_LANE1_REPEATER1   0xf0037
+#define DP_LTTPR_SYMBOL_ERROR_COUNT_LANE2_REPEATER1   0xf0039
+#define DP_LTTPR_SYMBOL_ERROR_COUNT_LANE3_REPEATER1   0xf003b
+#define DP_REPEATER_CONFIGURATION_AND_STATUS_OFFSET   0x50
+#define DP_LTTPR_FEC_STATUS_REPEATER1                 0xf0290
+
 /* Multiple stream transport */
 #define DP_FAUX_CAP			    0x020   /* 1.2 */
 # define DP_FAUX_CAP_1			    (1 << 0)