diff options
Diffstat (limited to 'src/host/virt_phy/include/osmocom/bb')
5 files changed, 9 insertions, 10 deletions
diff --git a/src/host/virt_phy/include/osmocom/bb/Makefile.am b/src/host/virt_phy/include/osmocom/bb/Makefile.am index c52fb937..9a4b939a 100644 --- a/src/host/virt_phy/include/osmocom/bb/Makefile.am +++ b/src/host/virt_phy/include/osmocom/bb/Makefile.am @@ -4,4 +4,5 @@ SUBDIRS = \ noinst_HEADERS = \ l1ctl_proto.h \ + l1gprs.h \ $(NULL) diff --git a/src/host/virt_phy/include/osmocom/bb/l1gprs.h b/src/host/virt_phy/include/osmocom/bb/l1gprs.h new file mode 120000 index 00000000..3bf85176 --- /dev/null +++ b/src/host/virt_phy/include/osmocom/bb/l1gprs.h @@ -0,0 +1 @@ +../../../../../../include/l1gprs.h
\ No newline at end of file diff --git a/src/host/virt_phy/include/osmocom/bb/virtphy/l1ctl_sap.h b/src/host/virt_phy/include/osmocom/bb/virtphy/l1ctl_sap.h index 724d238b..e756c140 100644 --- a/src/host/virt_phy/include/osmocom/bb/virtphy/l1ctl_sap.h +++ b/src/host/virt_phy/include/osmocom/bb/virtphy/l1ctl_sap.h @@ -57,6 +57,8 @@ void l1ctl_rx_tch_mode_req(struct l1_model_ms *ms, struct msgb *msg); void l1ctl_rx_neigh_pm_req(struct l1_model_ms *ms, struct msgb *msg); void l1ctl_rx_traffic_req(struct l1_model_ms *ms, struct msgb *msg); void l1ctl_rx_sim_req(struct l1_model_ms *ms, struct msgb *msg); +void l1ctl_rx_gprs_uldl_tbf_cfg_req(struct l1_model_ms *ms, struct msgb *msg); +void l1ctl_rx_gprs_ul_block_req(struct l1_model_ms *ms, struct msgb *msg); /* transmit routines */ void l1ctl_tx_reset(struct l1_model_ms *ms, uint8_t msg_type, uint8_t reset_type); @@ -75,6 +77,8 @@ void l1ctl_tx_pm_conf(struct l1_model_ms *ms, struct l1ctl_pm_req *pm_req); void l1ctl_tx_fbsb_conf(struct l1_model_ms *ms, uint8_t res, uint16_t arfcn); void l1ctl_tx_ccch_mode_conf(struct l1_model_ms *ms, uint8_t ccch_mode); void l1ctl_tx_tch_mode_conf(struct l1_model_ms *ms, uint8_t tch_mode, uint8_t audio_mode); +void l1ctl_tx_gprs_dl_block_ind(struct l1_model_ms *ms, const struct msgb *msg, + uint32_t fn, uint8_t tn, uint8_t rxlev); /* scheduler functions */ uint32_t sched_fn_ul(struct gsm_time cur_time, uint8_t chan_nr, diff --git a/src/host/virt_phy/include/osmocom/bb/virtphy/logging.h b/src/host/virt_phy/include/osmocom/bb/virtphy/logging.h index b22db992..48f7ed55 100644 --- a/src/host/virt_phy/include/osmocom/bb/virtphy/logging.h +++ b/src/host/virt_phy/include/osmocom/bb/virtphy/logging.h @@ -7,6 +7,7 @@ enum virtphy_log_cat { DL1C, DL1P, DVIRPHY, + DGPRS, DMAIN }; diff --git a/src/host/virt_phy/include/osmocom/bb/virtphy/virt_l1_model.h b/src/host/virt_phy/include/osmocom/bb/virtphy/virt_l1_model.h index b729c443..94581f61 100644 --- a/src/host/virt_phy/include/osmocom/bb/virtphy/virt_l1_model.h +++ b/src/host/virt_phy/include/osmocom/bb/virtphy/virt_l1_model.h @@ -16,7 +16,6 @@ enum ms_state { MS_STATE_IDLE_SYNCING, MS_STATE_IDLE_CAMPING, MS_STATE_DEDICATED, - MS_STATE_TBF }; @@ -77,15 +76,6 @@ struct l1_state_ms { uint8_t tsc; // training sequence code (unused in virtual um) uint8_t h; // hopping enabled flag (unused in virtual um) } dedicated; - struct { - struct { - uint8_t usf[8]; - struct llist_head tx_queue; - } ul; - struct { - uint8_t tfi[8]; - } dl; - } tbf; /* fbsb state */ struct { @@ -116,6 +106,8 @@ struct l1_model_ms { struct l1ctl_sock_client *lsc; /* pointer to the (shared) GSMTAP/VirtUM socket to talk to BTS(s) */ struct virt_um_inst *vui; + /* GPRS state (MAC layer) */ + struct l1gprs_state *gprs; /* actual per-MS state */ struct l1_state_ms state; }; |