Re: [PATCH v1] usb: typec: tcpm: PD3.0 sinks can send Discover Identity even in device mode

From: Heikki Krogerus
Date: Thu Mar 18 2021 - 03:48:57 EST


On Wed, Mar 17, 2021 at 11:56:04PM -0700, Badhri Jagan Sridharan wrote:
> >From 6.4.4.2 Structured VDM:
> • Either Port May be an Initiator of Structured VDMs except for the Enter
> Mode and Exit Mode Commands which Shall only be initiated by the DFP."
>
> The above implies that when PD3.0 link is established PD3.0 sinks
> can send out discover identity command/AMS once PD negotiation is done.
> This allows discovering identity for PD3.0 UFP ports as well.
>
> Signed-off-by: Badhri Jagan Sridharan <badhri@xxxxxxxxxx>

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

> ---
> drivers/usb/typec/tcpm/tcpm.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
> index 11d0c40bc47d..410856ec1702 100644
> --- a/drivers/usb/typec/tcpm/tcpm.c
> +++ b/drivers/usb/typec/tcpm/tcpm.c
> @@ -3653,8 +3653,8 @@ static inline enum tcpm_state unattached_state(struct tcpm_port *port)
>
> static void tcpm_check_send_discover(struct tcpm_port *port)
> {
> - if (port->data_role == TYPEC_HOST && port->send_discover &&
> - port->pd_capable)
> + if ((port->data_role == TYPEC_HOST || port->negotiated_rev > PD_REV20) &&
> + port->send_discover && port->pd_capable)
> tcpm_send_vdm(port, USB_SID_PD, CMD_DISCOVER_IDENT, NULL, 0);
> port->send_discover = false;
> }
> --
> 2.31.0.rc2.261.g7f71774620-goog

thanks,

--
heikki