[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <MWHPR11MB004881BD25EDEA77F68931C1A9E20@MWHPR11MB0048.namprd11.prod.outlook.com>
Date: Tue, 17 Nov 2020 22:37:25 +0000
From: "Patel, Utkarsh H" <utkarsh.h.patel@...el.com>
To: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
"pmalani@...omium.org" <pmalani@...omium.org>,
"enric.balletbo@...labora.com" <enric.balletbo@...labora.com>,
"Mani, Rajmohan" <rajmohan.mani@...el.com>,
"Shaikh, Azhar" <azhar.shaikh@...el.com>
Subject: RE: [PATCH v2 7/8] usb: typec: intel_pmc_mux: Configure active cable
properties for USB4
Hi Heikki,
> -----Original Message-----
> From: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
> Sent: Tuesday, November 17, 2020 4:22 AM
> To: Patel, Utkarsh H <utkarsh.h.patel@...el.com>
> Cc: linux-kernel@...r.kernel.org; linux-usb@...r.kernel.org;
> pmalani@...omium.org; enric.balletbo@...labora.com; Mani, Rajmohan
> <rajmohan.mani@...el.com>; Shaikh, Azhar <azhar.shaikh@...el.com>
> Subject: Re: [PATCH v2 7/8] usb: typec: intel_pmc_mux: Configure active cable
> properties for USB4
>
> On Fri, Nov 13, 2020 at 12:25:02PM -0800, Utkarsh Patel wrote:
> > Value received as a part of Thunderbolt 3 cable discover mode VDO
> > needs to be configured in the USB4 mode for the Thunderbolt rounded
> > support and active cable plug link training.
> >
> > Suggested-by: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
> > Signed-off-by: Utkarsh Patel <utkarsh.h.patel@...el.com>
> >
> > --
> > Changes in v2:
> > - No change.
> > --
> > ---
> > drivers/usb/typec/mux/intel_pmc_mux.c | 18 +++++++++++++++---
> > 1 file changed, 15 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/usb/typec/mux/intel_pmc_mux.c
> > b/drivers/usb/typec/mux/intel_pmc_mux.c
> > index aa3211f1c4c3..61feb358aad3 100644
> > --- a/drivers/usb/typec/mux/intel_pmc_mux.c
> > +++ b/drivers/usb/typec/mux/intel_pmc_mux.c
> > @@ -295,6 +295,7 @@ pmc_usb_mux_usb4(struct pmc_usb_port *port,
> struct
> > typec_mux_state *state) {
> > struct enter_usb_data *data = state->data;
> > struct altmode_req req = { };
> > + u8 cable_rounded;
> > u8 cable_speed;
> >
> > if (IOM_PORT_ACTIVITY_IS(port->iom_status, TBT) || @@ -308,9
> +309,6
> > @@ pmc_usb_mux_usb4(struct pmc_usb_port *port, struct
> typec_mux_state *state)
> > /* USB4 Mode */
> > req.mode_data = PMC_USB_ALTMODE_FORCE_LSR;
> >
> > - if (data->active_link_training)
> > - req.mode_data |= PMC_USB_ALTMODE_ACTIVE_LINK;
> > -
> > req.mode_data |= (port->orientation - 1) <<
> PMC_USB_ALTMODE_ORI_SHIFT;
> > req.mode_data |= (port->role - 1) << PMC_USB_ALTMODE_UFP_SHIFT;
> >
> > @@ -322,6 +320,20 @@ pmc_usb_mux_usb4(struct pmc_usb_port *port,
> struct typec_mux_state *state)
> > fallthrough;
> > default:
> > req.mode_data |= PMC_USB_ALTMODE_ACTIVE_CABLE;
> > +
> > + if (data->tbt_cable_vdo) {
> > + /* Active Thunderbolt 3 cable */
> > + if (data->tbt_cable_vdo &
> TBT_CABLE_LINK_TRAINING)
> > + req.mode_data |=
> PMC_USB_ALTMODE_ACTIVE_LINK;
> > +
> > + cable_rounded =
> > + TBT_CABLE_ROUNDED_SUPPORT(data-
> >tbt_cable_vdo);
>
> No need for the newline:
Ack
>
> cable_rounded =
> TBT_CABLE_ROUNDED_SUPPORT(data->tbt_cable_vdo);
>
> > + req.mode_data |=
> PMC_USB_ALTMODE_TBT_GEN(cable_rounded);
> > + } else {
> > + /* Active USB4 cable */
> > + req.mode_data |= PMC_USB_ALTMODE_ACTIVE_LINK
> |
> > + PMC_USB_ALTMODE_TBT_GEN(1);
> > + }
> > break;
> > }
>
> thanks,
>
> --
> Heikki
Sincerely,
Utkarsh Patel.
Powered by blists - more mailing lists