fw/layer1: Convert primitives to use common DSP/TPU scenario ending

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
This commit is contained in:
Sylvain Munaut 2010-09-14 21:12:18 +02:00
parent e041d5b7d7
commit 68c40addf7
5 changed files with 15 additions and 27 deletions

View File

@ -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(),

View File

@ -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()

View File

@ -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()
};

View File

@ -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()

View File

@ -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()