linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
To: Prashant Malani <pmalani@chromium.org>
Cc: "Shaikh, Azhar" <azhar.shaikh@intel.com>,
	"bleung@chromium.org" <bleung@chromium.org>,
	"enric.balletbo@collabora.com" <enric.balletbo@collabora.com>,
	"groeck@chromium.org" <groeck@chromium.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Patel, Utkarsh H" <utkarsh.h.patel@intel.com>,
	"Bowman, Casey G" <casey.g.bowman@intel.com>,
	"Mani, Rajmohan" <rajmohan.mani@intel.com>
Subject: Re: [PATCH v2 2/2] platform/chrome: cros_ec_typec: Avoid setting usb role during disconnect
Date: Thu, 6 Aug 2020 14:39:07 +0300	[thread overview]
Message-ID: <20200806113907.GX883641@kuha.fi.intel.com> (raw)
In-Reply-To: <CACeCKaf6WuW6XbFBQoVEW55w=OHfaVmmDn1xepiYYeRyMzZFrA@mail.gmail.com>

On Wed, Aug 05, 2020 at 12:37:14PM -0700, Prashant Malani wrote:
> Hi Azhar,
> 
> 
> On Wed, Aug 5, 2020 at 12:22 PM Shaikh, Azhar <azhar.shaikh@intel.com> wrote:
> >
> > Hi Prashant,
> >
> > > Is this documented anywhere? Kindly provide the links to that if so. I wasn't
> > > aware of any ordering requirements (but I may be missing something).
> >
> > The configuration of the connector should always happen in the order defined in the
> > USB Type-C specification. Check ch. 2.3 (USB Type-C Spec R2.0). So that will basically give you:
> >
> > 1. orientation
> > 2. role(s)
> > 3. the rest.
> 
> Thanks for the link. Are you referring to Section 2.3 (Configuration
> Process) ? I couldn't find anything there which
> implied any required ordering (I'm reading Release 2.0, Aug 2019, so I
> don't know if something has been added since).
> Could you kindly point me to the appropriate subsection?

Please check the section 4.5.1.2 (Connecting Sources and Sinks). Check
the typical flow. You can also check the Connection State Machine
Requirements. The order should be clear from those as well.

1. Source/sink detection
2. Orientation
3. Data role
4. VCONN
5. VBUS (USB Type-C currents)
6. The connector is now configured. We can start the PD communication
   that should lead into configuration of the mux if we enter a mode.

The data role, the thing that we are talking about here, really should
be set before the mux is configured.

> Additionally, I think any ordering requirements there are already
> handled by the TCPM in the Chrome OS EC.

The TCPM does not execute the steps that configure the port on this
platform. The OS is the part that actually executes the steps.

That is one reason (but not the only one) why it is important that
both parts follow the order that is proposed in the spec. Otherwise we
may endup negotiating things with the partner in one order but then
actually executing those steps in some other.


thanks,

-- 
heikki

  parent reply	other threads:[~2020-08-06 17:25 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-30 22:56 [PATCH v2 0/2] TypeC Connector Class driver improvements Azhar Shaikh
2020-07-30 22:56 ` [PATCH v2 1/2] platform/chrome: cros_ec_typec: Send enum values to usb_role_switch_set_role() Azhar Shaikh
2020-07-30 22:59   ` Prashant Malani
2020-07-30 23:02     ` Shaikh, Azhar
2020-07-30 23:04       ` Prashant Malani
2020-07-30 23:14         ` Shaikh, Azhar
2020-07-30 23:18           ` Prashant Malani
2020-07-30 22:56 ` [PATCH v2 2/2] platform/chrome: cros_ec_typec: Avoid setting usb role during disconnect Azhar Shaikh
2020-07-30 23:02   ` Prashant Malani
2020-07-30 23:06     ` Shaikh, Azhar
2020-07-30 23:25       ` Prashant Malani
2020-08-05 19:22         ` Shaikh, Azhar
2020-08-05 19:37           ` Prashant Malani
2020-08-05 20:28             ` Shaikh, Azhar
2020-08-06  0:57               ` Prashant Malani
2020-08-06 11:39             ` Heikki Krogerus [this message]
2020-08-06 18:39               ` Prashant Malani
2020-08-11 13:07                 ` Heikki Krogerus
2020-08-11 19:39                   ` Shaikh, Azhar
2020-08-05  9:09 ` [PATCH v2 0/2] TypeC Connector Class driver improvements Heikki Krogerus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200806113907.GX883641@kuha.fi.intel.com \
    --to=heikki.krogerus@linux.intel.com \
    --cc=azhar.shaikh@intel.com \
    --cc=bleung@chromium.org \
    --cc=casey.g.bowman@intel.com \
    --cc=enric.balletbo@collabora.com \
    --cc=groeck@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pmalani@chromium.org \
    --cc=rajmohan.mani@intel.com \
    --cc=utkarsh.h.patel@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).