Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932900AbdCJXlX (ORCPT ); Fri, 10 Mar 2017 18:41:23 -0500 Received: from bh-25.webhostbox.net ([208.91.199.152]:33047 "EHLO bh-25.webhostbox.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750922AbdCJXlM (ORCPT ); Fri, 10 Mar 2017 18:41:12 -0500 Subject: Re: [PATCH v17 2/3] usb: USB Type-C connector class To: Mats Karrman , Heikki Krogerus References: <20170221142405.76299-1-heikki.krogerus@linux.intel.com> <20170221142405.76299-3-heikki.krogerus@linux.intel.com> <4b4bbffc-db02-3b54-04bc-e7de79b2d9ed@roeck-us.net> <07618170-d561-e7fe-08e0-91316c53d832@gmail.com> <20170303125940.GA6999@kuha.fi.intel.com> <6ddb2eac-03d5-127e-df1e-ad189968e6b2@gmail.com> <20170306131442.GC6999@kuha.fi.intel.com> <696552a7-c36a-1d73-9517-543907e9da39@gmail.com> <20170308135853.GH6999@kuha.fi.intel.com> <68817c44-d880-581a-e9f5-12845b9215eb@gmail.com> Cc: Greg KH , Felipe Balbi , Oliver Neukum , linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org From: Guenter Roeck Message-ID: Date: Fri, 10 Mar 2017 15:41:08 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: <68817c44-d880-581a-e9f5-12845b9215eb@gmail.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Authenticated_sender: linux@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: linux@roeck-us.net X-Authenticated-Sender: bh-25.webhostbox.net: linux@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 Content-Length: 2574 Lines: 54 On 03/10/2017 02:22 PM, Mats Karrman wrote: > On 2017-03-08 14:58, Heikki Krogerus wrote: > >> On Tue, Mar 07, 2017 at 11:30:54PM +0100, Mats Karrman wrote: >>> If I read Heikki's original suggestion I understand it like the DP driver would be >>> responsible for AM specific USB PD/VDM communication. But wouldn't that lead >>> to a lot of code duplication since the AM protocol is the same for all drivers of >>> a kind? >> No that's not what I mean. I'm still mixing your PD controller with >> something else above, sorry about that. Your PD controller driver >> should not ideally even need to be aware of Type-C connector, right? >> It definitely does not need to do any USB PD communication. > > Right. > >> I would imagine you have on top of the DP controller, a mux (which >> could be a DP/USB3 PHY like on Rockchip RK3399, discrete mux like >> Pericom PI3USB30532, or something else), and a USB Type-C PHY or USB >> PD controller. The bus would be tying the mux to the Type-C port (PHY >> or PD controller) and its partner (note that it does not tie the mux >> to the DP controller). Please correct me if I'm wrong about your >> hardware. > > No, you're correct, a discrete mux and a fusb302. > >> Assuming that is how your board roughly looks like, the driver for the >> mux would be the driver for the DP altmode devices. That driver would >> be the one converting things like the Attention messages notifying >> about HPD into toggling of GPIOs, or what ever is needed on your >> board, etc. > > OK. > >> The actual PD communication with VDMs should be considered as just the >> protocol, so we probable should have "protocol drivers". For example >> DP alternate mode VDMs and communication will always be the same >> despite of the hardware. The DP alternate mode "protocol driver" would >> then be tied to the alternate mode device for the partner, and that >> driver could have its own hooks for what ever is needed, like HPD >> signal handling, configuration changes, whatever. In any case, >> hopefully making things easy and straightforward for the "mux driver", >> _so that it does not need to care about the actual PD communication_. > > I'm digesting your and Guenter's replies and patches. > I will try getting something up and running too soon and hopefully the foggy parts will > dissolve. As for now I find it a lot easier to grok Guenter's drivers than to see the > advantages and/or disadvantages of an altmode bus :-) > > @Guenter: There _is_ interest for your fusb302 driver, thank you > Ok, I'll see what I need to do to publish it. Guenter