summaryrefslogtreecommitdiffstats
path: root/src/host/virt_phy/include/osmocom/bb
diff options
context:
space:
mode:
Diffstat (limited to 'src/host/virt_phy/include/osmocom/bb')
-rw-r--r--src/host/virt_phy/include/osmocom/bb/Makefile.am1
l---------src/host/virt_phy/include/osmocom/bb/l1gprs.h1
-rw-r--r--src/host/virt_phy/include/osmocom/bb/virtphy/l1ctl_sap.h4
-rw-r--r--src/host/virt_phy/include/osmocom/bb/virtphy/logging.h1
-rw-r--r--src/host/virt_phy/include/osmocom/bb/virtphy/virt_l1_model.h12
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;
};