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
62 Void rgSCHCmnSpsInit()
69 *@brief Initializes UE with SPS info
72 * Function : rgSCHCmnSpsUeCfg
78 S16 rgSCHCmnSpsUeCfg(RgSchCellCb *cell,RgSchUeCb *ue,RgrUeCfg *ueCfg,RgSchErrInfo *err)
85 *@brief Re-Initializes UE with SPS info
88 * Function : rgSCHCmnSpsUeReCfg
94 S16 rgSCHCmnSpsUeRecfg(RgSchCellCb *cell,RgSchUeCb *ue,RgrUeRecfg *ueRecfg,RgSchErrInfo *err)
101 *@brief Clears the UE of SPS info
104 * Function : rgSCHCmnSpsUeDel
110 Void rgSCHCmnSpsUeDel(RgSchCellCb *cell,RgSchUeCb *ue)
117 *@brief Validates cell config for SPS
120 * Function : rgSCHCmnSpsCellCfg
126 S16 rgSCHCmnSpsCellCfg(RgSchCellCb *cell,RgrCellCfg *cellCfg,RgSchErrInfo *err)
133 *@brief Deletes cell config for SPS
136 * Function : rgSCHCmnSpsCellDel
142 Void rgSCHCmnSpsCellDel(RgSchCellCb *cell)
149 *@brief Configures DL LC for SPS
152 * Function :rgSCHCmnSpsDlLcCfg
158 S16 rgSCHCmnSpsDlLcCfg(RgSchCellCb *cell,RgSchUeCb *ue,RgSchDlLcCb *dlLc,RgrLchCfg *lcCfg,RgSchErrInfo *err)
164 Void rgSchCmnDlSfHqDel
173 S16 rgSCHCmnSpsDlLcRecfg ARGS((
177 RgrLchRecfg *lcRecfg,
185 Void rgSCHCmnSpsUlLcgDel ARGS((
194 Void rgSCHCmnSpsDlLcDel ARGS((
203 S16 rgSCHCmnSpsUlTti ARGS((
205 RgSchCmnUlRbAllocInfo *allocInfo
212 Void rgSCHCmnSpsDlDedBoUpd ARGS((
222 Void rgSCHCmnSpsDlProcAddToRetx ARGS((
231 Void rgSCHCmnSpsDlCqiIndHndlr ARGS((
234 CmLteTimingInfo timingInfo
241 S16 rgSCHCmnSpsUlCqiInd ARGS((
250 S16 rgSCHCmnSpsBsrRpt ARGS((
260 Void rgSCHCmnSpsPhrInd ARGS((
269 Void rgSCHCmnSpsDlRelPdcchFbk ARGS((
279 Void rgSCHCmnSpsDlProcAck ARGS((
288 Void rgSCHCmnSpsDlUeReset ARGS((
297 Void rgSCHCmnSpsUlUeReset ARGS((
306 Void rgSCHCmnSpsUlProcRelInd ARGS((
316 Void rgSCHCmnSpsUlProcActInd ARGS((
326 S16 rgSCHCmnSpsUlProcCrcInd ARGS((
329 CmLteTimingInfo crcTime
336 S16 rgSCHCmnSpsUlProcDtxInd ARGS((
339 CmLteTimingInfo dtxTime
346 Void rgSCHCmnSpsDlUpdDlSfAllocWithSps ARGS((
348 CmLteTimingInfo schdTime,
360 /**********************************************************************
363 **********************************************************************/