summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/layer1
diff options
context:
space:
mode:
authorSylvain Munaut2010-09-14 21:12:18 +0200
committerSylvain Munaut2010-09-17 20:52:40 +0200
commit68c40addf7f8382655f8a32af44e628527049cc0 (patch)
tree3b06618804ec3bebe3a41cabd327b91c40701e1a /src/target/firmware/layer1
parentfw/layer1: Add some sched items flags to signal DSP & TPU scenarios (diff)
downloadosmocom-68c40addf7f8382655f8a32af44e628527049cc0.tar.gz
osmocom-68c40addf7f8382655f8a32af44e628527049cc0.tar.xz
osmocom-68c40addf7f8382655f8a32af44e628527049cc0.zip
fw/layer1: Convert primitives to use common DSP/TPU scenario ending
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Diffstat (limited to 'src/target/firmware/layer1')
-rw-r--r--src/target/firmware/layer1/prim_fbsb.c10
-rw-r--r--src/target/firmware/layer1/prim_pm.c4
-rw-r--r--src/target/firmware/layer1/prim_rach.c8
-rw-r--r--src/target/firmware/layer1/prim_rx_nb.c10
-rw-r--r--src/target/firmware/layer1/prim_tx_nb.c10
5 files changed, 15 insertions, 27 deletions
diff --git a/src/target/firmware/layer1/prim_fbsb.c b/src/target/firmware/layer1/prim_fbsb.c
index 3b9da22..c8c9a86 100644
--- a/src/target/firmware/layer1/prim_fbsb.c
+++ b/src/target/firmware/layer1/prim_fbsb.c
@@ -277,19 +277,17 @@ static int l1s_sbdet_cmd(__unused uint8_t p1, __unused uint8_t p2,
dsp_api.db_w->d_task_md = SB_DSP_TASK;
dsp_api.ndb->d_fb_mode = 0; /* wideband search */
- dsp_end_scenario();
/* Program TPU */
l1s_rx_win_ctrl(rf_arfcn, L1_RXWIN_SB, 0);
- tpu_end_scenario();
return 0;
}
/* This is how it is done by the TSM30 */
static const struct tdma_sched_item sb_sched_set[] = {
- SCHED_ITEM(l1s_sbdet_cmd, 0, 0, 1), SCHED_END_FRAME(),
- SCHED_ITEM(l1s_sbdet_cmd, 0, 0, 2), SCHED_END_FRAME(),
+ SCHED_ITEM_DT(l1s_sbdet_cmd, 0, 0, 1), SCHED_END_FRAME(),
+ SCHED_ITEM_DT(l1s_sbdet_cmd, 0, 0, 2), SCHED_END_FRAME(),
SCHED_END_FRAME(),
SCHED_ITEM(l1s_sbdet_resp, -4, 0, 1), SCHED_END_FRAME(),
SCHED_ITEM(l1s_sbdet_resp, -4, 0, 2), SCHED_END_FRAME(),
@@ -379,11 +377,9 @@ static int l1s_fbdet_cmd(__unused uint8_t p1, __unused uint8_t p2,
/* Program DSP */
dsp_api.db_w->d_task_md = FB_DSP_TASK; /* maybe with I/Q swap? */
dsp_api.ndb->d_fb_mode = fb_mode;
- dsp_end_scenario();
/* Program TPU */
l1s_rx_win_ctrl(fbs.req.band_arfcn, L1_RXWIN_FB, 0);
- tpu_end_scenario();
return 0;
}
@@ -505,7 +501,7 @@ static int l1s_fbdet_resp(__unused uint8_t p1, uint8_t attempt,
/* FB detection */
static const struct tdma_sched_item fb_sched_set[] = {
- SCHED_ITEM(l1s_fbdet_cmd, 0, 0, 0), SCHED_END_FRAME(),
+ SCHED_ITEM_DT(l1s_fbdet_cmd, 0, 0, 0), SCHED_END_FRAME(),
SCHED_END_FRAME(),
SCHED_ITEM(l1s_fbdet_resp, -4, 0, 1), SCHED_END_FRAME(),
SCHED_ITEM(l1s_fbdet_resp, -4, 0, 2), SCHED_END_FRAME(),
diff --git a/src/target/firmware/layer1/prim_pm.c b/src/target/firmware/layer1/prim_pm.c
index f36beed..78a7eb6 100644
--- a/src/target/firmware/layer1/prim_pm.c
+++ b/src/target/firmware/layer1/prim_pm.c
@@ -65,7 +65,6 @@ static int l1s_pm_cmd(uint8_t num_meas,
dsp_api.db_w->d_task_md = num_meas; /* number of measurements */
dsp_api.ndb->d_fb_mode = 0; /* wideband search */
- dsp_end_scenario();
/* Tell the RF frontend to set the gain appropriately */
rffe_set_gain(-85, CAL_DSP_TGT_BB_LVL);
@@ -75,7 +74,6 @@ static int l1s_pm_cmd(uint8_t num_meas,
* num_meas > 1 */
l1s_rx_win_ctrl(arfcn, L1_RXWIN_PW, 0);
//l1s_rx_win_ctrl(arfcn, L1_RXWIN_NB);
- tpu_end_scenario();
return 0;
}
@@ -135,7 +133,7 @@ static int l1s_pm_resp(uint8_t num_meas, __unused uint8_t p2,
}
static const struct tdma_sched_item pm_sched_set[] = {
- SCHED_ITEM(l1s_pm_cmd, 0, 1, 0), SCHED_END_FRAME(),
+ SCHED_ITEM_DT(l1s_pm_cmd, 0, 1, 0), SCHED_END_FRAME(),
SCHED_END_FRAME(),
SCHED_ITEM(l1s_pm_resp, -4, 1, 0), SCHED_END_FRAME(),
SCHED_END_SET()
diff --git a/src/target/firmware/layer1/prim_rach.c b/src/target/firmware/layer1/prim_rach.c
index 11c9a7e..5867293 100644
--- a/src/target/firmware/layer1/prim_rach.c
+++ b/src/target/firmware/layer1/prim_rach.c
@@ -72,10 +72,8 @@ static int l1s_tx_rach_cmd(__unused uint8_t p1, __unused uint8_t p2, __unused ui
info_ptr[0] = ((uint16_t)(data[0])) | ((uint16_t)(data[1])<<8);
dsp_api.db_w->d_task_ra = RACH_DSP_TASK;
- dsp_end_scenario();
l1s_tx_win_ctrl(l1s.serving_cell.arfcn, L1_TXWIN_AB, 0, 0);
- tpu_end_scenario();
return 0;
}
@@ -99,9 +97,9 @@ static int l1s_tx_rach_resp(__unused uint8_t p1, __unused uint8_t burst_id,
/* sched sets for uplink */
const struct tdma_sched_item rach_sched_set_ul[] = {
- SCHED_ITEM(l1s_tx_rach_cmd, 3, 1, 0), SCHED_END_FRAME(),
- SCHED_END_FRAME(),
- SCHED_ITEM(l1s_tx_rach_resp, -4, 1, 0), SCHED_END_FRAME(),
+ SCHED_ITEM_DT(l1s_tx_rach_cmd, 3, 1, 0), SCHED_END_FRAME(),
+ SCHED_END_FRAME(),
+ SCHED_ITEM(l1s_tx_rach_resp, -4, 1, 0), SCHED_END_FRAME(),
SCHED_END_SET()
};
diff --git a/src/target/firmware/layer1/prim_rx_nb.c b/src/target/firmware/layer1/prim_rx_nb.c
index f05459c..6c76545 100644
--- a/src/target/firmware/layer1/prim_rx_nb.c
+++ b/src/target/firmware/layer1/prim_rx_nb.c
@@ -186,19 +186,17 @@ static int l1s_nb_cmd(__unused uint8_t p1, uint8_t burst_id,
rfch_get_params(&l1s.next_time, &arfcn, &tsc, &tn);
dsp_load_rx_task(ALLC_DSP_TASK, burst_id, tsc);
- dsp_end_scenario();
l1s_rx_win_ctrl(arfcn, L1_RXWIN_NB, tn);
- tpu_end_scenario();
return 0;
}
const struct tdma_sched_item nb_sched_set[] = {
- SCHED_ITEM(l1s_nb_cmd, 0, 0, 0), SCHED_END_FRAME(),
- SCHED_ITEM(l1s_nb_cmd, 0, 0, 1), SCHED_END_FRAME(),
- SCHED_ITEM(l1s_nb_resp, -4, 0, 0), SCHED_ITEM(l1s_nb_cmd, 0, 0, 2), SCHED_END_FRAME(),
- SCHED_ITEM(l1s_nb_resp, -4, 0, 1), SCHED_ITEM(l1s_nb_cmd, 0, 0, 3), SCHED_END_FRAME(),
+ SCHED_ITEM_DT(l1s_nb_cmd, 0, 0, 0), SCHED_END_FRAME(),
+ SCHED_ITEM_DT(l1s_nb_cmd, 0, 0, 1), SCHED_END_FRAME(),
+ SCHED_ITEM(l1s_nb_resp, -4, 0, 0), SCHED_ITEM_DT(l1s_nb_cmd, 0, 0, 2), SCHED_END_FRAME(),
+ SCHED_ITEM(l1s_nb_resp, -4, 0, 1), SCHED_ITEM_DT(l1s_nb_cmd, 0, 0, 3), SCHED_END_FRAME(),
SCHED_ITEM(l1s_nb_resp, -4, 0, 2), SCHED_END_FRAME(),
SCHED_ITEM(l1s_nb_resp, -4, 0, 3), SCHED_END_FRAME(),
SCHED_END_SET()
diff --git a/src/target/firmware/layer1/prim_tx_nb.c b/src/target/firmware/layer1/prim_tx_nb.c
index 8da0d40..a1459ce 100644
--- a/src/target/firmware/layer1/prim_tx_nb.c
+++ b/src/target/firmware/layer1/prim_tx_nb.c
@@ -156,10 +156,8 @@ static int l1s_tx_cmd(uint8_t p1, uint8_t burst_id, uint16_t p3)
rfch_get_params(&l1s.next_time, &arfcn, &tsc, &tn);
dsp_load_tx_task(DUL_DSP_TASK, burst_id, tsc);
- dsp_end_scenario();
l1s_tx_win_ctrl(arfcn, L1_TXWIN_NB, 0, tn);
- tpu_end_scenario();
return 0;
}
@@ -194,10 +192,10 @@ void l1s_tx_test(uint8_t base_fn, uint8_t type)
/* sched sets for uplink */
const struct tdma_sched_item nb_sched_set_ul[] = {
- SCHED_ITEM(l1s_tx_cmd, 3, 2, 0), SCHED_END_FRAME(),
- SCHED_ITEM(l1s_tx_cmd, 3, 2, 1), SCHED_END_FRAME(),
- SCHED_ITEM(l1s_tx_resp, -4, 2, 0), SCHED_ITEM(l1s_tx_cmd, 3, 2, 2), SCHED_END_FRAME(),
- SCHED_ITEM(l1s_tx_resp, -4, 2, 1), SCHED_ITEM(l1s_tx_cmd, 3, 2, 3), SCHED_END_FRAME(),
+ SCHED_ITEM_DT(l1s_tx_cmd, 3, 2, 0), SCHED_END_FRAME(),
+ SCHED_ITEM_DT(l1s_tx_cmd, 3, 2, 1), SCHED_END_FRAME(),
+ SCHED_ITEM(l1s_tx_resp, -4, 2, 0), SCHED_ITEM_DT(l1s_tx_cmd, 3, 2, 2), SCHED_END_FRAME(),
+ SCHED_ITEM(l1s_tx_resp, -4, 2, 1), SCHED_ITEM_DT(l1s_tx_cmd, 3, 2, 3), SCHED_END_FRAME(),
SCHED_ITEM(l1s_tx_resp, -4, 2, 2), SCHED_END_FRAME(),
SCHED_ITEM(l1s_tx_resp, -4, 2, 3), SCHED_END_FRAME(),
SCHED_END_SET()