Skip to content

Commit 3ff2485

Browse files
committed
tinyusb host stack: change data type for transfer length from uint16_t to uint32_t
* increase transfer length above 64K bytes Signed-off-by: souravr <sourav.raj@ignitarium.com>
1 parent 3da8d91 commit 3ff2485

9 files changed

Lines changed: 12 additions & 12 deletions

File tree

src/class/msc/msc_host.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ bool msch_xfer_cb(uint8_t dev_addr, uint8_t ep_addr, xfer_result_t event, uint32
335335
// Data stage if any
336336
p_msc->stage = MSC_STAGE_DATA;
337337
uint8_t const ep_data = (cbw->dir & TUSB_DIR_IN_MASK) ? p_msc->ep_in : p_msc->ep_out;
338-
TU_ASSERT(usbh_edpt_xfer(dev_addr, ep_data, p_msc->buffer, (uint16_t) cbw->total_bytes));
338+
TU_ASSERT(usbh_edpt_xfer(dev_addr, ep_data, p_msc->buffer, (uint32_t) cbw->total_bytes));
339339
break;
340340
}
341341

src/host/hcd.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ bool hcd_edpt_open(uint8_t rhport, uint8_t daddr, tusb_desc_endpoint_t const * e
163163
bool hcd_edpt_close(uint8_t rhport, uint8_t daddr, uint8_t ep_addr);
164164

165165
// Submit a transfer, when complete hcd_event_xfer_complete() must be invoked
166-
bool hcd_edpt_xfer(uint8_t rhport, uint8_t daddr, uint8_t ep_addr, uint8_t * buffer, uint16_t buflen);
166+
bool hcd_edpt_xfer(uint8_t rhport, uint8_t daddr, uint8_t ep_addr, uint8_t * buffer, uint32_t buflen);
167167

168168
// Abort a queued transfer. Note: it can only abort transfer that has not been started
169169
// Return true if a queued transfer is aborted, false if there is no transfer to abort

src/host/usbh.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1004,7 +1004,7 @@ bool usbh_edpt_release(uint8_t dev_addr, uint8_t ep_addr) {
10041004
}
10051005

10061006
// Submit an transfer
1007-
bool usbh_edpt_xfer_with_callback(uint8_t dev_addr, uint8_t ep_addr, uint8_t* buffer, uint16_t total_bytes,
1007+
bool usbh_edpt_xfer_with_callback(uint8_t dev_addr, uint8_t ep_addr, uint8_t* buffer, uint32_t total_bytes,
10081008
tuh_xfer_cb_t complete_cb, uintptr_t user_data) {
10091009
(void) complete_cb;
10101010
(void) user_data;

src/host/usbh_pvt.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,11 @@ void usbh_spin_unlock(bool in_isr);
7979
//--------------------------------------------------------------------+
8080

8181
// Submit a usb transfer with callback support, require CFG_TUH_API_EDPT_XFER
82-
bool usbh_edpt_xfer_with_callback(uint8_t dev_addr, uint8_t ep_addr, uint8_t * buffer, uint16_t total_bytes,
82+
bool usbh_edpt_xfer_with_callback(uint8_t dev_addr, uint8_t ep_addr, uint8_t * buffer, uint32_t total_bytes,
8383
tuh_xfer_cb_t complete_cb, uintptr_t user_data);
8484

8585
TU_ATTR_ALWAYS_INLINE static inline
86-
bool usbh_edpt_xfer(uint8_t dev_addr, uint8_t ep_addr, uint8_t * buffer, uint16_t total_bytes) {
86+
bool usbh_edpt_xfer(uint8_t dev_addr, uint8_t ep_addr, uint8_t * buffer, uint32_t total_bytes) {
8787
return usbh_edpt_xfer_with_callback(dev_addr, ep_addr, buffer, total_bytes, NULL, 0);
8888
}
8989

src/portable/socfpga/dwc2/hcd_dwc2.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ typedef struct {
8686
uint32_t uframe_countdown; // micro-frame count down to transfer for periodic, only need 18-bit
8787

8888
uint8_t* buffer;
89-
uint16_t buflen;
89+
uint32_t buflen;
9090
} hcd_endpoint_t;
9191

9292
// Additional info for each channel when it is active
@@ -100,7 +100,7 @@ typedef struct {
100100
};
101101
uint8_t result;
102102

103-
uint16_t xferred_bytes; // bytes that accumulate transferred though USB bus for the whole hcd_edpt_xfer(), which can
103+
uint32_t xferred_bytes; // bytes that accumulate transferred though USB bus for the whole hcd_edpt_xfer(), which can
104104
// be composed of multiple channel_xfer_start() (retry with NAK/NYET)
105105
uint16_t fifo_bytes; // bytes written/read from/to FIFO (may not be transferred on USB bus).
106106
} hcd_xfer_t;
@@ -727,7 +727,7 @@ static bool edpt_xfer_kickoff(dwc2_regs_t* dwc2, uint8_t ep_id) {
727727
}
728728

729729
// Submit a transfer, when complete hcd_event_xfer_complete() must be invoked
730-
bool hcd_dwc2_edpt_xfer(uint8_t rhport, uint8_t dev_addr, uint8_t ep_addr, uint8_t * buffer, uint16_t buflen) {
730+
bool hcd_dwc2_edpt_xfer(uint8_t rhport, uint8_t dev_addr, uint8_t ep_addr, uint8_t * buffer, uint32_t buflen) {
731731
dwc2_regs_t* dwc2 = DWC2_REG(rhport);
732732
const uint8_t ep_num = tu_edpt_number(ep_addr);
733733
const uint8_t ep_dir = tu_edpt_dir(ep_addr);

src/portable/socfpga/dwc2/hcd_dwc2.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ tusb_speed_t hcd_dwc2_port_speed_get(uint8_t rhport);
1919
void hcd_dwc2_device_close(uint8_t rhport, uint8_t dev_addr);
2020

2121
bool hcd_dwc2_edpt_open(uint8_t rhport, uint8_t dev_addr, const tusb_desc_endpoint_t* desc_ep);
22-
bool hcd_dwc2_edpt_xfer(uint8_t rhport, uint8_t dev_addr, uint8_t ep_addr, uint8_t * buffer, uint16_t buflen);
22+
bool hcd_dwc2_edpt_xfer(uint8_t rhport, uint8_t dev_addr, uint8_t ep_addr, uint8_t * buffer, uint32_t buflen);
2323
bool hcd_dwc2_edpt_abort_xfer(uint8_t rhport, uint8_t dev_addr, uint8_t ep_addr);
2424
bool hcd_dwc2_setup_send(uint8_t rhport, uint8_t dev_addr, const uint8_t setup_packet[8]);
2525
bool hcd_dwc2_edpt_clear_stall(uint8_t rhport, uint8_t dev_addr, uint8_t ep_addr);

src/portable/socfpga/dwc3/hcd_dwc3.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ bool hcd_dwc3_edpt_open( uint8_t rhport, uint8_t daddr,
326326
return true;
327327
}
328328

329-
bool hcd_dwc3_edpt_xfer(uint8_t rhport, uint8_t daddr, uint8_t ep_addr, uint8_t * buffer, uint16_t buflen)
329+
bool hcd_dwc3_edpt_xfer(uint8_t rhport, uint8_t daddr, uint8_t ep_addr, uint8_t * buffer, uint32_t buflen)
330330
{
331331
const uint8_t ep_num = tu_edpt_number(ep_addr);
332332
const unsigned dir = (uint32_t) tu_edpt_dir(ep_addr);

src/portable/socfpga/dwc3/hcd_dwc3.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ tusb_speed_t hcd_dwc3_port_speed_get(uint8_t rhport);
8888
void hcd_dwc3_device_close(uint8_t rhport, uint8_t dev_addr);
8989

9090
bool hcd_dwc3_edpt_open(uint8_t rhport, uint8_t dev_addr, const tusb_desc_endpoint_t* desc_ep);
91-
bool hcd_dwc3_edpt_xfer(uint8_t rhport, uint8_t dev_addr, uint8_t ep_addr, uint8_t * buffer, uint16_t buflen);
91+
bool hcd_dwc3_edpt_xfer(uint8_t rhport, uint8_t dev_addr, uint8_t ep_addr, uint8_t * buffer, uint32_t buflen);
9292
bool hcd_dwc3_edpt_abort_xfer(uint8_t rhport, uint8_t dev_addr, uint8_t ep_addr);
9393
bool hcd_dwc3_setup_send(uint8_t rhport, uint8_t dev_addr, const uint8_t setup_packet[8]);
9494
bool hcd_dwc3_edpt_clear_stall(uint8_t rhport, uint8_t dev_addr, uint8_t ep_addr);

src/portable/socfpga/hcd_socfpga.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ bool hcd_edpt_close(uint8_t rhport, uint8_t daddr, uint8_t ep_addr) {
190190

191191

192192
// Submit a transfer, when complete hcd_event_xfer_complete() must be invoked
193-
bool hcd_edpt_xfer(uint8_t rhport, uint8_t dev_addr, uint8_t ep_addr, uint8_t * buffer, uint16_t buflen) {
193+
bool hcd_edpt_xfer(uint8_t rhport, uint8_t dev_addr, uint8_t ep_addr, uint8_t * buffer, uint32_t buflen) {
194194
if( rhport == SOCFPGA_USB2_OTG_PORT )
195195
{
196196
return hcd_dwc2_edpt_xfer(rhport, dev_addr, ep_addr, buffer, buflen);

0 commit comments

Comments
 (0)