From 7cf66e031e2edae499700827d318b71de00408e2 Mon Sep 17 00:00:00 2001 From: Joris van Rantwijk Date: Mon, 20 Oct 2025 12:19:32 +0200 Subject: [PATCH] Reset limit pointer during DMA re-init --- sw/src/userspace/puzzlefw.hpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sw/src/userspace/puzzlefw.hpp b/sw/src/userspace/puzzlefw.hpp index ebc6d2c..049617c 100644 --- a/sw/src/userspace/puzzlefw.hpp +++ b/sw/src/userspace/puzzlefw.hpp @@ -732,7 +732,6 @@ public: // Set up DMA buffer segment. m_device.write_reg(m_reg.addr_start, m_buf_start); m_device.write_reg(m_reg.addr_end, m_buf_end); - m_device.write_reg(m_reg.addr_limit, m_buf_end - POINTER_MARGIN); // Initialize DMA stream and reset write pointer. init(); @@ -791,6 +790,9 @@ public: // Reset read pointer. m_read_pointer = m_buf_start; + + // Reset write limit pointer. + m_device.write_reg(m_reg.addr_limit, m_buf_end - POINTER_MARGIN); } /** Return the number of bytes available in the DMA buffer. */