aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcu_l1_if.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/pcu_l1_if.cpp')
-rw-r--r--src/pcu_l1_if.cpp43
1 files changed, 13 insertions, 30 deletions
diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp
index 19dda5c..9d7dbee 100644
--- a/src/pcu_l1_if.cpp
+++ b/src/pcu_l1_if.cpp
@@ -30,8 +30,6 @@ extern "C" {
#include <osmocom/core/talloc.h>
#include <osmocom/core/select.h>
#include <osmocom/core/msgb.h>
-#include <osmocom/core/gsmtap_util.h>
-#include <osmocom/core/gsmtap.h>
}
#include <gprs_rlcmac.h>
@@ -44,7 +42,7 @@ extern "C" {
// FIXME: move this, when changed from c++ to c.
extern "C" {
-void *l1if_open_pdch(void *priv, uint32_t hlayer1, struct gsmtap_inst *gsmtap);
+void *l1if_open_pdch(void *priv, uint32_t hlayer1);
int l1if_connect_pdch(void *obj, uint8_t ts);
int l1if_pdch_req(void *obj, uint8_t ts, int is_ptcch, uint32_t fn,
uint16_t arfcn, uint8_t block_nr, uint8_t *data, uint8_t len);
@@ -126,18 +124,15 @@ static int pcu_tx_data_req(uint8_t trx, uint8_t ts, uint8_t sapi,
void pcu_l1if_tx_pdtch(msgb *msg, uint8_t trx, uint8_t ts, uint16_t arfcn,
uint32_t fn, uint8_t block_nr)
{
+#ifdef ENABLE_SYSMODSP
struct gprs_rlcmac_bts *bts = bts_main_data();
-#ifdef ENABLE_SYSMODSP
- if (bts->trx[trx].fl1h) {
+ if (bts->trx[trx].fl1h)
l1if_pdch_req(bts->trx[trx].fl1h, ts, 0, fn, arfcn, block_nr,
msg->data, msg->len);
- msgb_free(msg);
- return;
- }
+ else
#endif
- gsmtap_send(bts->gsmtap, arfcn, ts, GSMTAP_CHANNEL_PACCH, 0, fn, 0, 0, msg->data, msg->len);
- pcu_tx_data_req(trx, ts, PCU_IF_SAPI_PDTCH, arfcn, fn, block_nr,
+ pcu_tx_data_req(trx, ts, PCU_IF_SAPI_PDTCH, arfcn, fn, block_nr,
msg->data, msg->len);
msgb_free(msg);
}
@@ -145,18 +140,15 @@ void pcu_l1if_tx_pdtch(msgb *msg, uint8_t trx, uint8_t ts, uint16_t arfcn,
void pcu_l1if_tx_ptcch(msgb *msg, uint8_t trx, uint8_t ts, uint16_t arfcn,
uint32_t fn, uint8_t block_nr)
{
+#ifdef ENABLE_SYSMODSP
struct gprs_rlcmac_bts *bts = bts_main_data();
-#ifdef ENABLE_SYSMODSP
- if (bts->trx[trx].fl1h) {
+ if (bts->trx[trx].fl1h)
l1if_pdch_req(bts->trx[trx].fl1h, ts, 1, fn, arfcn, block_nr,
msg->data, msg->len);
- msgb_free(msg);
- return;
- }
+ else
#endif
- gsmtap_send(bts->gsmtap, arfcn, ts, GSMTAP_CHANNEL_PACCH, 0, fn, 0, 0, msg->data, msg->len);
- pcu_tx_data_req(trx, ts, PCU_IF_SAPI_PTCCH, arfcn, fn, block_nr,
+ pcu_tx_data_req(trx, ts, PCU_IF_SAPI_PTCCH, arfcn, fn, block_nr,
msg->data, msg->len);
msgb_free(msg);
}
@@ -208,9 +200,9 @@ extern "C" int pcu_rx_data_ind_pdtch(uint8_t trx_no, uint8_t ts_no, uint8_t *dat
return pdch->rcv_block(data, len, fn, meas);
}
-static int pcu_rx_data_ind(struct gsm_pcu_if_data *data_ind, struct gsmtap_inst *gsmtap)
+static int pcu_rx_data_ind(struct gsm_pcu_if_data *data_ind)
{
- int rc;
+ int rc = 0;
pcu_l1_meas meas;
meas.set_rssi(data_ind->rssi);
@@ -219,13 +211,6 @@ static int pcu_rx_data_ind(struct gsm_pcu_if_data *data_ind, struct gsmtap_inst
data_ind->arfcn, data_ind->block_nr,
osmo_hexdump(data_ind->data, data_ind->len));
- rc = gsmtap_send(gsmtap, data_ind->arfcn | GSMTAP_ARFCN_F_UPLINK, data_ind->ts_nr,
- GSMTAP_CHANNEL_PACCH, 0, data_ind->fn, 0, 0, data_ind->data, data_ind->len);
- if (rc < 0)
- LOGP(DL1IF, LOGL_ERROR, "Sending RX data via GSMTAP failed: %d\n", rc);
-
- rc = 0;
-
switch (data_ind->sapi) {
case PCU_IF_SAPI_PDTCH:
rc = pcu_rx_data_ind_pdtch(data_ind->trx_nr, data_ind->ts_nr,
@@ -451,8 +436,7 @@ bssgp_failed:
if (!bts->trx[trx].fl1h)
bts->trx[trx].fl1h = l1if_open_pdch(
(void *)trx,
- info_ind->trx[trx].hlayer1,
- bts->gsmtap);
+ info_ind->trx[trx].hlayer1);
if (!bts->trx[trx].fl1h) {
LOGP(DL1IF, LOGL_FATAL, "Failed to open direct "
"DSP access for PDCH.\n");
@@ -523,11 +507,10 @@ static int pcu_rx_pag_req(struct gsm_pcu_if_pag_req *pag_req)
int pcu_rx(uint8_t msg_type, struct gsm_pcu_if *pcu_prim)
{
int rc = 0;
- struct gprs_rlcmac_bts *bts = bts_main_data();
switch (msg_type) {
case PCU_IF_MSG_DATA_IND:
- rc = pcu_rx_data_ind(&pcu_prim->u.data_ind, bts->gsmtap);
+ rc = pcu_rx_data_ind(&pcu_prim->u.data_ind);
break;
case PCU_IF_MSG_DATA_CNF:
rc = pcu_rx_data_cnf(&pcu_prim->u.data_cnf);