[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 {
- [Commit-gnuradio] [gnuradio] 51/148: progress on vita_tx. it compiles now, need to work on vita_tx_control., (continued)
- [Commit-gnuradio] [gnuradio] 51/148: progress on vita_tx. it compiles now, need to work on vita_tx_control., git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 46/148: Created and used a typedef for a vector of sbuffs. Changed the return type for the transport sendv to bool. Not all transports can return the number of bytes sent, and we only care if the transport succeeded or not. This fixes an issue of the usrp2 impl freezing on close after tx, because the return value from sednv was improperly handled., git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 66/148: Merge branch 'vita_rx' of http://gnuradio.org/git/matt into wip/usrp2, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 79/148: cleaned up the main ibs state machine, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 71/148: Merge branch 'vita_rx' of gnuradio.org:matt into vita_rx, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 53/148: very basic packet sending works, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 77/148: Merge branch 'master' of gnuradio.org:gnuradio into vita_rx, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 57/148: Removed the ring buffer from the usrp2 impl., git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 67/148: reorder the memory map, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 55/148: First cut at vita tx, whole thing compiles, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 69/148: fixed memory map for split tx dsp and control,
git <=
- [Commit-gnuradio] [gnuradio] 62/148: Add ability to clear state out when there is an underrun, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 65/148: Merge branch 'vita_rx' of gnuradio.org:matt into vita_rx, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 63/148: only pull from input fifo when really consuming or pushing into the next fifo, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 68/148: Merge branch 'vita_rx' of gnuradio.org:matt into vita_rx, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 103/148: 19-bit fifo handling for receive side of eth/udp system, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 86/148: Removed the channel ring from the eth transport. Made the eth transport a data handler to pass directly to the eth buffer, and to strip ethernet headers/transport information., git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 58/148: Merge branch 'vita_rx' of http://gnuradio.org/git/matt into wip/usrp2, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 56/148: ignore save files, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 73/148: Merge branch 'vita_rx' of http://gnuradio.org/git/matt into wip/usrp2, git, 2016/08/14
- [Commit-gnuradio] [gnuradio] 61/148: Merge branch 'vita_rx' of gnuradio.org:matt into vita_rx, git, 2016/08/14