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]

 



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.

Cool, thanks for clarifying :-)

-- 
balbi

Attachment: signature.asc
Description: PGP signature


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

  Powered by Linux