All of lore.kernel.org
 help / color / mirror / Atom feed
From: Roger Quadros <rogerq@ti.com>
To: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>,
	Alan Stern <stern@rowland.harvard.edu>,
	Rob Herring <robh@kernel.org>
Cc: "peter.chen@freescale.com" <peter.chen@freescale.com>,
	"balbi@kernel.org" <balbi@kernel.org>,
	"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"dan.j.williams@intel.com" <dan.j.williams@intel.com>,
	"jun.li@freescale.com" <jun.li@freescale.com>,
	"mathias.nyman@linux.intel.com" <mathias.nyman@linux.intel.com>,
	"tony@atomide.com" <tony@atomide.com>,
	"Joao.Pinto@synopsys.com" <Joao.Pinto@synopsys.com>,
	"abrestic@chromium.org" <abrestic@chromium.org>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Subject: Re: [PATCH v7 10/14] usb: otg: add hcd companion support
Date: Thu, 12 May 2016 11:34:04 +0300	[thread overview]
Message-ID: <57343FFC.9090105@ti.com> (raw)
In-Reply-To: <SG2PR06MB09194AB523C3ABDB425285C7D8730@SG2PR06MB0919.apcprd06.prod.outlook.com>

On 12/05/16 07:00, Yoshihiro Shimoda wrote:
> Hi,
> 
>> From: Alan Stern
>> Sent: Wednesday, May 11, 2016 11:47 PM
>>
>> On Wed, 11 May 2016, Roger Quadros wrote:
>>
>>>> What I mean is if you have 2 EHCI controllers with 2 companion
>>>> controllers, don't you need to know which companion goes with which EHCI
>>>> controller? Just like you do for the otg-controller property.
>>>>
>>>
>>> That is a very good point. I'm not very sure and it seems that current code won't work
>>> with multiple EHCI + companion instances.
> 
> I may misunderstand this topic, but if I use the following environment, it works correctly.
> 
> < My environment >
> - an otg controller: Sets hcd-needs-companion.
> - ehci0 and ohci0 and a function: They connect to the otg controller using "otg-controller" property.
> - ehci1 and ohci1: No "otg-controller" property.
> - ehci2 and ohci2: No "otg-controller" property.
> 
> In this environment, all hosts works correctly.
> Also I think if we have 2 otg controlelrs, it should be work because otg_dev instance differs.

The topic is about more than one otg controllers and how to tie the right ehci and ohci
to the correct otg_dev instance especially in cases where we can't depend on probe order.

> Or, does this topic assume an otg controller handles 2 EHCI controllers?
> I'm not sure such environment actually exists.

No it is not about that.

> 
>>> Alan, does USB core even know which EHCI and OHCI are linked to the same port
>>> or the handoff is software transparent?
>>
>> The core knows.  It doesn't use the information for a whole lot of
>> things, but it does use it in a couple of places.  Search for
>> "companion" in core/hcd-pci.c and you'll see.
> 
> Thank you for the information. I didn't know this code.
> If my understanding is correct, the core/hcd-pci.c code will not be used by non-PCI devices.

That is correct.

> In other words, nobody sets "hcd->self.hs_companion" if we use such a device.
> So, I will try to add such a code if needed.

I think OTG core would have to rely on USB core in providing the right companion device,
just like we rely on it for the primary vs shared HCD case.

cheers,
-roger

WARNING: multiple messages have this Message-ID (diff)
From: Roger Quadros <rogerq-l0cyMroinI0@public.gmane.org>
To: Yoshihiro Shimoda
	<yoshihiro.shimoda.uh-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>,
	Alan Stern
	<stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.org>,
	Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: "peter.chen-KZfg59tc24xl57MIdRCFDg@public.gmane.org"
	<peter.chen-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
	"balbi-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org"
	<balbi-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	"gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org"
	<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
	"dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org"
	<dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"jun.li-KZfg59tc24xl57MIdRCFDg@public.gmane.org"
	<jun.li-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
	"mathias.nyman-VuQAYsv1563Yd54FQh9/CA@public.gmane.org"
	<mathias.nyman-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>,
	"tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org"
	<tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>,
	"Joao.Pinto-HKixBCOQz3hWk0Htik3J/w@public.gmane.org"
	<Joao.Pinto-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>,
	"abrestic-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org"
	<abrestic-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>,
	"linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH v7 10/14] usb: otg: add hcd companion support
Date: Thu, 12 May 2016 11:34:04 +0300	[thread overview]
Message-ID: <57343FFC.9090105@ti.com> (raw)
In-Reply-To: <SG2PR06MB09194AB523C3ABDB425285C7D8730-ESzmfEwOt/zNQ8RBPPB5A20DtJ1/0DrXvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>

On 12/05/16 07:00, Yoshihiro Shimoda wrote:
> Hi,
> 
>> From: Alan Stern
>> Sent: Wednesday, May 11, 2016 11:47 PM
>>
>> On Wed, 11 May 2016, Roger Quadros wrote:
>>
>>>> What I mean is if you have 2 EHCI controllers with 2 companion
>>>> controllers, don't you need to know which companion goes with which EHCI
>>>> controller? Just like you do for the otg-controller property.
>>>>
>>>
>>> That is a very good point. I'm not very sure and it seems that current code won't work
>>> with multiple EHCI + companion instances.
> 
> I may misunderstand this topic, but if I use the following environment, it works correctly.
> 
> < My environment >
> - an otg controller: Sets hcd-needs-companion.
> - ehci0 and ohci0 and a function: They connect to the otg controller using "otg-controller" property.
> - ehci1 and ohci1: No "otg-controller" property.
> - ehci2 and ohci2: No "otg-controller" property.
> 
> In this environment, all hosts works correctly.
> Also I think if we have 2 otg controlelrs, it should be work because otg_dev instance differs.

The topic is about more than one otg controllers and how to tie the right ehci and ohci
to the correct otg_dev instance especially in cases where we can't depend on probe order.

> Or, does this topic assume an otg controller handles 2 EHCI controllers?
> I'm not sure such environment actually exists.

No it is not about that.

> 
>>> Alan, does USB core even know which EHCI and OHCI are linked to the same port
>>> or the handoff is software transparent?
>>
>> The core knows.  It doesn't use the information for a whole lot of
>> things, but it does use it in a couple of places.  Search for
>> "companion" in core/hcd-pci.c and you'll see.
> 
> Thank you for the information. I didn't know this code.
> If my understanding is correct, the core/hcd-pci.c code will not be used by non-PCI devices.

That is correct.

> In other words, nobody sets "hcd->self.hs_companion" if we use such a device.
> So, I will try to add such a code if needed.

I think OTG core would have to rely on USB core in providing the right companion device,
just like we rely on it for the primary vs shared HCD case.

cheers,
-roger
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2016-05-12  8:34 UTC|newest]

Thread overview: 107+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-02 12:18 [PATCH v7 00/14] USB OTG/dual-role framework Roger Quadros
2016-05-02 12:18 ` Roger Quadros
2016-05-02 12:18 ` [PATCH v7 01/14] usb: hcd: Initialize hcd->flags to 0 Roger Quadros
2016-05-02 12:18   ` Roger Quadros
2016-05-06  9:05   ` Peter Chen
2016-05-06  9:05     ` Peter Chen
2016-05-02 12:18 ` [PATCH v7 02/14] usb: otg-fsm: Prevent build warning "VDBG" redefined Roger Quadros
2016-05-02 12:18   ` Roger Quadros
2016-05-11  8:17   ` Peter Chen
2016-05-02 12:18 ` [PATCH v7 03/14] usb: hcd.h: Add OTG to HCD interface Roger Quadros
2016-05-02 12:18   ` Roger Quadros
2016-05-06  9:41   ` Peter Chen
2016-05-09  9:45     ` Roger Quadros
2016-05-09  9:45       ` Roger Quadros
2016-05-10  3:14       ` Peter Chen
2016-05-10  3:14         ` Peter Chen
2016-05-10  7:34         ` Roger Quadros
2016-05-10  7:34           ` Roger Quadros
2016-05-10  8:03           ` Jun Li
2016-05-10  9:20             ` Roger Quadros
2016-05-11  6:19               ` Peter Chen
2016-05-10  8:12           ` Felipe Balbi
2016-05-10  9:12             ` Roger Quadros
2016-05-10  9:12               ` Roger Quadros
2016-05-02 12:18 ` [PATCH v7 04/14] usb: otg-fsm: use usb_otg wherever possible Roger Quadros
2016-05-02 12:18   ` Roger Quadros
2016-05-02 12:18 ` [PATCH v7 05/14] usb: otg-fsm: move host controller operations into usb_otg->hcd_ops Roger Quadros
2016-05-02 12:18   ` Roger Quadros
2016-05-11  6:10   ` Peter Chen
2016-05-11  6:10     ` Peter Chen
2016-05-11 11:02     ` Roger Quadros
2016-05-11 11:02       ` Roger Quadros
2016-05-11 12:32       ` Roger Quadros
2016-05-11 12:32         ` Roger Quadros
2016-05-12  8:18         ` Peter Chen
2016-05-12  8:18           ` Peter Chen
2016-05-12  8:29           ` Roger Quadros
2016-05-12  8:29             ` Roger Quadros
2016-05-02 12:18 ` [PATCH v7 06/14] usb: gadget.h: Add OTG to gadget interface Roger Quadros
2016-05-02 12:18   ` Roger Quadros
2016-05-02 12:18 ` [PATCH v7 07/14] usb: otg: get rid of CONFIG_USB_OTG_FSM in favour of CONFIG_USB_OTG Roger Quadros
2016-05-02 12:18   ` Roger Quadros
2016-05-11  8:21   ` Peter Chen
2016-05-11  8:21     ` Peter Chen
2016-05-02 12:18 ` [PATCH v7 08/14] usb: otg: add OTG/dual-role core Roger Quadros
2016-05-02 12:18   ` Roger Quadros
2016-05-11  8:34   ` Peter Chen
2016-05-11 11:03     ` Roger Quadros
2016-05-11 11:03       ` Roger Quadros
2016-05-02 12:18 ` [PATCH v7 09/14] usb: of: add an API to get OTG device from USB controller node Roger Quadros
2016-05-02 12:18   ` Roger Quadros
2016-05-04 13:15   ` Rob Herring
2016-05-04 13:15     ` Rob Herring
2016-05-11  8:40   ` Peter Chen
2016-05-11 11:04     ` Roger Quadros
2016-05-11 11:04       ` Roger Quadros
2016-05-02 12:18 ` [PATCH v7 10/14] usb: otg: add hcd companion support Roger Quadros
2016-05-02 12:18   ` Roger Quadros
2016-05-04 13:17   ` Rob Herring
2016-05-04 13:17     ` Rob Herring
2016-05-04 13:47     ` Roger Quadros
2016-05-04 13:47       ` Roger Quadros
2016-05-11 13:54       ` Rob Herring
2016-05-11 14:13         ` Roger Quadros
2016-05-11 14:13           ` Roger Quadros
2016-05-11 14:47           ` Alan Stern
2016-05-11 14:47             ` Alan Stern
2016-05-12  4:00             ` Yoshihiro Shimoda
2016-05-12  4:00               ` Yoshihiro Shimoda
2016-05-12  8:34               ` Roger Quadros [this message]
2016-05-12  8:34                 ` Roger Quadros
2016-05-12  9:31                 ` Roger Quadros
2016-05-12  9:31                   ` Roger Quadros
2016-05-12 10:31                   ` Yoshihiro Shimoda
2016-05-12 10:31                     ` Yoshihiro Shimoda
2016-05-12 12:13                     ` Roger Quadros
2016-05-12 12:13                       ` Roger Quadros
2016-05-16  2:13                       ` Peter Chen
2016-05-16  8:01                         ` Roger Quadros
2016-05-16  8:01                           ` Roger Quadros
2016-05-16  8:13                           ` Peter Chen
2016-05-16  8:13                             ` Peter Chen
2016-05-16  8:35                             ` Roger Quadros
2016-05-16  8:35                               ` Roger Quadros
2016-05-12 18:16               ` Alan Stern
2016-05-11  8:43   ` Peter Chen
2016-05-11  8:43     ` Peter Chen
2016-05-02 12:18 ` [PATCH v7 11/14] usb: otg: use dev_dbg() instead of VDBG() Roger Quadros
2016-05-02 12:18   ` Roger Quadros
2016-05-06  9:04   ` Peter Chen
2016-05-06  9:04     ` Peter Chen
2016-05-09  9:48     ` Roger Quadros
2016-05-09  9:48       ` Roger Quadros
2016-05-11  8:43       ` Peter Chen
2016-05-02 12:18 ` [PATCH v7 12/14] usb: hcd: Adapt to OTG core Roger Quadros
2016-05-02 12:18   ` Roger Quadros
2016-05-11  8:57   ` Peter Chen
2016-05-11  8:57     ` Peter Chen
2016-05-02 12:18 ` [PATCH v7 13/14] usb: gadget: udc: adapt " Roger Quadros
2016-05-02 12:18   ` Roger Quadros
2016-05-02 12:18 ` [PATCH v7 14/14] usb: host: xhci-plat: Add otg device to platform data Roger Quadros
2016-05-02 12:18   ` Roger Quadros
2016-05-11  9:00   ` Peter Chen
2016-05-11  8:36 ` [PATCH v7 00/14] USB OTG/dual-role framework Peter Chen
2016-05-11  8:36   ` Peter Chen
2016-05-11 11:05   ` Roger Quadros
2016-05-11 11:05     ` Roger Quadros

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=57343FFC.9090105@ti.com \
    --to=rogerq@ti.com \
    --cc=Joao.Pinto@synopsys.com \
    --cc=abrestic@chromium.org \
    --cc=balbi@kernel.org \
    --cc=dan.j.williams@intel.com \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jun.li@freescale.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mathias.nyman@linux.intel.com \
    --cc=peter.chen@freescale.com \
    --cc=robh@kernel.org \
    --cc=stern@rowland.harvard.edu \
    --cc=tony@atomide.com \
    --cc=yoshihiro.shimoda.uh@renesas.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.