1 /*******************************************************************************
2 ################################################################################
3 # Copyright (c) [2017-2019] [Radisys] #
5 # Licensed under the Apache License, Version 2.0 (the "License"); #
6 # you may not use this file except in compliance with the License. #
7 # You may obtain a copy of the License at #
9 # http://www.apache.org/licenses/LICENSE-2.0 #
11 # Unless required by applicable law or agreed to in writing, software #
12 # distributed under the License is distributed on an "AS IS" BASIS, #
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
14 # See the License for the specific language governing permissions and #
15 # limitations under the License. #
16 ################################################################################
17 *******************************************************************************/
19 /************************************************************************
25 Desc: C source code file for SPS related functions which are
30 **********************************************************************/
31 /* header include files -- defines (.h) */
32 #include "common_def.h"
38 #include "rg_sch_inf.h"
40 #include "rg_sch_err.h"
41 #include "rg_sch_cmn.h"
43 /* header/extern include files (.x) */
44 #include "tfu.x" /* TFU types */
45 #include "lrg.x" /* layer management typedefs for MAC */
46 #include "rgr.x" /* layer management typedefs for MAC */
47 #include "rgm.x" /* layer management typedefs for MAC */
48 #include "rg_sch_inf.x" /* typedefs for Scheduler */
49 #include "rg_sch.x" /* typedefs for Scheduler */
50 #include "rg_sch_cmn.x"
53 *@brief Initializes the SPS related global data structures
56 * Function : rgSCHCmnSpsInit
67 Void rgSCHCmnSpsInit ()
75 *@brief Initializes UE with SPS info
78 * Function : rgSCHCmnSpsUeCfg
93 S16 rgSCHCmnSpsUeCfg (cell, ue, ueCfg, err)
105 *@brief Re-Initializes UE with SPS info
108 * Function : rgSCHCmnSpsUeReCfg
115 S16 rgSCHCmnSpsUeRecfg
123 S16 rgSCHCmnSpsUeRecfg (cell, ue, ueCfg, err)
135 *@brief Clears the UE of SPS info
138 * Function : rgSCHCmnSpsUeDel
145 Void rgSCHCmnSpsUeDel
151 Void rgSCHCmnSpsUeDel (cell, ue)
161 *@brief Validates cell config for SPS
164 * Function : rgSCHCmnSpsCellCfg
171 S16 rgSCHCmnSpsCellCfg
178 S16 rgSCHCmnSpsCellCfg(cell, cellCfg, err)
189 *@brief Deletes cell config for SPS
192 * Function : rgSCHCmnSpsCellDel
199 Void rgSCHCmnSpsCellDel
204 Void rgSCHCmnSpsCellDel (cell)
213 *@brief Configures DL LC for SPS
216 * Function :rgSCHCmnSpsDlLcCfg
223 S16 rgSCHCmnSpsDlLcCfg
232 S16 rgSCHCmnSpsDlLcCfg(cell, ue, dlLc, lcCfg, err)
244 Void rgSchCmnDlSfHqDel
253 S16 rgSCHCmnSpsDlLcRecfg ARGS((
257 RgrLchRecfg *lcRecfg,
265 Void rgSCHCmnSpsUlLcgDel ARGS((
274 Void rgSCHCmnSpsDlLcDel ARGS((
283 S16 rgSCHCmnSpsUlTti ARGS((
285 RgSchCmnUlRbAllocInfo *allocInfo
292 Void rgSCHCmnSpsDlDedBoUpd ARGS((
302 Void rgSCHCmnSpsDlProcAddToRetx ARGS((
311 Void rgSCHCmnSpsDlCqiIndHndlr ARGS((
314 CmLteTimingInfo timingInfo
321 S16 rgSCHCmnSpsUlCqiInd ARGS((
330 S16 rgSCHCmnSpsBsrRpt ARGS((
340 Void rgSCHCmnSpsPhrInd ARGS((
349 Void rgSCHCmnSpsDlRelPdcchFbk ARGS((
359 Void rgSCHCmnSpsDlProcAck ARGS((
368 Void rgSCHCmnSpsDlUeReset ARGS((
377 Void rgSCHCmnSpsUlUeReset ARGS((
386 Void rgSCHCmnSpsUlProcRelInd ARGS((
396 Void rgSCHCmnSpsUlProcActInd ARGS((
406 S16 rgSCHCmnSpsUlProcCrcInd ARGS((
409 CmLteTimingInfo crcTime
416 S16 rgSCHCmnSpsUlProcDtxInd ARGS((
419 CmLteTimingInfo dtxTime
426 Void rgSCHCmnSpsDlUpdDlSfAllocWithSps ARGS((
428 CmLteTimingInfo schdTime,
440 /**********************************************************************
443 **********************************************************************/