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:
parent
af8d49a99d
commit
72ed33303a
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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(); }
|
||||
}
|
||||
|
|
|
@ -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(); }
|
||||
}
|
||||
|
|
|
@ -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(); }
|
||||
}
|
||||
|
|
|
@ -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(); }
|
||||
}
|
||||
|
|
|
@ -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(); }
|
||||
}
|
||||
|
|
|
@ -171,6 +171,8 @@ extern "C" {
|
|||
abort();
|
||||
} void l1if_connect_pdch() {
|
||||
abort();
|
||||
} void l1if_disconnect_pdch() {
|
||||
abort();
|
||||
}
|
||||
void l1if_close_pdch() {
|
||||
abort();
|
||||
|
|
|
@ -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(); }
|
||||
}
|
||||
|
|
|
@ -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(); }
|
||||
}
|
||||
|
|
|
@ -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(); }
|
||||
}
|
||||
|
|
|
@ -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(); }
|
||||
}
|
||||
|
|
|
@ -338,6 +338,8 @@ extern "C" {
|
|||
abort();
|
||||
} void l1if_connect_pdch() {
|
||||
abort();
|
||||
} void l1if_disconnect_pdch() {
|
||||
abort();
|
||||
}
|
||||
void l1if_close_pdch() {
|
||||
abort();
|
||||
|
|
Loading…
Reference in New Issue