commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] [gnuradio] 69/148: fixed memory map for split tx dsp a


From: git
Subject: [Commit-gnuradio] [gnuradio] 69/148: fixed memory map for split tx dsp and control
Date: Mon, 15 Aug 2016 00:47:25 +0000 (UTC)

This is an automated email from the git hooks/post-receive script.

nwest pushed a commit to annotated tag old_usrp_devel_udp
in repository gnuradio.

commit 48ac177cced1355cc8f4a3ad8df5487b28971113
Author: Josh Blum <address@hidden>
Date:   Fri Dec 11 19:05:56 2009 -0800

    fixed memory map for split tx dsp and control
---
 usrp2/firmware/apps/txrx.c      |  2 +-
 usrp2/firmware/lib/dbsm.c       |  6 +++---
 usrp2/firmware/lib/memory_map.h | 16 +++++++++++-----
 3 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/usrp2/firmware/apps/txrx.c b/usrp2/firmware/apps/txrx.c
index cc5f276..0e3fa20 100644
--- a/usrp2/firmware/apps/txrx.c
+++ b/usrp2/firmware/apps/txrx.c
@@ -209,7 +209,7 @@ stop_rx_cmd(void)
 static void
 setup_tx()
 {
-  dsp_tx_regs->clear_state = 1;
+  sr_tx_ctrl->clear_state = 1;
   bp_clear_buf(DSP_TX_BUF_0);
   bp_clear_buf(DSP_TX_BUF_1);
 
diff --git a/usrp2/firmware/lib/dbsm.c b/usrp2/firmware/lib/dbsm.c
index 75fb5d0..e404521 100644
--- a/usrp2/firmware/lib/dbsm.c
+++ b/usrp2/firmware/lib/dbsm.c
@@ -243,19 +243,19 @@ void
 dbsm_handle_tx_underrun(dbsm_t *sm)
 {
   // clear the DSP Tx state machine
-  dsp_tx_regs->clear_state = 1;
+  sr_tx_ctrl->clear_state = 1;
 
   // If there's a buffer that's empyting, clear it & flush xfer
 
   if (buffer_state[sm->buf0] == BS_EMPTYING){
     bp_clear_buf(sm->buf0);
-    dsp_tx_regs->clear_state = 1;      // flush partial packet
+    sr_tx_ctrl->clear_state = 1;       // flush partial packet
     // drop frame in progress on ground.  Pretend it finished
     dbsm_process_helper(sm, sm->buf0);
   }
   else if (buffer_state[sm->buf0 ^ 1] == BS_EMPTYING){
     bp_clear_buf(sm->buf0 ^ 1);
-    dsp_tx_regs->clear_state = 1;      // flush partial packet
+    sr_tx_ctrl->clear_state = 1;       // flush partial packet
     // drop frame in progress on ground.  Pretend it finished
     dbsm_process_helper(sm, sm->buf0 ^ 1);
   }
diff --git a/usrp2/firmware/lib/memory_map.h b/usrp2/firmware/lib/memory_map.h
index 46e9f2d..be30949 100644
--- a/usrp2/firmware/lib/memory_map.h
+++ b/usrp2/firmware/lib/memory_map.h
@@ -295,15 +295,14 @@ hwconfig_wishbone_divisor(void)
 #define        TX_PROTOCOL_ENGINE_BASE 0xD480
 #define        RX_PROTOCOL_ENGINE_BASE 0xD4C0
 #define BUFFER_POOL_CTRL_BASE   0xD500
-#define DSP_TX_BASE             0xD600
 #define LAST_SETTING_REG        0xD7FC // last valid setting register
 
 #define SR_MISC 0
 #define SR_TX_PROT_ENG 32
 #define SR_RX_PROT_ENG 48
 #define SR_BUFFER_POOL_CTRL 64
-#define SR_TX_DSP 128
-#define SR_TX_CTRL 144
+#define SR_TX_DSP 208
+#define SR_TX_CTRL 224
 #define SR_RX_DSP 160
 #define SR_RX_CTRL 176
 #define SR_TIME64 192
@@ -399,10 +398,17 @@ typedef struct {
 #define        MAX_CIC_INTERP  128
 
 typedef struct {
+  volatile uint32_t     num_chan;
+  volatile uint32_t     clear_state;   // clears out state machine, fifos,
+} sr_tx_ctrl_t;
+
+#define sr_tx_ctrl ((sr_tx_ctrl_t *) _SR_ADDR(SR_TX_CTRL))
+
+typedef struct {
   volatile int32_t     freq;
   volatile uint32_t    scale_iq;       // {scale_i,scale_q}
   volatile uint32_t     interp_rate;
-  volatile uint32_t     clear_state;   // clears out state machine, fifos,
+  volatile uint32_t     _padding0;      // padding for the tx_mux
                                         //   NOT freq, scale, interp
   /*!
    * \brief output mux configuration.
@@ -442,7 +448,7 @@ typedef struct {
 
 } dsp_tx_regs_t;
   
-#define dsp_tx_regs ((dsp_tx_regs_t *) DSP_TX_BASE)
+#define dsp_tx_regs ((dsp_tx_regs_t *) _SR_ADDR(SR_TX_DSP))
 
 // --- VITA RX CTRL regs ---
 typedef struct {



reply via email to

[Prev in Thread] Current Thread [Next in Thread]