Hi Paul/Felip,

On Wed, May 07, 2014 at 11:15:33AM +0530, Pratyush Anand wrote:
> Hi Paul,
> 
> On Tue, May 06, 2014 at 11:54:19AM +0800, Pratyush ANAND wrote:
> > All dwc3 based xhci host controller supports USB3.0 LPM functionality.
> > Therefore enable it in platform data for all dwc3 based xhci device.
> > 
> > Signed-off-by: Pratyush Anand <pratyush.an...@st.com>
> > ---
> >  drivers/usb/dwc3/host.c | 12 ++++++++++++
> >  1 file changed, 12 insertions(+)
> > 
> > diff --git a/drivers/usb/dwc3/host.c b/drivers/usb/dwc3/host.c
> > index 32db328..1fda6e8 100644
> > --- a/drivers/usb/dwc3/host.c
> > +++ b/drivers/usb/dwc3/host.c
> > @@ -16,12 +16,14 @@
> >   */
> >  
> >  #include <linux/platform_device.h>
> > +#include <linux/usb/xhci_pdriver.h>
> >  
> >  #include "core.h"
> >  
> >  int dwc3_host_init(struct dwc3 *dwc)
> >  {
> >     struct platform_device  *xhci;
> > +   struct usb_xhci_pdata   pdata;
> >     int                     ret;
> >  
> >     xhci = platform_device_alloc("xhci-hcd", PLATFORM_DEVID_AUTO);
> > @@ -46,6 +48,16 @@ int dwc3_host_init(struct dwc3 *dwc)
> >             goto err1;
> >     }
> >  
> > +   memset(&pdata, 0, sizeof(pdata));
> > +
> > +   pdata.usb3_lpm_capable = 1;
> 
> Even though all dwc3 platform is usb3 lpm capable, I would like to
> make it optional, as I see some performance impact when capability is
> enabled vs not enabled.
> 
> When enabled:
> ./testusb -a -t 2 -c 1000000 -s 1024
> takes 198 sec to execute
> vs when not enabled , it takes 169 sec to execute.
> 
> And this impact is with a gadget with maxburst and mult as 0.
> Performance will be impacted more with higher maxburst and mult.
> 
> So making it optional would be a better choice. What do you say.

Do you think that it would be wiser to add an optional flag in
usb3-lpm-enable in dwc3 dt? If yes, I will send a quick next revision,
else I think patches can be applied.

Regards
Pratyush

> 
> Pratyush
> 
> 
> > +
> > +   ret = platform_device_add_data(xhci, &pdata, sizeof(pdata));
> > +   if (ret) {
> > +           dev_err(dwc->dev, "couldn't add platform data to xHCI 
> > device\n");
> > +           goto err1;
> > +   }
> > +
> >     ret = platform_device_add(xhci);
> >     if (ret) {
> >             dev_err(dwc->dev, "failed to register xHCI device\n");
> > -- 
> > 1.8.1.2
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to