diff options
Diffstat (limited to 'src/osmo-bts-sysmo/sysmo_l1_if.c')
-rw-r--r-- | src/osmo-bts-sysmo/sysmo_l1_if.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/src/osmo-bts-sysmo/sysmo_l1_if.c b/src/osmo-bts-sysmo/sysmo_l1_if.c index 9b310cc5..751629c8 100644 --- a/src/osmo-bts-sysmo/sysmo_l1_if.c +++ b/src/osmo-bts-sysmo/sysmo_l1_if.c @@ -208,10 +208,6 @@ static int handle_ph_data_ind(struct femtol1_hdl *fl1h, data_ind->u32Fn, &meas); break; - case GsmL1_Sapi_Ptcch: - // FIXME - rc = -1; - break; default: LOGP(DL1IF, LOGL_NOTICE, "Rx PH-DATA.ind for unknown L1 SAPI %s\n", get_value_string(femtobts_l1sapi_names, data_ind->sapi)); @@ -240,8 +236,21 @@ static int handle_ph_ra_ind(struct femtol1_hdl *fl1h, GsmL1_PhRaInd_t *ra_ind) return 0; DEBUGP(DL1IF, "Rx PH-RA.ind"); - bts_update_tbf_ta("PH-RA", ra_ind->u32Fn, fl1h->trx_no, ra_ind->u8Tn, - qta2ta(ra_ind->measParam.i16BurstTiming), true); + + switch (ra_ind->sapi) { + case GsmL1_Sapi_Pdtch: + bts_update_tbf_ta("PH-RA", ra_ind->u32Fn, fl1h->trx_no, ra_ind->u8Tn, + qta2ta(ra_ind->measParam.i16BurstTiming), true); + break; + case GsmL1_Sapi_Ptcch: + pcu_rx_rach_ind_pdtch(fl1h->trx_no, ra_ind->u8Tn, ra_ind->u32Fn, + ra_ind->measParam.i16BurstTiming); + break; + default: + LOGP(DL1IF, LOGL_NOTICE, "Rx PH-RA.ind for unknown L1 SAPI %s\n", + get_value_string(femtobts_l1sapi_names, ra_ind->sapi)); + return -ENOTSUP; + } return 0; } |