From 7ea624b179cfb2cd6204be4dc128ba7ef07f4546 Mon Sep 17 00:00:00 2001
From: michael-west <michael.west@ettus.com>
Date: Mon, 15 Aug 2016 11:21:57 -0700
Subject: X300: GPSDO fixes - Optimize writes so full 32-bit words are written
 at a time - Simplify UART so it does not strip or add characters

---
 firmware/usrp3/x300/x300_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'firmware/usrp3')

diff --git a/firmware/usrp3/x300/x300_main.c b/firmware/usrp3/x300/x300_main.c
index 3b812a2c4..125459583 100644
--- a/firmware/usrp3/x300/x300_main.c
+++ b/firmware/usrp3/x300/x300_main.c
@@ -345,12 +345,12 @@ static void handle_uarts(void)
     static uint32_t rxoffset = 0;
     for (int rxch = wb_uart_getc(UART0_BASE); rxch != -1; rxch = wb_uart_getc(UART0_BASE))
     {
-        rxoffset++;
         const int shift = ((rxoffset%4) * 8);
         static uint32_t rxword32 = 0;
         if (shift == 0) rxword32 = 0;
         rxword32 |= ((uint32_t) rxch & 0xFF) << shift;
         rxpool[(rxoffset/4) % NUM_POOL_WORDS32] = rxword32;
+        rxoffset++;
         shmem[X300_FW_SHMEM_UART_RX_INDEX] = rxoffset;
     }
 
-- 
cgit v1.2.3