All of lore.kernel.org
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Peter Chen <peter.chen@nxp.com>
Cc: Peter Chen <hzpeterchen@gmail.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	Felipe Balbi <felipe.balbi@linux.intel.com>,
	Oliver Neukum <oneukum@suse.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	Roger Quadros <rogerq@ti.com>, Jun Li <jun.li@nxp.com>
Subject: Re: [PATCH v17 2/3] usb: USB Type-C connector class
Date: Tue, 7 Mar 2017 17:53:21 -0800	[thread overview]
Message-ID: <f7184bac-e966-91cd-c10b-7f84a4d65071@roeck-us.net> (raw)
In-Reply-To: <20170307085753.GF6999@kuha.fi.intel.com>

On 03/07/2017 12:57 AM, Heikki Krogerus wrote:
> On Tue, Mar 07, 2017 at 01:36:29AM +0000, Peter Chen wrote:
>>> On Mon, Mar 06, 2017 at 09:15:51AM +0800, Peter Chen wrote:
>>>>>> What interface you use when you receive this event to handle
>>>>>> dual-role switch? I am wonder if a common dual-role class is
>>>>>> needed, then we can have a common user utility.
>>>>>>
>>>>>> Eg, if "data_role" has changed, the udev can echo "data_role" to
>>>>>> /sys/class/usb-dual-role/role
>>>>>
>>>>> No. If the partner executes successfully for example DR_Swap
>>>>> message, the kernel has to take care everything that is needed for
>>>>> the role to be what ever was negotiated on its own. User space can't
>>>>> be involved with that.
>>>>>
>>>>
>>>> Would you give me an example how kernel handle this? How type-C event
>>>> triggers role switch?
>>>
>>> On our boards, the firmware or EC (or ACPI) configures the hardware as needed
>>> and also notifies the components using ACPI if needed. It's often not even possible to
>>> directly configure the components/hardware for a particular role.
>>>
>>
>> You mean type-C trigger an ACPI event, and this ACPI event can notify related
>> USB controller driver doing role switch?
>
> No (firmware programs the dual-role hw/registers), but never mind.
> That could be the case.
>
>> If it is correct, there is a notifier between type-C
>> and USB controller driver, how to define this notifier for non-ACPI platform?
>
> Once there is a platform with Type-C like that, the problem needs to
> be solved. However..
>
>>> I'm not commenting on Roger's dual role patch series, but I don't really think it should
>>> be mixed with Type-C. USB Type-C and USB Power Delivery define their own ways
>>> of handling the roles, and they are not limited to the data role only. Things like OTG
>>> for example will, and actually can not be supported. With Type-C we will have
>>> competing state machines compared to OTG. The dual-role framework may be
>>> useful on systems that provide more traditional connectors, which possibly have the
>>> ID-pin like micro-AB, and possibly also support OTG. It can also be something that
>>> exist in parallel with the Type-C class, but there just can not be any dependencies
>>> between the two.
>>>
>>
>> Yes, there are two independent things. But if the kernel doesn't have a notifier between
>> type-C message sender (type-c class) and message receiver (like USB controller driver
>> for role switch or other drivers for alternate mode message), we had to find some ways at
>> userspace.
>
> ..what ever the solution is, it really can't rely on user space.
>

... and, at least for our application, using extcon for the necessary notifications
works just fine.

Guenter

  reply	other threads:[~2017-03-08  4:06 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-21 14:24 [PATCH v17 0/3] USB Type-C Connector class Heikki Krogerus
2017-02-21 14:24 ` [PATCH v17 1/3] lib/string: add sysfs_match_string helper Heikki Krogerus
2017-02-21 14:24 ` [PATCH v17 2/3] usb: USB Type-C connector class Heikki Krogerus
2017-03-02 15:22   ` Mats Karrman
2017-03-03  3:13     ` Guenter Roeck
2017-03-03  7:29       ` Mats Karrman
2017-03-03  9:48         ` Enric Balletbo Serra
2017-03-03 12:59         ` Heikki Krogerus
2017-03-03 14:49           ` Guenter Roeck
2017-03-03 19:27           ` Mats Karrman
2017-03-06  9:37             ` Oliver Neukum
2017-03-06 13:14             ` Heikki Krogerus
2017-03-07 22:30               ` Mats Karrman
2017-03-08  1:38                 ` Guenter Roeck
2017-04-08 23:09                   ` USB Type-C Port Manager API concern Mats Karrman
2017-04-09 15:16                     ` Guenter Roeck
2017-04-09 21:05                       ` Mats Karrman
2017-04-14  2:57                         ` Guenter Roeck
2017-04-14  8:30                           ` Mats Karrman
2017-03-08 13:58                 ` [PATCH v17 2/3] usb: USB Type-C connector class Heikki Krogerus
2017-03-10 22:22                   ` Mats Karrman
2017-03-10 23:41                     ` Guenter Roeck
2017-04-18 18:52                       ` Badhri Jagan Sridharan
2017-04-19 11:23                         ` Heikki Krogerus
2017-04-19 14:45                           ` Badhri Jagan Sridharan
2017-04-19 15:14                             ` Guenter Roeck
2017-04-19 17:22                               ` Badhri Jagan Sridharan
2017-04-19 19:29                                 ` Guenter Roeck
2017-04-20 12:24                                 ` Heikki Krogerus
2017-04-20 19:46                                   ` Badhri Jagan Sridharan
2017-04-21 12:12                                     ` Heikki Krogerus
2017-04-21 13:14                                       ` Guenter Roeck
2017-04-21 14:27                                     ` Rajaram R
2017-04-21 16:43                                       ` Guenter Roeck
2017-04-22  9:23                                         ` Rajaram R
2017-04-24 17:50                                           ` Badhri Jagan Sridharan
2017-04-25  8:26                                             ` Rajaram R
2017-04-25 14:10                                               ` Guenter Roeck
2017-04-27  6:20                                                 ` Rajaram R
2017-04-27 18:10                                                   ` Guenter Roeck
2017-04-28 10:52                                                     ` Heikki Krogerus
2017-04-20 11:55                             ` Heikki Krogerus
2017-03-03 14:41         ` Guenter Roeck
2017-03-03  3:35   ` Peter Chen
2017-03-03  4:29     ` Guenter Roeck
2017-03-03  4:52       ` Peter Chen
2017-03-03 14:36         ` Guenter Roeck
2017-03-06  1:24           ` Peter Chen
2017-03-03 14:31     ` Heikki Krogerus
2017-03-06  1:15       ` Peter Chen
2017-03-06 13:16         ` Heikki Krogerus
2017-03-07  1:36           ` Peter Chen
2017-03-07  8:57             ` Heikki Krogerus
2017-03-08  1:53               ` Guenter Roeck [this message]
2017-03-08  6:50                 ` Peter Chen
2017-03-08 14:44                   ` Guenter Roeck
2017-03-09  2:00                     ` Peter Chen
2017-02-21 14:24 ` [PATCH v17 3/3] usb: typec: add driver for Intel Whiskey Cove PMIC USB Type-C PHY Heikki Krogerus
2017-02-21 15:42 ` [PATCH v17 0/3] USB Type-C Connector class Felipe Balbi
2017-03-21 11:14   ` Heikki Krogerus
2017-03-21 10:23 ` Greg KH
2017-03-21 10:37   ` Heikki Krogerus
2017-03-22 21:15     ` Mats Karrman
2017-03-23  8:16       ` 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=f7184bac-e966-91cd-c10b-7f84a4d65071@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=felipe.balbi@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=hzpeterchen@gmail.com \
    --cc=jun.li@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=oneukum@suse.com \
    --cc=peter.chen@nxp.com \
    --cc=rogerq@ti.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.