Re: [PATCH 4/8] usb: cdns3: gadget: add CHAIN and ISP bit for sg list use case

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

 



On 20-09-08 09:22:44, Felipe Balbi wrote:
> 
> Hi,
> 
> Peter Chen <peter.chen@xxxxxxx> writes:
> > For sg buffer list use case, we need to add ISP for each TRB, and
> > add CHAIN bit for each TRB except for the last TRB.
> >
> > Signed-off-by: Peter Chen <peter.chen@xxxxxxx>
> > ---
> >  drivers/usb/cdns3/gadget.c | 8 +++++++-
> >  1 file changed, 7 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/usb/cdns3/gadget.c b/drivers/usb/cdns3/gadget.c
> > index 25e3ff1cdf61..a308a694abc5 100644
> > --- a/drivers/usb/cdns3/gadget.c
> > +++ b/drivers/usb/cdns3/gadget.c
> > @@ -1221,8 +1221,14 @@ static int cdns3_ep_run_transfer(struct cdns3_endpoint *priv_ep,
> >  		else
> >  			priv_req->trb->control = cpu_to_le32(control);
> >  
> > -		if (sg_supported)
> > +		if (sg_supported) {
> > +			trb->control |= TRB_ISP;
> > +			/* Don't set chain bit for last TRB */
> > +			if (sg_iter < num_trb - 1)
> > +				trb->control |= TRB_CHAIN;
> > +
> >  			s = sg_next(s);
> > +		}
> 
> is this a bugfix?
> 

The support for sg list is not good at current code, it needs all
changes in this patch series to let it work well, so it is better
let the whole things in this series as improvement.

-- 

Thanks,
Peter Chen



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

  Powered by Linux