From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934043AbdERQvy (ORCPT ); Thu, 18 May 2017 12:51:54 -0400 Received: from bh-25.webhostbox.net ([208.91.199.152]:53872 "EHLO bh-25.webhostbox.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932919AbdERQvw (ORCPT ); Thu, 18 May 2017 12:51:52 -0400 Date: Thu, 18 May 2017 09:51:49 -0700 From: Guenter Roeck To: Oliver Neukum Cc: Badhri Jagan Sridharan , Heikki Krogerus , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org Subject: Re: [PATCH] usb: typec: Defer checking of valid power role swap to low level drivers Message-ID: <20170518165149.GA30223@roeck-us.net> References: <20170517073219.8315-1-Badhri@google.com> <1495006472.30577.6.camel@suse.com> <2b7e6715-35b8-0d4a-fb28-3a59bd72916e@roeck-us.net> <1495098831.6672.2.camel@suse.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1495098831.6672.2.camel@suse.com> User-Agent: Mutt/1.5.24 (2015-08-30) X-Authenticated_sender: guenter@roeck-us.net X-OutGoing-Spam-Status: No, score=-1.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - bh-25.webhostbox.net X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - roeck-us.net X-Get-Message-Sender-Via: bh-25.webhostbox.net: authenticated_id: guenter@roeck-us.net X-Authenticated-Sender: bh-25.webhostbox.net: guenter@roeck-us.net X-Source: X-Source-Args: X-Source-Dir: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, May 18, 2017 at 11:13:51AM +0200, Oliver Neukum wrote: > Am Mittwoch, den 17.05.2017, 02:36 -0700 schrieb Guenter Roeck: > > On 05/17/2017 12:34 AM, Oliver Neukum wrote: > > > > > > Am Mittwoch, den 17.05.2017, 00:32 -0700 schrieb Badhri Jagan > > > Sridharan: > > > > > > Hi, > > > > > > > > > > > "Two independent set of mechanisms are defined to allow a USB Type-C > > > > DRP to functionally swap power and data roles. When USB PD is > > > > supported, power and data role swapping is performed as a subsequent > > > > step following the initial connection process. For non-PD implementations, > > > > power/data role swapping can optionally be dealt with as part of the initial > > > > connection process." > > > > > > Well, as I read it, without PD once a connection is established, you > > > are stuck with your role. So it seems to me that blocking a later > > > attempt to change it makes sense. > > > > > > > That seems to be a harsh and not very user friendly reading of the specification. > > > > I would argue that the user doesn't care if the partner supports PD or not > > when selecting a role, and I would prefer to provide an implementation which is > > as user friendly as possible. > > Data role, no question, you are right. > Power role is a different question. A switch of power role with PD should > not lead to a disconnect. Any other method might. So equating them does > not look like a good idea. > Not really sure I can follow. If a partner does not support PD, there is no real distinction between data role and power role, or am I missing something ? Are you saying that, if a partner does not support PD, user space should request a data role swap instead, and that this would be acceptable for you ? I don't really understand the difference - a data role swap doesn't cause a disconnect either if the partner supports PD, and it would still result in a disconnect/reconnect sequence if the partner does not support PD - but if it works for you, fine with me. Badhri, would that work for us ? Thanks, Guenter