summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <[email protected]>2025-12-10 15:25:30 +0700
committerhathach <[email protected]>2025-12-10 15:25:30 +0700
commita165cf26b269efa396667b05f5ccedace9b528ca (patch)
tree01025109094bf8f7f29d44644febe3b78716482b
parentfcc300770d9df7fdbefc2f899b63ef8fcb274b80 (diff)
remove tu_fifo_discard_n() and its usage
-rw-r--r--src/class/vendor/vendor_device.c8
-rw-r--r--src/class/vendor/vendor_device.h7
-rw-r--r--src/common/tusb_fifo.c9
-rw-r--r--src/common/tusb_fifo.h4
-rw-r--r--src/common/tusb_private.h12
-rw-r--r--src/tusb.c4
6 files changed, 8 insertions, 36 deletions
diff --git a/src/class/vendor/vendor_device.c b/src/class/vendor/vendor_device.c
index 62e183465..eb78a13c4 100644
--- a/src/class/vendor/vendor_device.c
+++ b/src/class/vendor/vendor_device.c
@@ -122,12 +122,6 @@ uint32_t tud_vendor_n_read(uint8_t idx, void *buffer, uint32_t bufsize) {
return tu_edpt_stream_read(p_itf->rhport, &p_itf->stream.rx, buffer, bufsize);
}
-uint32_t tud_vendor_n_read_discard(uint8_t idx, uint32_t count) {
- TU_VERIFY(idx < CFG_TUD_VENDOR, 0);
- vendord_interface_t *p_itf = &_vendord_itf[idx];
- return tu_edpt_stream_discard(&p_itf->stream.rx, count);
-}
-
void tud_vendor_n_read_flush(uint8_t idx) {
TU_VERIFY(idx < CFG_TUD_VENDOR, );
vendord_interface_t *p_itf = &_vendord_itf[idx];
@@ -303,8 +297,10 @@ bool vendord_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t result, uint
vendord_interface_t *p_vendor = &_vendord_itf[idx];
if (ep_addr == p_vendor->stream.rx.ep_addr) {
+ #if CFG_TUD_VENDOR_RX_BUFSIZE
// Received new data: put into stream's fifo
tu_edpt_stream_read_xfer_complete(&p_vendor->stream.rx, xferred_bytes);
+ #endif
// invoke callback
#if CFG_TUD_VENDOR_RX_BUFSIZE == 0
diff --git a/src/class/vendor/vendor_device.h b/src/class/vendor/vendor_device.h
index 764d99070..d59c885d2 100644
--- a/src/class/vendor/vendor_device.h
+++ b/src/class/vendor/vendor_device.h
@@ -73,9 +73,6 @@ bool tud_vendor_n_peek(uint8_t idx, uint8_t *ui8);
// Read from RX FIFO
uint32_t tud_vendor_n_read(uint8_t idx, void *buffer, uint32_t bufsize);
-// Discard count bytes in RX FIFO
-uint32_t tud_vendor_n_read_discard(uint8_t idx, uint32_t count);
-
// Flush (clear) RX FIFO
void tud_vendor_n_read_flush(uint8_t idx);
#endif
@@ -124,10 +121,6 @@ TU_ATTR_ALWAYS_INLINE static inline uint32_t tud_vendor_read(void *buffer, uint3
return tud_vendor_n_read(0, buffer, bufsize);
}
-TU_ATTR_ALWAYS_INLINE static inline uint32_t tud_vendor_read_discard(uint32_t count) {
- return tud_vendor_n_read_discard(0, count);
-}
-
TU_ATTR_ALWAYS_INLINE static inline void tud_vendor_read_flush(void) {
tud_vendor_n_read_flush(0);
}
diff --git a/src/common/tusb_fifo.c b/src/common/tusb_fifo.c
index 1313fc328..1fca1fd32 100644
--- a/src/common/tusb_fifo.c
+++ b/src/common/tusb_fifo.c
@@ -450,15 +450,6 @@ uint16_t tu_fifo_write_n_access_mode(tu_fifo_t *f, const void *data, uint16_t n,
return n;
}
-uint16_t tu_fifo_discard_n(tu_fifo_t *f, uint16_t n) {
- const uint16_t count = tu_min16(n, tu_fifo_count(f)); // limit to available count
- ff_lock(f->mutex_rd);
- f->rd_idx = advance_index(f->depth, f->rd_idx, count);
- ff_unlock(f->mutex_rd);
-
- return count;
-}
-
//--------------------------------------------------------------------+
// One API
//--------------------------------------------------------------------+
diff --git a/src/common/tusb_fifo.h b/src/common/tusb_fifo.h
index 5bc05b56c..26ac38073 100644
--- a/src/common/tusb_fifo.h
+++ b/src/common/tusb_fifo.h
@@ -205,10 +205,6 @@ TU_ATTR_ALWAYS_INLINE static inline uint16_t tu_fifo_read_n(tu_fifo_t *f, void *
return tu_fifo_read_n_access_mode(f, buffer, n, TU_FIFO_INC_ADDR_RW8);
}
-// discard first n items from fifo i.e advance read pointer by n with mutex
-// return number of discarded items
-uint16_t tu_fifo_discard_n(tu_fifo_t *f, uint16_t n);
-
//--------------------------------------------------------------------+
// Write API
//--------------------------------------------------------------------+
diff --git a/src/common/tusb_private.h b/src/common/tusb_private.h
index df518d5ff..dc62ae848 100644
--- a/src/common/tusb_private.h
+++ b/src/common/tusb_private.h
@@ -172,17 +172,15 @@ uint32_t tu_edpt_stream_read_xfer(uint8_t hwid, tu_edpt_stream_t* s);
// Complete read transfer by writing EP -> FIFO. Must be called in the transfer complete callback
TU_ATTR_ALWAYS_INLINE static inline
void tu_edpt_stream_read_xfer_complete(tu_edpt_stream_t* s, uint32_t xferred_bytes) {
- if (0u != tu_fifo_depth(&s->ff) && s->ep_buf != NULL) {
- tu_fifo_write_n(&s->ff, s->ep_buf, (uint16_t) xferred_bytes);
+ if (s->ep_buf != NULL) {
+ tu_fifo_write_n(&s->ff, s->ep_buf, (uint16_t)xferred_bytes);
}
}
// Complete read transfer with provided buffer
TU_ATTR_ALWAYS_INLINE static inline
void tu_edpt_stream_read_xfer_complete_with_buf(tu_edpt_stream_t *s, const void *buf, uint32_t xferred_bytes) {
- if (0u != tu_fifo_depth(&s->ff)) {
- tu_fifo_write_n(&s->ff, buf, (uint16_t) xferred_bytes);
- }
+ tu_fifo_write_n(&s->ff, buf, (uint16_t)xferred_bytes);
}
// Get the number of bytes available for reading
@@ -194,10 +192,6 @@ TU_ATTR_ALWAYS_INLINE static inline bool tu_edpt_stream_peek(tu_edpt_stream_t *s
return tu_fifo_peek(&s->ff, ch);
}
-TU_ATTR_ALWAYS_INLINE static inline uint32_t tu_edpt_stream_discard(tu_edpt_stream_t *s, uint32_t len) {
- return (uint32_t)tu_fifo_discard_n(&s->ff, (uint16_t)len);
-}
-
#ifdef __cplusplus
}
#endif
diff --git a/src/tusb.c b/src/tusb.c
index fef5b1b75..8bb1ddeff 100644
--- a/src/tusb.c
+++ b/src/tusb.c
@@ -338,9 +338,11 @@ bool tu_edpt_stream_init(tu_edpt_stream_t* s, bool is_host, bool is_tx, bool ove
void* ff_buf, uint16_t ff_bufsize, uint8_t* ep_buf, uint16_t ep_bufsize) {
(void) is_tx;
- if (CFG_TUSB_EDPT_STREAM_NO_FIFO_ENABLED == 0 && (ff_buf == NULL || ff_bufsize == 0)) {
+ #if CFG_TUSB_EDPT_STREAM_NO_FIFO_ENABLED == 0 // FIFO is required
+ if (ff_buf == NULL || ff_bufsize == 0) {
return false;
}
+ #endif
s->is_host = is_host;
tu_fifo_config(&s->ff, ff_buf, ff_bufsize, 1, overwritable);