RE: [PATCH] usb: gadget: uvc:change the UVC_NUM_REQUESTS value

From: Lipengcheng
Date: Tue Dec 26 2017 - 00:11:56 EST


Hi,

> -----Original Message-----
> From: Manu Gautam [mailto:mgautam@xxxxxxxxxxxxxx]
> Sent: Tuesday, December 26, 2017 1:01 PM
> To: Lipengcheng; balbi@xxxxxxxxxx
> Cc: gregkh@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH] usb: gadget: uvc:change the UVC_NUM_REQUESTS value
>
> Hi,
>
>
> On 12/26/2017 8:22 AM, Lipengcheng wrote:
> > The value is 4, it can cache four descriptors. When streaming_interval
> > = 1, it can tolerate 500us. Some busy scenes, it may be more than
> > 500us because cpu scheduling is not timely. There will have some
> > problems. It is better set to eight.
> >
> > Signed-off-by: Pengcheng Li <lpc.li@xxxxxxxxxxxxx>
> > ---
> > drivers/usb/gadget/function/uvc.h | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/usb/gadget/function/uvc.h
> > b/drivers/usb/gadget/function/uvc.h
> > index a64e07e..901487e 100644
> > --- a/drivers/usb/gadget/function/uvc.h
> > +++ b/drivers/usb/gadget/function/uvc.h
> > @@ -90,7 +90,7 @@ extern unsigned int uvc_gadget_trace_param;
> > * Driver specific constants
> > */
> >
> > -#define UVC_NUM_REQUESTS 4
> > +#define UVC_NUM_REQUESTS 8
>
> Can we rather make it 16?
> I ran into similar issue on QCOM platform with DWC3 and with 8 requests also data loss was observed. 16 requests (i.e. ~2msec) worked fine.
I think 16 is ok. The value 4 has a bit too small .In hisilicon asic, I set the value 32(4ms) and it is ok. The bad impact is the need to expend more memory space. So therefore need to match with the respective chip platform to find the appropriate value.
>
> > #define UVC_MAX_REQUEST_SIZE 64
> > #define UVC_MAX_EVENTS 4
> >
> > --
> > 2.7.4
> >
> > N r y b X Çv ^ )Þ{.n + { ^n r z  h &  G h (
> > é Ýj"  m z Þ f h ~ mml==
>
> --
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project