[PATCH v4 02/13] usb: dwc2: Add host controller driver

Sascha Hauer s.hauer at pengutronix.de
Fri Aug 14 09:12:16 EDT 2020


On Fri, Aug 14, 2020 at 10:15:04AM +0200, Jules Maselbas wrote:
> Hi Sascha,
> 
> On Fri, Aug 14, 2020 at 08:21:03AM +0200, Sascha Hauer wrote:
> > Hi Jules,
> > 
> > On Tue, Aug 11, 2020 at 05:16:26PM +0200, Jules Maselbas wrote:
> > > +
> > > +static int transfer_chunk(struct dwc2 *dwc2, u8 hc,
> > > +			  u8 *pid, int in, void *buffer, int num_packets,
> > > +			  int xfer_len, int *actual_len, int odd_frame)
> > > +{
> > > +	uint32_t hctsiz, hcchar, sub;
> > > +	dma_addr_t dma_addr;
> > > +	int ret = 0;
> > > +
> > > +	dma_addr = dma_map_single(dwc2->dev, buffer, xfer_len,
> > > +				  in ? DMA_FROM_DEVICE : DMA_TO_DEVICE);
> > > +
> > > +	dwc2_dbg(dwc2, "chunk: pid=%d xfer_len=%u pkts=%u dma_addr=%pad\n",
> > > +		 *pid, xfer_len, num_packets, (void *)dma_addr);
> > > +
> > > +	dwc2_writel(dwc2, dma_addr, HCDMA(hc));
> > > +
> > > +	hctsiz = (xfer_len << TSIZ_XFERSIZE_SHIFT)
> > > +		| (1 << TSIZ_PKTCNT_SHIFT)
> > > +		| (*pid << TSIZ_SC_MC_PID_SHIFT);
> > 
> > Any reason to ignore num_packets here and hardcode 1 to the packet
> > count? This breaks transfers > 512 bytes in my case.
> Yes this is a mistake, it should be num_packets instead of 1.
> This must be an error I've made when porting the driver from u-boot.
> 
> Should I send a fixup or a new patchset ?

I'll fix it up locally, no problem.

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list