summaryrefslogtreecommitdiff
path: root/src/portable/raspberrypi
diff options
context:
space:
mode:
authorNicholas R Dinsmore <[email protected]>2021-02-17 13:22:34 -0500
committerNicholas R Dinsmore <[email protected]>2021-02-17 13:22:34 -0500
commit79b360f0a6b980cb8b4826bbad0d2d6a4c9dae4b (patch)
treeb6a30d874d2ce094e6899d4217f64807a0583504 /src/portable/raspberrypi
parent1b849fc70a9dca3603b38828a3c37696efb1ebe0 (diff)
Enable iso buffers per rp2040 spec
Diffstat (limited to 'src/portable/raspberrypi')
-rw-r--r--src/portable/raspberrypi/rp2040/rp2040_usb.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/portable/raspberrypi/rp2040/rp2040_usb.c b/src/portable/raspberrypi/rp2040/rp2040_usb.c
index 5c536e314..036b52196 100644
--- a/src/portable/raspberrypi/rp2040/rp2040_usb.c
+++ b/src/portable/raspberrypi/rp2040/rp2040_usb.c
@@ -154,6 +154,14 @@ void _hw_endpoint_xfer_start(struct hw_endpoint *ep, uint8_t *buffer, uint16_t t
ep->total_len = total_len;
ep->len = 0;
// FIXME: What if low speed
+ if(ep->transfer_type == TUSB_XFER_ISOCHRONOUS)
+ {
+ ep->transfer_size = total_len; //There is an assumption that the max buffer size of 1023 or 1024 was checked before this
+ }
+ else
+ {
+ ep->transfer_size = total_len > 64 ? 64 : total_len;
+ }
ep->transfer_size = total_len > 64 ? 64 : total_len;
ep->active = true;
ep->user_buf = buffer;