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 ? Thanks ! _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox