Commit 0bc5b312 authored by Florian Kaltenberger's avatar Florian Kaltenberger

Merge branch 'feature-31-ff-scheduler-api' of...

Merge branch 'feature-31-ff-scheduler-api' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-31-ff-scheduler-api
parents 242de256 131acccf
...@@ -261,7 +261,6 @@ void rx_sdu( ...@@ -261,7 +261,6 @@ void rx_sdu(
#if FAPI #if FAPI
fapi_interface_t *fapi = eNB->fapi; fapi_interface_t *fapi = eNB->fapi;
struct SchedDlMacBufferReqParameters p; struct SchedDlMacBufferReqParameters p;
struct MacCeDlListElement_s ce;
#if 0 #if 0
struct CschedLcConfigReqParameters lc; struct CschedLcConfigReqParameters lc;
struct LogicalChannelConfigListElement_s lc0; struct LogicalChannelConfigListElement_s lc0;
...@@ -270,12 +269,9 @@ void rx_sdu( ...@@ -270,12 +269,9 @@ void rx_sdu(
/* inform FAPI that we want to send contention resolution Control Element */ /* inform FAPI that we want to send contention resolution Control Element */
p.rnti = eNB->common_channels[CC_idP].RA_template[ii].rnti; p.rnti = eNB->common_channels[CC_idP].RA_template[ii].rnti;
p.nr_macCEDL_List = 1; p.ceBitmap = ff_CR;
p.macCeDlList = &ce;
p.nr_vendorSpecificList = 0; p.nr_vendorSpecificList = 0;
p.vendorSpecificList = NULL; p.vendorSpecificList = NULL;
ce.rnti = eNB->common_channels[CC_idP].RA_template[ii].rnti;
ce.macCeType = ff_CR;
SchedDlMacBufferReq(fapi->sched, &p); SchedDlMacBufferReq(fapi->sched, &p);
#if 0 #if 0
......
#ifndef FF_MAC_CALLBACK_H /**
#define FF_MAC_CALLBACK_H * @file ff-mac-callback.h
* @brief Implementation of the Femto Forum LTE MAC Scheduler Interface Specification v1.11 with extensions.
/*! * @details Contains definitions of function callback types, that the scheduler may call upon the MAC.
* @ingroup _fapi * @author Florian Kaltenberger, Maciej Wewior
* @date March 2015
* @email: florian.kaltenberger@eurecom.fr, m.wewior@is-wireless.com
* @ingroup _mac
*/ */
#ifndef FF_MAC_CALLBACK_H
#define FF_MAC_CALLBACK_H
#if defined (__cplusplus) #if defined (__cplusplus)
extern "C" { extern "C" {
#endif #endif
/* these are the callback function types from the scheduler to openair */ //CSCHED SAP scheduler->MAC primitives
/* sched */
typedef void (SchedDlConfigInd_callback_t)(void *callback_data, const struct SchedDlConfigIndParameters *params);
typedef void (SchedUlConfigInd_callback_t)(void *callback_data, const struct SchedUlConfigIndParameters *params);
/* csched */ /**
* Cell configuration and scheduler configuration applied.
* @param callback_data Callback data pointer provided in SchedInit()
* @param params Cell configuration result
*/
typedef void (CschedCellConfigCnf_callback_t)(void *callback_data, const struct CschedCellConfigCnfParameters *params); typedef void (CschedCellConfigCnf_callback_t)(void *callback_data, const struct CschedCellConfigCnfParameters *params);
/**
* UE specific configuration applied.
* @param callback_data Callback data pointer provided in SchedInit()
* @param params UE configuration result
*/
typedef void (CschedUeConfigCnf_callback_t)(void *callback_data, const struct CschedUeConfigCnfParameters *params); typedef void (CschedUeConfigCnf_callback_t)(void *callback_data, const struct CschedUeConfigCnfParameters *params);
/**
* Logical channel configuration applied.
* @param callback_data Callback data pointer provided in SchedInit()
* @param params LC configuration result
*/
typedef void (CschedLcConfigCnf_callback_t)(void *callback_data, const struct CschedLcConfigCnfParameters *params); typedef void (CschedLcConfigCnf_callback_t)(void *callback_data, const struct CschedLcConfigCnfParameters *params);
/**
* Logical Channel specific configuration removed.
* @param callback_data Callback data pointer provided in SchedInit()
* @param params Logical channel release result
*/
typedef void (CschedLcReleaseCnf_callback_t)(void *callback_data, const struct CschedLcReleaseCnfParameters *params); typedef void (CschedLcReleaseCnf_callback_t)(void *callback_data, const struct CschedLcReleaseCnfParameters *params);
/**
* UE specific configuration removed.
* @param callback_data Callback data pointer provided in SchedInit()
* @param params UE release result
*/
typedef void (CschedUeReleaseCnf_callback_t)(void *callback_data, const struct CschedUeReleaseCnfParameters *params); typedef void (CschedUeReleaseCnf_callback_t)(void *callback_data, const struct CschedUeReleaseCnfParameters *params);
/**
* Update of UE specific parameters from MAC scheduler to RRC.
* @param callback_data Callback data pointer provided in SchedInit()
* @param params UE configuration update parameters
*/
typedef void (CschedUeConfigUpdateInd_callback_t)(void *callback_data, const struct CschedUeConfigUpdateIndParameters *params); typedef void (CschedUeConfigUpdateInd_callback_t)(void *callback_data, const struct CschedUeConfigUpdateIndParameters *params);
/**
* Update of cell configuration from MAC scheduler to RRC.
* @param callback_data Callback data pointer provided in SchedInit()
* @param params Cell configuration update parameters
*/
typedef void (CschedCellConfigUpdateInd_callback_t)(void *callback_data, const struct CschedCellConfigUpdateIndParameters *params); typedef void (CschedCellConfigUpdateInd_callback_t)(void *callback_data, const struct CschedCellConfigUpdateIndParameters *params);
//SCHED SAP scheduler->MAC primitives
/**
* Passes the DL scheduling decision to MAC, triggers building of DL MAC PDUs and Subframe Configuration.
* @param callback_data Callback data pointer provided in SchedInit()
* @param params DL scheduling decision
*/
typedef void (SchedDlConfigInd_callback_t)(void *callback_data, const struct SchedDlConfigIndParameters *params);
/**
* Passes the UL scheduling decision (Format 0 DCIs)to MAC.
* @param callback_data Callback data pointer provided in SchedInit()
* @param params UL scheduling decision
*/
typedef void (SchedUlConfigInd_callback_t)(void *callback_data, const struct SchedUlConfigIndParameters *params);
#if defined (__cplusplus) #if defined (__cplusplus)
} }
#endif #endif
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -378,6 +378,7 @@ int mac_top_init(int eMBMS_active, char *uecap_xer, uint8_t cba_group_active, ui ...@@ -378,6 +378,7 @@ int mac_top_init(int eMBMS_active, char *uecap_xer, uint8_t cba_group_active, ui
p.nr_vendorSpecificList = 0; p.nr_vendorSpecificList = 0;
l.puschHoppingOffset = conf->properties[i]->pusch_hoppingOffset[0]; l.puschHoppingOffset = conf->properties[i]->pusch_hoppingOffset[0];
l.NcellID = conf->properties[i]->Nid_cell[0];
l.hoppingMode = conf->properties[i]->pusch_hoppingMode[0]; l.hoppingMode = conf->properties[i]->pusch_hoppingMode[0];
l.nSb = conf->properties[i]->pusch_n_SB[0]; l.nSb = conf->properties[i]->pusch_n_SB[0];
switch (conf->properties[i]->phich_resource[0]) { switch (conf->properties[i]->phich_resource[0]) {
...@@ -423,7 +424,7 @@ int mac_top_init(int eMBMS_active, char *uecap_xer, uint8_t cba_group_active, ui ...@@ -423,7 +424,7 @@ int mac_top_init(int eMBMS_active, char *uecap_xer, uint8_t cba_group_active, ui
} }
l.subframeAssignment = conf->properties[i]->tdd_config[0]; l.subframeAssignment = conf->properties[i]->tdd_config[0];
l.specialSubframePatterns = conf->properties[i]->tdd_config_s[0]; l.specialSubframePatterns = conf->properties[i]->tdd_config_s[0];
#warning TODO: mbsfn stuff (when mbsfn_SubframeConfigPresent will be added to the structure CschedCellConfigReqParametersListElement) l.mbsfn_SubframeConfigPresent = false;
l.prachConfigurationIndex = conf->properties[i]->prach_config_index[0]; l.prachConfigurationIndex = conf->properties[i]->prach_config_index[0];
l.prachFreqOffset = conf->properties[i]->prach_freq_offset[0]; l.prachFreqOffset = conf->properties[i]->prach_freq_offset[0];
l.raResponseWindowSize = conf->properties[i]->rach_raResponseWindowSize[0]; l.raResponseWindowSize = conf->properties[i]->rach_raResponseWindowSize[0];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment