From b2c19fc5d35f25a63b2ee523761c3d9714b146e9 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 30 Jul 2017 15:43:15 +0200 Subject: VIRT-PHY: Add support for GPRS / TBF mode we add a new STATE_TBF to vthe MS model and add some L1CTL primitives to configure that TBF mode as well as to enqueue transmissions for blocks at a given USF+TS. Change-Id: Ie6f37090bd45f463aa25d9e00bc06f563be5264a --- include/l1ctl_proto.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'include/l1ctl_proto.h') diff --git a/include/l1ctl_proto.h b/include/l1ctl_proto.h index 771bf1c3..37d3d879 100644 --- a/include/l1ctl_proto.h +++ b/include/l1ctl_proto.h @@ -56,6 +56,13 @@ enum { L1CTL_TRAFFIC_REQ, L1CTL_TRAFFIC_CONF, L1CTL_TRAFFIC_IND, + + /* configure TBF for uplink/downlink */ + L1CTL_TBF_CFG_REQ, + L1CTL_TBF_CFG_CONF, + + L1CTL_DATA_TBF_REQ, + L1CTL_DATA_TBF_CONF, }; enum ccch_mode { @@ -70,6 +77,23 @@ enum neigh_mode { NEIGH_MODE_SB, }; +enum l1ctl_coding_scheme { + L1CTL_CS_NONE, + L1CTL_CS1, + L1CTL_CS2, + L1CTL_CS3, + L1CTL_CS4, + L1CTL_MCS1, + L1CTL_MCS2, + L1CTL_MCS3, + L1CTL_MCS4, + L1CTL_MCS5, + L1CTL_MCS6, + L1CTL_MCS7, + L1CTL_MCS8, + L1CTL_MCS9, +}; + #define TRAFFIC_DATA_LEN 40 /* @@ -152,6 +176,15 @@ struct l1ctl_info_ul { uint8_t payload[0]; } __attribute__((packed)); +struct l1ctl_info_ul_tbf { + /* references l1ctl_tbf_cfg_req.tbf_nr */ + uint8_t tbf_nr; + uint8_t coding_scheme; + uint8_t padding[2]; + /* RLC/MAC block, size determines CS */ + uint8_t payload[0]; +} __attribute__((packed)); + /* * msg for FBSB_REQ * the l1_info_ul header is in front @@ -300,4 +333,15 @@ struct l1ctl_traffic_req { uint8_t data[TRAFFIC_DATA_LEN]; } __attribute__((packed)); +struct l1ctl_tbf_cfg_req { + /* future support for multiple concurrent TBFs. 0 for now */ + uint8_t tbf_nr; + /* is this about an UL TBF (1) or DL (0) */ + uint8_t is_uplink; + uint8_t padding[2]; + + /* one USF for each TN, or 255 for invalid/unused */ + uint8_t usf[8]; +} __attribute__((packed)); + #endif /* __L1CTL_PROTO_H__ */ -- cgit v1.2.3