diff options
author | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2013-10-26 16:42:38 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2013-10-30 21:24:10 +0100 |
commit | 9ae367f639b3f4cf77d9ddef3bbbef710b7f29fe (patch) | |
tree | dd3c34459045843afde63f37c356a191d1d2414c /src | |
parent | b65e08a7be6cb7e94248dbf7c8d46e9f30511c9d (diff) |
pdch: Instead of passing bts, trx, ts use the pdch
All dispatching will go through the PDCH. This will clean a lot
of the look-ups inside the gprs_rlcmac_data.c and continue with
adding structure to the pcu code.
Diffstat (limited to 'src')
-rw-r--r-- | src/bts.cpp | 6 | ||||
-rw-r--r-- | src/bts.h | 3 | ||||
-rw-r--r-- | src/pcu_l1_if.cpp | 8 |
3 files changed, 14 insertions, 3 deletions
diff --git a/src/bts.cpp b/src/bts.cpp index b2ec50fc..83c50297 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -339,3 +339,9 @@ void gprs_rlcmac_pdch::add_paging(struct gprs_rlcmac_paging *pag) { llist_add(&pag->list, &paging_list); } + +int gprs_rlcmac_pdch::rcv_block(uint8_t *data, uint8_t len, uint32_t fn, int8_t rssi) +{ + return gprs_rlcmac_rcv_block(trx->bts->bts_data(), + trx->trx_no, ts_no, data, len, fn, rssi); +} @@ -53,6 +53,9 @@ struct gprs_rlcmac_pdch { void enable(); void disable(); + + /* dispatching of messages */ + int rcv_block(uint8_t *data, uint8_t len, uint32_t fn, int8_t rssi); #endif uint8_t m_is_enabled; /* TS is enabled */ diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 53303d9a..1dac5dd3 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -180,11 +180,13 @@ void pcu_l1if_tx_pch(bitvec * block, int plen, const char *imsi) pcu_tx_data_req(0, 0, PCU_IF_SAPI_PCH, 0, 0, 0, data, 23+3); } -extern "C" int pcu_rx_data_ind_pdtch(uint8_t trx, uint8_t ts, uint8_t *data, +extern "C" int pcu_rx_data_ind_pdtch(uint8_t trx_no, uint8_t ts_no, uint8_t *data, uint8_t len, uint32_t fn, int8_t rssi) { - return gprs_rlcmac_rcv_block(bts_main_data(), - trx, ts, data, len, fn, rssi); + struct gprs_rlcmac_pdch *pdch; + + pdch = &bts_main_data()->trx[trx_no].pdch[ts_no]; + return pdch->rcv_block(data, len, fn, rssi); } static int pcu_rx_data_ind(struct gsm_pcu_if_data *data_ind) |