summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHa Thach <[email protected]>2021-02-22 12:47:48 +0700
committerGitHub <[email protected]>2021-02-22 12:47:48 +0700
commitd3195414dc770adc767fcf319afd595dbf63b68d (patch)
tree41acf4593806e2679d0ef2d6d7a0b4fbc89ab962
parent30085592d4fa46c3ffa749d6a6dc0092e9a6f449 (diff)
parent43ca6267748e697a70db4c8c085c837addadff2e (diff)
Merge pull request #657 from ndinsmore/RP2040_enable_isochronous_buffer_size
RP2040:Enable full size isochronous buffers
-rw-r--r--src/portable/raspberrypi/rp2040/rp2040_usb.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/portable/raspberrypi/rp2040/rp2040_usb.c b/src/portable/raspberrypi/rp2040/rp2040_usb.c
index 5c536e314..339297ad6 100644
--- a/src/portable/raspberrypi/rp2040/rp2040_usb.c
+++ b/src/portable/raspberrypi/rp2040/rp2040_usb.c
@@ -153,8 +153,7 @@ void _hw_endpoint_xfer_start(struct hw_endpoint *ep, uint8_t *buffer, uint16_t t
// Fill in info now that we're kicking off the hw
ep->total_len = total_len;
ep->len = 0;
- // FIXME: What if low speed
- ep->transfer_size = total_len > 64 ? 64 : total_len;
+ ep->transfer_size = tu_min32(total_len, ep->wMaxPacketSize);
ep->active = true;
ep->user_buf = buffer;
// Recalculate if this is the last buffer
@@ -232,7 +231,7 @@ bool _hw_endpoint_xfer_continue(struct hw_endpoint *ep)
// Now we have synced our state with the hardware. Is there more data to transfer?
uint remaining_bytes = ep->total_len - ep->len;
- ep->transfer_size = remaining_bytes > 64 ? 64 : remaining_bytes;
+ ep->transfer_size = tu_min32(remaining_bytes, ep->wMaxPacketSize);
_hw_endpoint_update_last_buf(ep);
// Can happen because of programmer error so check for it