diff options
author | Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> | 2024-08-28 13:22:55 +0100 |
---|---|---|
committer | Philippe Mathieu-Daudé <philmd@linaro.org> | 2024-09-13 20:11:13 +0200 |
commit | cfc65db19bc9f796f338dc7220811471b6ab2f28 (patch) | |
tree | fbb9e4c0363654bf4f7194616d85a0c78b7155e1 /util | |
parent | 7fd6866c3c1596f6ff7de9ff2fa64275627f7ffe (diff) |
fifo8: honour do_pop argument in fifo8_peekpop_buf()
Pass the do_pop value from fifo8_peekpop_buf() to fifo8_peekpop_bufptr()
to allow peeks to the FIFO buffer, including adjusting the skip parameter
to handle the case where the internal FIFO buffer wraps around.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Octavian Purdila <tavip@google.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240828122258.928947-7-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Diffstat (limited to 'util')
-rw-r--r-- | util/fifo8.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/util/fifo8.c b/util/fifo8.c index 5453cbc1b0..1031ffbe7e 100644 --- a/util/fifo8.c +++ b/util/fifo8.c @@ -117,7 +117,7 @@ static uint32_t fifo8_peekpop_buf(Fifo8 *fifo, uint8_t *dest, uint32_t destlen, } len = destlen; - buf = fifo8_peekpop_bufptr(fifo, len, 0, &n1, true); + buf = fifo8_peekpop_bufptr(fifo, len, 0, &n1, do_pop); if (dest) { memcpy(dest, buf, n1); } @@ -126,7 +126,7 @@ static uint32_t fifo8_peekpop_buf(Fifo8 *fifo, uint8_t *dest, uint32_t destlen, len -= n1; len = MIN(len, fifo8_num_used(fifo)); if (len) { - buf = fifo8_peekpop_bufptr(fifo, len, 0, &n2, true); + buf = fifo8_peekpop_bufptr(fifo, len, do_pop ? 0 : n1, &n2, do_pop); if (dest) { memcpy(&dest[n1], buf, n2); } |