diff options
author | Philipp <pmaier@sysmocom.de> | 2016-10-05 13:52:00 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2016-10-06 09:48:02 +0000 |
commit | f5494e84e898f947190466d30d5f932bac0fadf9 (patch) | |
tree | 160c17dbdc99beb9fc2980330a91e8c5bf589d45 /src/osmo-bts-octphy/l1_oml.c | |
parent | 3f192f229170b3f0359b03e3fafbcf80a21c6001 (diff) |
octphy: reintroducing multi-trx support
The multi-trx had to be removed because of build conflicts
with octphy header that lack the struct members for needed
to support multi-trx.
For details see the following revert-commits:
ed6b48e4a5fba07c3ecccf689991799ae13a2aaa
c9a1f284acf518cb4e62c3898e20398ed53807c3
This commit reintroduces multi trx support and ads an ifdef
decision to ensure that header files without multi-trx
support still work.
Change-Id: I7f9b2906cc149c817183745b4c96bcc7f9ebdad0
Diffstat (limited to 'src/osmo-bts-octphy/l1_oml.c')
-rw-r--r-- | src/osmo-bts-octphy/l1_oml.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/osmo-bts-octphy/l1_oml.c b/src/osmo-bts-octphy/l1_oml.c index 77352612..1b74fd40 100644 --- a/src/osmo-bts-octphy/l1_oml.c +++ b/src/osmo-bts-octphy/l1_oml.c @@ -43,6 +43,7 @@ #include "l1_oml.h" #include "l1_utils.h" #include "octphy_hw_api.h" +#include "btsconfig.h" #include <octphy/octvc1/octvc1_rc2string.h> #include <octphy/octvc1/gsm/octvc1_gsm_api_swap.h> @@ -1345,17 +1346,34 @@ int l1if_trx_open(struct gsm_bts_trx *trx) oc->TrxId.byTrxId = pinst->u.octphy.trx_id; oc->Config.ulBand = osmocom_to_octphy_band(trx->bts->band, trx->arfcn); oc->Config.usArfcn = trx->arfcn; - oc->Config.usTsc = trx->bts->bsic & 0x7; + +#if OCTPHY_MULTI_TRX == 1 + if (pinst->u.octphy.trx_id) + oc->Config.usCentreArfcn = plink->u.octphy.center_arfcn; + else { + oc->Config.usCentreArfcn = trx->arfcn; + plink->u.octphy.center_arfcn = trx->arfcn; + } oc->Config.usBcchArfcn = trx->bts->c0->arfcn; +#endif + oc->Config.usTsc = trx->bts->bsic & 0x7; oc->RfConfig.ulRxGainDb = plink->u.octphy.rx_gain_db; /* FIXME: compute this based on nominal transmit power, etc. */ oc->RfConfig.ulTxAttndB = plink->u.octphy.tx_atten_db; +#if OCTPHY_MULTI_TRX == 1 + LOGP(DL1C, LOGL_INFO, "Tx TRX-OPEN.req(trx=%u, rf_port=%u, arfcn=%u, " + "center=%u, tsc=%u, rx_gain=%u, tx_atten=%u)\n", + oc->TrxId.byTrxId, oc->ulRfPortIndex, oc->Config.usArfcn, + oc->Config.usCentreArfcn, oc->Config.usTsc, oc->RfConfig.ulRxGainDb, + oc->RfConfig.ulTxAttndB); +#else LOGP(DL1C, LOGL_INFO, "Tx TRX-OPEN.req(trx=%u, rf_port=%u, arfcn=%u, " "tsc=%u, rx_gain=%u, tx_atten=%u)\n", oc->TrxId.byTrxId, oc->ulRfPortIndex, oc->Config.usArfcn, oc->Config.usTsc, oc->RfConfig.ulRxGainDb, oc->RfConfig.ulTxAttndB); +#endif mOCTVC1_GSM_MSG_TRX_OPEN_CMD_SWAP(oc); |