Re: [PATCH V3 4/5] dwc3: host: Enable USB3 LPM capability

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.anand@xxxxxx>
> > ---
> >  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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux