Re: [PATCHv12 2/3] usb: USB Type-C connector class

From: Oliver Neukum
Date: Mon Nov 28 2016 - 05:28:30 EST


On Thu, 2016-11-24 at 11:57 +0200, Heikki Krogerus wrote:
> On Wed, Nov 23, 2016 at 09:12:04PM -0800, Guenter Roeck wrote:

> > In our implementation, the default preferred role is determined by the
> > low level driver (as, in my understanding, is suggested by the standard).
> > This means that the ABI will report "no preferred role", unless user space
> > overwrites it, even though there _is_ in fact a preferred role, and the
> > low level driver will execute try.src or try.snk based on that role.
>
> I'm not sure which standard are you referring? Try.SNK and Try.SRC are
> optional mechanisms for *policy-based* role preference according to
> the USB Type-C spec. The policy really should always come from the

Not all that obvious. If you are looking at it from a distro view
point if you know that you are booting on basically a gadget, you'll
be happy to take the hint. And if the hardware knows it is better
as a sink or source, we should take the hint.

> user space in our case, but I don't think that rules out for example
> initial role preferences coming from the lower level drivers.

Indeed. That should not be a hindrance to submission and inclusion.

> We will need a way the OS can set the initial preference for every
> port. Note that once we can support that, what ever the lower level
> drivers request will be overridden by it. So if for example the
> platform has preference for an initial role, we will simply ignore it
> if the policy says otherwise.

Again, not obvious in a distro. I would actually prefer a module
parameter that would allow us to prefer try.src, as we know how
to be a master.

None of that should hinder submission and inclusion.

Regards
Oliver