Hi, On Tue, Apr 18, 2017 at 11:52:33AM -0700, Badhri Jagan Sridharan wrote: > Hi Heikki, > > I have a question regarding the preferred_role node. > > +What: /sys/class/typec/<port>/preferred_role > +Date: March 2017 > +Contact: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> > +Description: > + The user space can notify the driver about the preferred role. > + It should be handled as enabling of Try.SRC or Try.SNK, as > + defined in USB Type-C specification, in the port drivers. By > + default the preferred role should come from the platform. > + > + Valid values: source, sink, none (to remove preference) > > What is the expected behavior when the userspace changes the > preferred_role node when the port is in connected state ? > > 1. the state machine re-resolves the port roles right away based on > the new state machine in place ? (or) No! There are separate attributes for sending role swap requests. The attribute will "enable" Try.SRC/SNK states, i.e. next time the state machine is executed, those states need to be considered. Changing the value of this attribute must not affect the current connection. > 2. Wait till the subsequent connect for resolving port roles based on the > new state machine. Yes. > For #1 to happen the policy_engine layer would have to reset the port > to resolve the port roles based on the (Try.SRC /Try.SNK/ Default) > new state machine preference. > > Say for example when two non-PD devices following none (default state > machine) are connected, the port role resolution is going to be random. > But, if the userspace in one of the devices later changes the > preferred_role to source, then that device is most likely to become source > if the Try.SRC state-machine is re-run. > > Does the above question fall under a policy decision ? If so, should there > be another node to say if the port roles have to re-resolved based on the > new state machine right away ? I don't think we should even consider option #1, but just to be sure, Oliver, what do you say? I guess we need to say in the documentation explicitly that changing the value will not affect the current connection. Thanks, -- heikki -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html