Re: [PATCH v2 1/8] usb: typec: Correct the bit values for the Thunderbolt rounded/non-rounded cable support

From: Heikki Krogerus
Date: Tue Nov 17 2020 - 05:44:04 EST


On Fri, Nov 13, 2020 at 12:24:56PM -0800, Utkarsh Patel wrote:
> Rounded and non-rounded Thunderbolt cables are represented by two bits as
> per USB Type-C Connector specification v2.0 section F.2.6.
> Corrected that in the Thunderbolt 3 cable discover mode VDO.
>
> Signed-off-by: Utkarsh Patel <utkarsh.h.patel@xxxxxxxxx>

Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>

> --
> Changes in v2:
> - Removed the fixes tag as there is no functional implication.
> --
> ---
> include/linux/usb/typec_tbt.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/include/linux/usb/typec_tbt.h b/include/linux/usb/typec_tbt.h
> index 47c2d501ddce..aad648d14bb3 100644
> --- a/include/linux/usb/typec_tbt.h
> +++ b/include/linux/usb/typec_tbt.h
> @@ -40,11 +40,16 @@ struct typec_thunderbolt_data {
> #define TBT_CABLE_USB3_PASSIVE 2
> #define TBT_CABLE_10_AND_20GBPS 3
> #define TBT_CABLE_ROUNDED BIT(19)
> +#define TBT_CABLE_ROUNDED_SUPPORT(_vdo_) \
> + (((_vdo_) & GENMASK(20, 19)) >> 19)
> +#define TBT_GEN3_NON_ROUNDED 0
> +#define TBT_GEN3_GEN4_ROUNDED_NON_ROUNDED 1
> #define TBT_CABLE_OPTICAL BIT(21)
> #define TBT_CABLE_RETIMER BIT(22)
> #define TBT_CABLE_LINK_TRAINING BIT(23)
>
> #define TBT_SET_CABLE_SPEED(_s_) (((_s_) & GENMASK(2, 0)) << 16)
> +#define TBT_SET_CABLE_ROUNDED(_g_) (((_g_) & GENMASK(1, 0)) << 19)
>
> /* TBT3 Device Enter Mode VDO bits */
> #define TBT_ENTER_MODE_CABLE_SPEED(s) TBT_SET_CABLE_SPEED(s)

thanks,

--
heikki