forked from cellular-infrastructure/osmo-pcu
Add data structure to handle Split block in EGPR DL
Modify the header files with necessary data structure to handle Split block for EGPRS DL TBF.
This commit is contained in:
parent
b3c85bac48
commit
b7cc6a4743
|
@ -183,6 +183,9 @@ struct gprs_rlcmac_bts {
|
|||
uint8_t force_two_phase;
|
||||
uint8_t alpha, gamma;
|
||||
uint8_t egprs_enabled;
|
||||
|
||||
/* Value 0 to support resegmentation enabled in DL, 1 for no reseg */
|
||||
uint8_t arq_type;
|
||||
uint32_t dl_tbf_idle_msec; /* hold time for idle DL TBFs */
|
||||
uint32_t ms_idle_sec;
|
||||
uint8_t cs_adj_enabled;
|
||||
|
|
|
@ -30,7 +30,6 @@
|
|||
* incremental redundancy
|
||||
*/
|
||||
|
||||
/* TODO: Need to support ARQ type 1 */
|
||||
enum GprsCodingScheme::Scheme GprsCodingScheme::egprs_mcs_retx_tbl[MAX_NUM_ARQ]
|
||||
[MAX_NUM_MCS][MAX_NUM_MCS] = {
|
||||
{
|
||||
|
|
|
@ -210,6 +210,12 @@ int main(int argc, char *argv[])
|
|||
bts->dl_tbf_idle_msec = 2000;
|
||||
bts->llc_idle_ack_csec = 10;
|
||||
|
||||
/*
|
||||
* By default resegmentation is supported in DL
|
||||
* TODO: VTY should be updated to make it configurable
|
||||
*/
|
||||
bts->arq_type = 0;
|
||||
|
||||
msgb_set_talloc_ctx(tall_pcu_ctx);
|
||||
|
||||
osmo_init_logging(&gprs_log_info);
|
||||
|
|
18
src/rlc.h
18
src/rlc.h
|
@ -64,6 +64,14 @@ enum egprs_rlc_ul_reseg_bsn_state {
|
|||
EGPRS_RESEG_INVALID
|
||||
};
|
||||
|
||||
/* EDGE resegment status information for DL */
|
||||
enum egprs_rlc_dl_reseg_bsn_state {
|
||||
EGPRS_RESEG_DL_DEFAULT = 0,
|
||||
EGPRS_RESEG_FIRST_SEG_SENT = 0x01,
|
||||
EGPRS_RESEG_SECOND_SEG_SENT = 0x02,
|
||||
EGPRS_RESEG_DL_STATE_INVALID
|
||||
};
|
||||
|
||||
/*
|
||||
* Valid puncturing scheme values
|
||||
* TS 44.060 10.4.8a.3.1, 10.4.8a.2.1, 10.4.8a.1.1
|
||||
|
@ -139,11 +147,21 @@ struct gprs_rlc_data {
|
|||
GprsCodingScheme cs_current_trans;
|
||||
GprsCodingScheme cs;
|
||||
|
||||
/*
|
||||
* The MCS of initial transmission
|
||||
* This variable is used for split block
|
||||
* processing in DL
|
||||
*/
|
||||
GprsCodingScheme cs_init;
|
||||
|
||||
/* puncturing scheme value to be used for next transmission*/
|
||||
enum egprs_puncturing_values next_ps;
|
||||
|
||||
/* holds the current status of the block w.r.t UL split blocks*/
|
||||
egprs_rlc_ul_reseg_bsn_state block_status_ul;
|
||||
|
||||
/* Holds the current status of the block w.r.t DL split blocks*/
|
||||
egprs_rlc_dl_reseg_bsn_state block_status_dl;
|
||||
};
|
||||
|
||||
void gprs_rlc_data_info_init_dl(struct gprs_rlc_data_info *rlc,
|
||||
|
|
Loading…
Reference in New Issue