pcu_l1_if_phy: add new PHY API function to disconnect PDCH

There is a function l1if_connect_pdch, but no complementary function
like we have it with l1if_open_pdch and l1if_close_pdch. The reason for
this is that the PHY implementations that rely on a femtocell DSP do not
need to disconnect the pdch explcitly. However, the planned support for
the E1 based Ercisson RBS CCU will require an explicit disconnect. So
lets add a function call for this.

Change-Id: Ied88f3289bda87c48f5f9255c4591470633cc805
Related: OS#5198
This commit is contained in:
Philipp Maier 2023-02-27 15:32:00 +01:00
parent af8d49a99d
commit 72ed33303a
16 changed files with 33 additions and 0 deletions

View File

@ -145,6 +145,11 @@ int l1if_connect_pdch(void *obj, uint8_t ts)
return l1if_req_pdch(fl1h, msg);
}
int l1if_disconnect_pdch(void *obj, uint8_t ts)
{
return 0;
}
static int handle_ph_readytosend_ind(struct lc15l1_hdl *fl1h,
GsmL1_PhReadyToSendInd_t *rts_ind)
{

View File

@ -146,6 +146,11 @@ int l1if_connect_pdch(void *obj, uint8_t ts)
return l1if_req_pdch(fl1h, msg);
}
int l1if_disconnect_pdch(void *obj, uint8_t ts)
{
return 0;
}
static int handle_ph_readytosend_ind(struct oc2gl1_hdl *fl1h,
GsmL1_PhReadyToSendInd_t *rts_ind)
{

View File

@ -128,6 +128,11 @@ int l1if_connect_pdch(void *obj, uint8_t ts)
return l1if_req_pdch(fl1h, msg);
}
int l1if_disconnect_pdch(void *obj, uint8_t ts)
{
return 0;
}
static int handle_ph_readytosend_ind(struct femtol1_hdl *fl1h,
GsmL1_PhReadyToSendInd_t *rts_ind)
{

View File

@ -918,6 +918,10 @@ bssgp_failed:
trx_nr, ts_nr, pdch->tsc, pdch->fh.enabled ? "yes" : "no");
} else {
if (pdch->is_enabled()) {
#ifdef ENABLE_DIRECT_PHY
if ((info_ind->flags & PCU_IF_FLAG_SYSMO))
l1if_disconnect_pdch(bts->trx[trx_nr].fl1h, ts_nr);
#endif
pcu_tx_act_req(bts, pdch, 0);
pdch->disable();
}

View File

@ -7,4 +7,5 @@ void *l1if_open_pdch(uint8_t trx_no, uint32_t hlayer1, struct gsmtap_inst *gsmta
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);
int l1if_disconnect_pdch(void *obj, uint8_t ts);
int l1if_close_pdch(void *obj);

View File

@ -861,6 +861,7 @@ int main(int argc, char **argv)
extern "C" {
void l1if_pdch_req() { abort(); }
void l1if_connect_pdch() { abort(); }
void l1if_disconnect_pdch() { abort(); }
void l1if_close_pdch() { abort(); }
void l1if_open_pdch() { abort(); }
}

View File

@ -175,6 +175,7 @@ int main(int argc, char **argv)
extern "C" {
void l1if_pdch_req() { abort(); }
void l1if_connect_pdch() { abort(); }
void l1if_disconnect_pdch() { abort(); }
void l1if_close_pdch() { abort(); }
void l1if_open_pdch() { abort(); }
}

View File

@ -198,6 +198,7 @@ int main(int argc, char *argv[])
extern "C" {
void l1if_pdch_req() { abort(); }
void l1if_connect_pdch() { abort(); }
void l1if_disconnect_pdch() { abort(); }
void l1if_close_pdch() { abort(); }
void l1if_open_pdch() { abort(); }
}

View File

@ -1427,6 +1427,7 @@ int main(int argc, char **argv)
extern "C" {
void l1if_pdch_req() { abort(); }
void l1if_connect_pdch() { abort(); }
void l1if_disconnect_pdch() { abort(); }
void l1if_close_pdch() { abort(); }
void l1if_open_pdch() { abort(); }
}

View File

@ -170,6 +170,7 @@ void gprs_test_success(struct gprs_bssgp_pcu *pcu)
extern "C" {
void l1if_pdch_req() { abort(); }
void l1if_connect_pdch() { abort(); }
void l1if_disconnect_pdch() { abort(); }
void l1if_close_pdch() { abort(); }
void l1if_open_pdch() { abort(); }
}

View File

@ -171,6 +171,8 @@ extern "C" {
abort();
} void l1if_connect_pdch() {
abort();
} void l1if_disconnect_pdch() {
abort();
}
void l1if_close_pdch() {
abort();

View File

@ -381,6 +381,7 @@ int main(int argc, char **argv)
extern "C" {
void l1if_pdch_req() { abort(); }
void l1if_connect_pdch() { abort(); }
void l1if_disconnect_pdch() { abort(); }
void l1if_close_pdch() { abort(); }
void l1if_open_pdch() { abort(); }
}

View File

@ -661,6 +661,7 @@ int main(int argc, char **argv)
extern "C" {
void l1if_pdch_req() { abort(); }
void l1if_connect_pdch() { abort(); }
void l1if_disconnect_pdch() { abort(); }
void l1if_close_pdch() { abort(); }
void l1if_open_pdch() { abort(); }
}

View File

@ -3517,6 +3517,7 @@ int main(int argc, char **argv)
extern "C" {
void l1if_pdch_req() { abort(); }
void l1if_connect_pdch() { abort(); }
void l1if_disconnect_pdch() { abort(); }
void l1if_close_pdch() { abort(); }
void l1if_open_pdch() { abort(); }
}

View File

@ -975,6 +975,7 @@ int main(int argc, char **argv)
extern "C" {
void l1if_pdch_req() { abort(); }
void l1if_connect_pdch() { abort(); }
void l1if_disconnect_pdch() { abort(); }
void l1if_close_pdch() { abort(); }
void l1if_open_pdch() { abort(); }
}

View File

@ -338,6 +338,8 @@ extern "C" {
abort();
} void l1if_connect_pdch() {
abort();
} void l1if_disconnect_pdch() {
abort();
}
void l1if_close_pdch() {
abort();