mirror of
https://github.com/apache/nuttx.git
synced 2026-05-27 19:36:35 +08:00
Optimize request buffer sizes in the serial USB drivers so that we avoid so many NULL packets and so that the OUT request buffer size is exactly the max packet size.
This commit is contained in:
+2
-19
@@ -359,11 +359,7 @@ static int cdcacm_sndpacket(FAR struct cdcacm_dev_s *priv)
|
||||
|
||||
/* Get the maximum number of bytes that will fit into one bulk IN request */
|
||||
|
||||
#ifdef CONFIG_CDCACM_BULKREQLEN
|
||||
reqlen = MAX(CONFIG_CDCACM_BULKREQLEN, ep->maxpacket);
|
||||
#else
|
||||
reqlen = ep->maxpacket;
|
||||
#endif
|
||||
reqlen = MAX(CONFIG_CDCACM_BULKIN_REQLEN, ep->maxpacket);
|
||||
|
||||
while (!sq_empty(&priv->reqlist))
|
||||
{
|
||||
@@ -841,12 +837,7 @@ static void cdcacm_rdcomplete(FAR struct usbdev_ep_s *ep,
|
||||
|
||||
/* Requeue the read request */
|
||||
|
||||
#ifdef CONFIG_CDCACM_BULKREQLEN
|
||||
req->len = MAX(CONFIG_CDCACM_BULKREQLEN, ep->maxpacket);
|
||||
#else
|
||||
req->len = ep->maxpacket;
|
||||
#endif
|
||||
|
||||
ret = EP_SUBMIT(ep, req);
|
||||
if (ret != OK)
|
||||
{
|
||||
@@ -1013,11 +1004,7 @@ static int cdcacm_bind(FAR struct usbdevclass_driver_s *driver,
|
||||
|
||||
/* Pre-allocate read requests */
|
||||
|
||||
#ifdef CONFIG_CDCACM_BULKREQLEN
|
||||
reqlen = MAX(CONFIG_CDCACM_BULKREQLEN, priv->epbulkout->maxpacket);
|
||||
#else
|
||||
reqlen = priv->epbulkout->maxpacket;
|
||||
#endif
|
||||
|
||||
for (i = 0; i < CONFIG_CDCACM_NRDREQS; i++)
|
||||
{
|
||||
@@ -1036,11 +1023,7 @@ static int cdcacm_bind(FAR struct usbdevclass_driver_s *driver,
|
||||
|
||||
/* Pre-allocate write request containers and put in a free list */
|
||||
|
||||
#ifdef CONFIG_CDCACM_BULKREQLEN
|
||||
reqlen = MAX(CONFIG_CDCACM_BULKREQLEN, priv->epbulkin->maxpacket);
|
||||
#else
|
||||
reqlen = priv->epbulkin->maxpacket;
|
||||
#endif
|
||||
reqlen = MAX(CONFIG_CDCACM_BULKIN_REQLEN, priv->epbulkin->maxpacket);
|
||||
|
||||
for (i = 0; i < CONFIG_CDCACM_NWRREQS; i++)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user