Hi Sergei, > -----Original Message----- > From: Sergei Shtylyov [mailto:sshtylyov@xxxxxxxxxx] > Sent: 2012年7月7日 1:39 > To: Neil Zhang > Cc: balbi@xxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx; Chao Xie; > khoroshilov@xxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx; Chao Xie; Yu Xu > Subject: Re: [PATCH 5/7] usb: gadget: mv_udc: add iso support > > Hello. > > On 07/06/2012 04:44 PM, Neil Zhang wrote: > > > From: Chao Xie <chao.xie@xxxxxxxxxxx> > > > In order to support iso, we need do the following things: > > 1. fix length for one dtd > > 22 allow req contains multiple packets for a ISO transfer > > Where are the other 20 things? ;-) > > > Signed-off-by: Chao Xie <chao.xie@xxxxxxxxxxx> > > Signed-off-by: Yu Xu <yuxu@xxxxxxxxxxx> > > Signed-off-by: Neil Zhang <zhangwm@xxxxxxxxxxx> > > --- > > drivers/usb/gadget/mv_udc_core.c | 22 ++++++++++++++-------- > > 1 files changed, 14 insertions(+), 8 deletions(-) > > > diff --git a/drivers/usb/gadget/mv_udc_core.c > b/drivers/usb/gadget/mv_udc_core.c > > index 4d3a413..bbf6c27 100644 > > --- a/drivers/usb/gadget/mv_udc_core.c > > +++ b/drivers/usb/gadget/mv_udc_core.c > > @@ -355,17 +355,25 @@ done: > > return retval; > > } > > > > - > > static struct mv_dtd *build_dtd(struct mv_req *req, unsigned *length, > > dma_addr_t *dma, int *is_last) > > { > > - u32 temp; > > struct mv_dtd *dtd; > > struct mv_udc *udc; > > + struct mv_dqh *dqh; > > + u32 temp, mult = 0; > > > > /* how big will this transfer be? */ > > - *length = min(req->req.length - req->req.actual, > > - (unsigned)EP_MAX_LENGTH_TRANSFER); > > + if ((req->ep->desc->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) > > + == USB_ENDPOINT_XFER_ISOC) { > > Why not use usb_endpoint_xfer_isoc(req->ep->desc) instead? > Good suggestion, thanks. > WBR, Sergei Best Regards, Neil Zhang ?韬{.n?????%??檩??w?{.n???{炳???骅w*jg????????G??⒏⒎?:+v????????????"??????