RE: [PATCH v4 1/2] platform/chrome: cros_ec_typec: Configure Retimer cable type

From: Patel, Utkarsh H
Date: Mon Aug 21 2023 - 13:18:17 EST


Hi Prashant,

Thank you for the review.

> -----Original Message-----
> From: Prashant Malani <pmalani@xxxxxxxxxxxx>
> Sent: Friday, August 18, 2023 10:02 AM
> To: Patel, Utkarsh H <utkarsh.h.patel@xxxxxxxxx>
> Cc: linux-kernel@xxxxxxxxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx;
> heikki.krogerus@xxxxxxxxxxxxxxx; bleung@xxxxxxxxxxxx
> Subject: Re: [PATCH v4 1/2] platform/chrome: cros_ec_typec: Configure
> Retimer cable type
>
> > /*
> > * Spoof the VDOs that were likely communicated by the partner for TBT alt
> > * mode.
> > @@ -432,6 +453,9 @@ static int cros_typec_enable_tbt(struct
> > cros_typec_data *typec,
> >
> > /* Cable Discover Mode VDO */
> > data.cable_mode = TBT_MODE;
> > +
> > + data.cable_mode |= cros_typec_get_cable_vdo(port,
> > +USB_TYPEC_TBT_SID);
> > +
> > data.cable_mode |= TBT_SET_CABLE_SPEED(pd_ctrl->cable_speed);
> >
> > if (pd_ctrl->control_flags & USB_PD_CTRL_OPTICAL_CABLE) @@ -
> 522,8
> > +546,10 @@ static int cros_typec_enable_usb4(struct cros_typec_data
> *typec,
> > /* Cable Type */
> > if (pd_ctrl->control_flags & USB_PD_CTRL_OPTICAL_CABLE)
> > data.eudo |= EUDO_CABLE_TYPE_OPTICAL <<
> EUDO_CABLE_TYPE_SHIFT;
> > - else if (pd_ctrl->control_flags & USB_PD_CTRL_ACTIVE_CABLE)
> > + else if (cros_typec_get_cable_vdo(port, USB_TYPEC_TBT_SID) &
> > +TBT_CABLE_RETIMER)
> > data.eudo |= EUDO_CABLE_TYPE_RE_TIMER <<
> EUDO_CABLE_TYPE_SHIFT;
> We shouldn't need to call cros_typec_get_cable_vdo more than once. Either
> call it once earlier when you are crafting the data.cable_mode member and
> then re-use that variable here. Or don't call it there and just call it here.

We are only calling it once depending upon which mode we enter TBT Alt or USB4.

Sincerely,
Utkarsh Patel.