On Thu, Jan 29, 2015 at 05:29:23PM -0800, John Youn wrote:
> On 01/28/2015 11:26 PM, Kaukab, Yousaf wrote:
> > 
> >> -----Original Message-----
> >> From: John Youn [mailto:[email protected]]
> >> Sent: Thursday, January 29, 2015 3:25 AM
> >> To: Kaukab, Yousaf; [email protected]; [email protected];
> >> [email protected]
> >> Cc: Herrero, Gregory; [email protected];
> >> [email protected]; [email protected]
> >> Subject: RE: [PATCH v1 01/13] usb: dwc2: host: register hcd handle to the 
> >> phy
> >>
> >>> From: Mian Yousaf Kaukab [mailto:[email protected]]
> >>> Sent: Wednesday, January 21, 2015 6:37 AM
> >>>
> >>> From: Gregory Herrero <[email protected]>
> >>>
> >>> If phy driver is present, register hcd handle to it and let it take
> >>> care of calling usb_add_hcd. Otherwise, add hcd here.
> >>>
> >>> Moreover, save irq number so that it can be used to call usb_add_hcd.
> >>>
> >>> Signed-off-by: Gregory Herrero <[email protected]>
> >>> ---
> >>>  drivers/usb/dwc2/hcd.c | 35 ++++++++++++++++++++++++++++++-----
> >>>  1 file changed, 30 insertions(+), 5 deletions(-)
> >>>
> >>> diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c index
> >>> 755e16b..4375d4f 100644
> >>> --- a/drivers/usb/dwc2/hcd.c
> >>> +++ b/drivers/usb/dwc2/hcd.c
> >>> @@ -2779,6 +2779,7 @@ int dwc2_hcd_init(struct dwc2_hsotg *hsotg, int
> >>> irq,
> >>>   u32 hcfg;
> >>>   int i, num_channels;
> >>>   int retval;
> >>> + bool add_host = true;
> >>>
> >>>   if (usb_disabled())
> >>>           return -ENODEV;
> >>> @@ -2935,14 +2936,30 @@ int dwc2_hcd_init(struct dwc2_hsotg *hsotg,
> >>> int irq,
> >>>   /* Don't support SG list at this point */
> >>>   hcd->self.sg_tablesize = 0;
> >>>
> >>> + /* Save irq number */
> >>> + hcd->irq = irq;
> >>> +
> >>>   /*
> >>>    * Finish generic HCD initialization and start the HCD. This
> >> function
> >>>    * allocates the DMA buffer pool, registers the USB bus, requests
> >> the
> >>>    * IRQ line, and calls hcd_start method.
> >>> +  * If a phy driver is present, let it handle the hcd initialization.
> >>>    */
> >>> - retval = usb_add_hcd(hcd, irq, IRQF_SHARED);
> >>> - if (retval < 0)
> >>> -         goto error3;
> >>> + if (!IS_ERR_OR_NULL(hsotg->uphy)) {
> >>> +         retval = otg_set_host(hsotg->uphy->otg, &hcd-
> >>> self);
> >>> +         if (retval) {
> >>> +                 if (retval != -ENOTSUPP)
> >>> +                         goto error3;
> >>> +         } else {
> >>> +                 add_host = false;
> >>> +         }
> >>> + }
> >>> +
> >>> + if (add_host) {
> >>> +         retval = usb_add_hcd(hcd, irq, IRQF_SHARED);
> >>> +         if (retval)
> >>> +                 goto error3;
> >>> + }
> >>>
> >>>   device_wakeup_enable(hcd->self.controller);
> >>>
> >>> @@ -2976,7 +2993,8 @@ EXPORT_SYMBOL_GPL(dwc2_hcd_init);  void
> >>> dwc2_hcd_remove(struct dwc2_hsotg *hsotg)  {
> >>>   struct usb_hcd *hcd;
> >>> -
> >>> + bool remove_host = true;
> >>> + int retval;
> >>>   dev_dbg(hsotg->dev, "DWC OTG HCD REMOVE\n");
> >>>
> >>>   hcd = dwc2_hsotg_to_hcd(hsotg);
> >>> @@ -2988,7 +3006,14 @@ void dwc2_hcd_remove(struct dwc2_hsotg
> >>> *hsotg)
> >>>           return;
> >>>   }
> >>>
> >>> - usb_remove_hcd(hcd);
> >>> + if (!IS_ERR_OR_NULL(hsotg->uphy)) {
> >>> +         retval = otg_set_host(hsotg->uphy->otg, NULL);
> >>> +         if (!retval)
> >>> +                 remove_host = false;
> >>> + }
> >>> +
> >>> + if (remove_host)
> >>> +         usb_remove_hcd(hcd);
> >>>   hsotg->priv = NULL;
> >>>   dwc2_hcd_release(hsotg);
> >>>   usb_put_hcd(hcd);
> >>> --
> >>> 1.9.1
> >>
> >> Hi Yousaf,
> > Hi John,
> > 
> >>
> >> This patch seems to break host-mode on the Altera platform.
> >>
> >> When it comes up as an A-Host, the HCD doesn't get loaded. When it comes up
> >> as a B-Peripheral, it gets the connector ID status change interrupt, but 
> >> hangs
> >> the system.
> > 
> > Thank you testing this patchset. Can you point me to the phy driver used by 
> > your platform?
> > I will take a look what's going on. 
> 
> It is using the generic PHY.
> 
> > 
> > I can drop this patch for now. Are you ok with rest of the patches in this 
> > set? If so, can you send your conditional ACK for them? May be there is 
> > still time to get them queued for v3.20.
> 
> Yes, I'm ok with that.
> 
> 
> Hi Felipe,
> 
> Could you queue patch 2-13 for 3.20 or would you like it respun?
> 
> Patch 2-13:
> Acked-by: John Youn <[email protected]>
> 
> Also Robert Baldyga gave Tested-by previously:
> 
> > [for gadget part]
> > Tested-by: Robert Baldyga <[email protected]>

It would be nicer if author could resend 2-13 with your Acked-by and
Robert's Tested-by

Thanks

-- 
balbi

Attachment: signature.asc
Description: Digital signature

Reply via email to