aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2016-02-01 15:51:44 +0100
committerMax <msuraev@sysmocom.de>2016-02-01 15:51:44 +0100
commit9ec544229953132789f125e4f1111d98f82cf2a5 (patch)
treefee88ec44a85736a8525532d9aa51d89bdf82985
parent4d25f2737bf773205908282f92af93eccdfc75b8 (diff)
Change internal API for consistencymax/mutrx
Use uint8_t for TRX numbering everywhere (we don't expect hardware with more than 256 transceivers in the near future). This change helps to avoid unnecessary casts and make API much clearer.
-rw-r--r--src/osmo-bts-sysmo/sysmo_l1_if.c8
-rw-r--r--src/osmo-bts-sysmo/sysmo_l1_if.h2
-rw-r--r--src/pcu_l1_if.cpp9
3 files changed, 9 insertions, 10 deletions
diff --git a/src/osmo-bts-sysmo/sysmo_l1_if.c b/src/osmo-bts-sysmo/sysmo_l1_if.c
index 8572786..8ecbcfb 100644
--- a/src/osmo-bts-sysmo/sysmo_l1_if.c
+++ b/src/osmo-bts-sysmo/sysmo_l1_if.c
@@ -155,7 +155,7 @@ static int handle_ph_readytosend_ind(struct femtol1_hdl *fl1h,
switch (rts_ind->sapi) {
case GsmL1_Sapi_Pdtch:
case GsmL1_Sapi_Pacch:
- rc = pcu_rx_rts_req_pdtch((long)fl1h->priv, rts_ind->u8Tn,
+ rc = pcu_rx_rts_req_pdtch(fl1h->trx, rts_ind->u8Tn,
rts_ind->u16Arfcn, rts_ind->u32Fn, rts_ind->u8BlockNbr);
case GsmL1_Sapi_Ptcch:
// FIXME
@@ -215,7 +215,7 @@ static int handle_ph_data_ind(struct femtol1_hdl *fl1h,
!= GsmL1_PdtchPlType_Full)
break;
/* PDTCH / PACCH frame handling */
- pcu_rx_data_ind_pdtch((long)fl1h->priv, data_ind->u8Tn,
+ pcu_rx_data_ind_pdtch(fl1h->trx, data_ind->u8Tn,
data_ind->msgUnitParam.u8Buffer + 1,
data_ind->msgUnitParam.u8Size - 1,
data_ind->u32Fn,
@@ -357,7 +357,7 @@ int l1if_pdch_req(void *obj, uint8_t ts, int is_ptcch, uint32_t fn,
return 0;
}
-void *l1if_open_pdch(void *priv, uint32_t hlayer1)
+void *l1if_open_pdch(uint8_t trx, uint32_t hlayer1)
{
struct femtol1_hdl *fl1h;
int rc;
@@ -367,7 +367,7 @@ void *l1if_open_pdch(void *priv, uint32_t hlayer1)
return NULL;
fl1h->hLayer1 = hlayer1;
- fl1h->priv = priv;
+ fl1h->trx = trx;
fl1h->clk_cal = 0;
/* default clock source: OCXO */
fl1h->clk_src = SuperFemto_ClkSrcId_Ocxo;
diff --git a/src/osmo-bts-sysmo/sysmo_l1_if.h b/src/osmo-bts-sysmo/sysmo_l1_if.h
index 6b50d4e..83ca481 100644
--- a/src/osmo-bts-sysmo/sysmo_l1_if.h
+++ b/src/osmo-bts-sysmo/sysmo_l1_if.h
@@ -38,7 +38,7 @@ struct femtol1_hdl {
struct gsmtap_inst *gsmtap;
uint32_t gsmtap_sapi_mask;
- void *priv; /* user reference */
+ uint8_t trx;
struct osmo_timer_list alive_timer;
unsigned int alive_prim_cnt;
diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp
index 06cf234..b938acf 100644
--- a/src/pcu_l1_if.cpp
+++ b/src/pcu_l1_if.cpp
@@ -42,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);
+void *l1if_open_pdch(uint8_t trx, 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);
@@ -315,9 +315,8 @@ static int pcu_rx_info_ind(struct gsm_pcu_if_info_ind *info_ind)
struct gprs_bssgp_pcu *pcu;
struct gprs_rlcmac_pdch *pdch;
struct in_addr ia;
- int rc = 0;
- int trx, ts;
- int i;
+ int rc = 0, ts, i;
+ uint8_t trx;
if (info_ind->version != PCU_IF_VERSION) {
fprintf(stderr, "PCU interface version number of BTS (%d) is "
@@ -435,7 +434,7 @@ bssgp_failed:
info_ind->trx[trx].hlayer1);
if (!bts->trx[trx].fl1h)
bts->trx[trx].fl1h = l1if_open_pdch(
- (void *)trx,
+ trx,
info_ind->trx[trx].hlayer1);
if (!bts->trx[trx].fl1h) {
LOGP(DL1IF, LOGL_FATAL, "Failed to open direct "