Hi,

On Fri, Sep 26, 2014 at 08:57:19PM +0000, Paul Zimmerman wrote:
> > > diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
> > > index 0fcc0a3..8277065 100644
> > > --- a/drivers/usb/dwc3/gadget.c
> > > +++ b/drivers/usb/dwc3/gadget.c
> > > @@ -2635,6 +2635,7 @@ static irqreturn_t dwc3_interrupt(int irq, void 
> > > *_dwc)
> > >   */
> > >  int dwc3_gadget_init(struct dwc3 *dwc)
> > >  {
> > > + u32                                     reg;
> > >   int                                     ret;
> > >
> > >   dwc->ctrl_req = dma_alloc_coherent(dwc->dev, sizeof(*dwc->ctrl_req),
> > > @@ -2689,6 +2690,13 @@ int dwc3_gadget_init(struct dwc3 *dwc)
> > >   if (ret)
> > >           goto err4;
> > >
> > > + if (dwc->quirks & DWC3_AMD_NL_PLAT) {
> > > +         reg = dwc3_readl(dwc->regs, DWC3_DCTL);
> > > +         reg |= DWC3_DCTL_LPM_ERRATA(0xf);
> > 
> > weird, why would Synopsys put this here ? It seems like this is only
> > useful when LPM Errata is enabled and that's, apparently, a host-side
> > thing.
> > 
> > Paul, can you comment ?
> 
> These bits contribute to how the device responds to an LPM transaction
> from the host. If DCFG.LPMCap=1, they set the BESL value above which
> the core will send a NYET. If DCFG.LPMCap=0, they have no effect. So
> it's definitely a device-side thing, but only if the core is configured
> with LPM Errata support enabled.

right, and how can SW detect if LPM Errata was enabled ? From the host
point of view, we can check bit 20 of xHCI capability register. What
about device ? I can't seem to find anything :-s

cheers

-- 
balbi

Attachment: signature.asc
Description: Digital signature

Reply via email to