All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
To: Oliver Neukum <oneukum@suse.com>
Cc: Felipe Balbi <felipe.balbi@linux.intel.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	Guenter Roeck <linux@roeck-us.net>,
	linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org
Subject: Re: [PATCHv3 1/2] usb: USB Type-C connector class
Date: Wed, 22 Jun 2016 14:44:58 +0300	[thread overview]
Message-ID: <20160622114458.GF19856@kuha.fi.intel.com> (raw)
In-Reply-To: <1466590495.12516.10.camel@suse.com>

On Wed, Jun 22, 2016 at 12:14:55PM +0200, Oliver Neukum wrote:
> On Wed, 2016-06-22 at 12:50 +0300, Heikki Krogerus wrote:
> > On Tue, Jun 21, 2016 at 10:25:05PM +0200, Oliver Neukum wrote:
> > > On Tue, 2016-06-21 at 17:51 +0300, Heikki Krogerus wrote:
> > > > +What:          /sys/class/typec/<port>/supported_data_roles
> > > > +Data:          June 2016
> > > > +Contact:       Heikki Krogerus <heikki.krogerus@linux.intel.com>
> > > > +Description:
> > > > +               Lists the USB data roles, host or device, the port is
> > > > capable
> > > > +               of supporting.
> > > 
> > > On third thought, this is a problem. Looking at 4.4.8.1
> > > DEVICE_CAPABILITIES (Required) of USB Type-C Port Controller
> > > Interface Specification we lack capability.
> > > 
> > > A port that can do DRP is not the same thing as a port that
> > > can be switched between DFP and UFP. We cannot express that.
> > 
> > What do you mean? DRP means we support and are able to swap the data
> 
> No. That is the error. We support them concurrently. And that is not
> obvious. It is perfectly possible to support both but not concurrently.
> 
> > role, but it just does not mean we can act as both source and sink. And
> > that information we already get from separate attribute:
> > "supported_power_roles".
> 
> But it is different. Suppose we have a port that can be switched between
> UFP and DFP, as the spec defines. If it is switched to DFP and we plug
> in a DFP it will not work. UFP into UFP has the same result.
> 
> Plugging it into a DRP will always work.
> 
> It is true that both support host and device, but the capability of
> the ports is different. And that is not expressed.

Sorry but I don't think I understand?

So if we can act only as UFP, the supported_data_roles will list:

        device

If we can act only as DFP, the supported_data_roles will list:

        host

If our port is DRD (which would be DRP in the port controller spec),
the supported_power_roles will list:

        device, host

And the power role, if the port is Source only, the
supported_power_roles will list:

        source

If the port is Sink only, the supported_power_roles will list:

        sink

If our port is DRP, the supported_power_roles will list:

        source, sink

What is there that is missing? We are able to express all the types of
"Roles Supported" that the DEVICE_CAPABILITIES define, no?


Thanks,

-- 
heikki

  reply	other threads:[~2016-06-22 11:45 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-21 14:51 [PATCHv3 0/2] USB Type-C Connector class Heikki Krogerus
2016-06-21 14:51 ` [PATCHv3 1/2] usb: USB Type-C connector class Heikki Krogerus
2016-06-21 20:25   ` Oliver Neukum
2016-06-22  9:50     ` Heikki Krogerus
2016-06-22 10:03       ` Heikki Krogerus
2016-06-22 10:21         ` Oliver Neukum
2016-06-22 10:14       ` Oliver Neukum
2016-06-22 11:44         ` Heikki Krogerus [this message]
2016-06-22 13:47           ` Oliver Neukum
2016-06-22 14:38             ` Heikki Krogerus
2016-06-22 16:44               ` Oliver Neukum
2016-06-23  8:23                 ` Heikki Krogerus
2016-06-23  8:38                   ` Oliver Neukum
2016-06-23 12:00                     ` Heikki Krogerus
2016-06-23 12:25                       ` Roger Quadros
2016-06-23 13:11                         ` Heikki Krogerus
2016-06-23 13:29                       ` Guenter Roeck
2016-06-22 21:54   ` Guenter Roeck
2016-06-23  8:25     ` Heikki Krogerus
2016-06-23 11:53   ` Roger Quadros
2016-06-23 13:08     ` Heikki Krogerus
     [not found]   ` <CAOiXhaKhPfY0Bz8TsZMFQsgLHZZ01DwZ=TPcXtH2nYvHx3PqVA@mail.gmail.com>
     [not found]     ` <20160627095120.GC20801@kuha.fi.intel.com>
     [not found]       ` <CAOiXhaJiche=jGbg_C2Jbmw1BnA5UYVNKOfhmy4CFiugoPV_+w@mail.gmail.com>
2016-06-27 12:13         ` Heikki Krogerus
2016-06-27 13:39           ` Guenter Roeck
2016-06-28 13:12             ` Heikki Krogerus
2016-06-28 13:28               ` Guenter Roeck
2016-06-29  8:51           ` Rajaram R
2016-06-29 10:30             ` Heikki Krogerus
2016-06-29 10:51               ` Rajaram R
2016-06-29 11:27                 ` Heikki Krogerus
2016-07-04  8:55                   ` Oliver Neukum
2016-06-21 14:51 ` [PATCHv3 2/2] usb: typec: add driver for Intel Whiskey Cove PMIC USB Type-C PHY Heikki Krogerus
2016-06-21 22:25 ` [PATCHv3 0/2] USB Type-C Connector class Guenter Roeck
2016-06-22  9:51   ` Heikki Krogerus
2016-06-22 13:24     ` Guenter Roeck

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=20160622114458.GF19856@kuha.fi.intel.com \
    --to=heikki.krogerus@linux.intel.com \
    --cc=felipe.balbi@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=oneukum@suse.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.