From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lukasz Majewski Date: Sat, 6 Feb 2021 15:07:42 +0100 Subject: [RESEND PATCH 07/16] usb: musb: Fix transmission of bigger buffers In-Reply-To: <20210205191212.7644-8-pali@kernel.org> References: <20210205191212.7644-1-pali@kernel.org> <20210205191212.7644-8-pali@kernel.org> Message-ID: <20210206150742.195ae8bb@jawa> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Fri, 5 Feb 2021 20:12:03 +0100 Pali Roh?r wrote: > If udc_endpoint_write() was called with bigger payload which does not > fit into one USB packet it needs to be transmitted in more USB > packets. First packet is transmitted by udc_endpoint_write() call > itself and other packets are put into waiting queue. > > Implement function musb_peri_tx() which transmit checks when > endpoints are ready and continue transmitting of waiting queue. > > This patch fixes sending e.g. output of printenv command over usbtty > serial console. Reviewed-by: Lukasz Majewski > > Signed-off-by: Pali Roh?r > --- > drivers/usb/musb/musb_udc.c | 17 ++++++----------- > 1 file changed, 6 insertions(+), 11 deletions(-) > > diff --git a/drivers/usb/musb/musb_udc.c b/drivers/usb/musb/musb_udc.c > index 67d1c56f9a..28719cc3f6 100644 > --- a/drivers/usb/musb/musb_udc.c > +++ b/drivers/usb/musb/musb_udc.c > @@ -708,21 +708,16 @@ static void musb_peri_rx(u16 intr) > > static void musb_peri_tx(u16 intr) > { > + unsigned int ep; > + > /* Check for EP0 */ > if (0x01 & intr) > musb_peri_ep0_tx(); > > - /* > - * Use this in the future when handling epN tx > - * > - * u8 ep; > - * > - * for (ep = 1; ep < 16; ep++) { > - * if ((1 << ep) & intr) { > - * / * handle tx for this endpoint * / > - * } > - * } > - */ > + for (ep = 1; ep < 16; ep++) { > + if ((1 << ep) & intr) > + udc_endpoint_write(GET_ENDPOINT(udc_device, > ep)); > + } > } > > void udc_irq(void) Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: