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>
This commit is contained in:
parent
7fd6866c3c
commit
cfc65db19b
@ -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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user