summaryrefslogtreecommitdiff
path: root/src/common/tusb_fifo.c
diff options
context:
space:
mode:
authorhathach <[email protected]>2025-12-31 16:26:24 +0700
committerhathach <[email protected]>2025-12-31 16:26:24 +0700
commitf20ad05d71919dd5656aa7f92b9e27582744348a (patch)
treec242eb5a89f6488c537b61421bef18bbf97a3b9a /src/common/tusb_fifo.c
parentd61ed922206148081afa70803ad717858bc5b756 (diff)
update tu_fifo to work with fsdev hwfifo with increased address 16/32bit
Diffstat (limited to 'src/common/tusb_fifo.c')
-rw-r--r--src/common/tusb_fifo.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/common/tusb_fifo.c b/src/common/tusb_fifo.c
index a347fbee3..bc4ee180c 100644
--- a/src/common/tusb_fifo.c
+++ b/src/common/tusb_fifo.c
@@ -113,7 +113,7 @@ void tu_fifo_set_overwritable(tu_fifo_t *f, bool overwritable) {
// Pull & Push
// copy data to/from fifo without updating read/write pointers
//--------------------------------------------------------------------+
-#if CFG_TUSB_FIFO_ACCESS_DATA_STRIDE
+#if CFG_TUD_EDPT_DEDICATED_HWFIFO
#if CFG_TUSB_FIFO_ACCESS_DATA_STRIDE == 4
#define stride_unaligned_write tu_unaligned_write32
#define stride_unaligned_read tu_unaligned_read32
@@ -138,7 +138,7 @@ static void ff_push_stride(uint8_t *ff_buf, const volatile stride_item_t *src, u
ff_buf += sizeof(stride_item_t);
#if CFG_TUSB_FIFO_ACCESS_ADDR_STRIDE
- src = (const volatile uint8_t *)src + addr_stride;
+ src = (const volatile stride_item_t *)((uintptr_t)src + CFG_TUSB_FIFO_ACCESS_ADDR_STRIDE);
#endif
}
@@ -159,7 +159,7 @@ static void ff_pull_stride(volatile stride_item_t *dest, const uint8_t *ff_buf,
ff_buf += sizeof(stride_item_t);
#if CFG_TUSB_FIFO_ACCESS_ADDR_STRIDE
- dest = (const volatile uint8_t *)dest + addr_stride;
+ dest = (volatile stride_item_t *)((uintptr_t)dest + CFG_TUSB_FIFO_ACCESS_ADDR_STRIDE);
#endif
}
@@ -180,7 +180,7 @@ static void ff_push_n(const tu_fifo_t *f, const void *app_buf, uint16_t n, uint1
uint16_t wrap_bytes = n - lin_bytes;
uint8_t *ff_buf = f->buffer + wr_ptr;
-#if CFG_TUSB_FIFO_ACCESS_DATA_STRIDE
+#if CFG_TUD_EDPT_DEDICATED_HWFIFO
if (stride_mode) {
const volatile stride_item_t *stride_src = (const volatile stride_item_t *)app_buf;
if (n <= lin_bytes) {
@@ -234,7 +234,7 @@ static void ff_pull_n(const tu_fifo_t *f, void *app_buf, uint16_t n, uint16_t rd
uint16_t wrap_bytes = n - lin_bytes; // only used if wrapped
const uint8_t *ff_buf = f->buffer + rd_ptr;
-#if CFG_TUSB_FIFO_ACCESS_DATA_STRIDE
+#if CFG_TUD_EDPT_DEDICATED_HWFIFO
if (stride_mode) {
volatile stride_item_t *stride_dst = (volatile stride_item_t *)app_buf;