Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zzha zzha
OpenXG-RAN
Commits
ce35b668
Commit
ce35b668
authored
Nov 03, 2023
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
handle csi-measconfig in sc_info
parent
9b9eb6f4
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
349 additions
and
34 deletions
+349
-34
openair2/LAYER2/NR_MAC_COMMON/nr_mac.h
openair2/LAYER2/NR_MAC_COMMON/nr_mac.h
+2
-1
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
+3
-3
openair2/LAYER2/NR_MAC_UE/config_ue.c
openair2/LAYER2/NR_MAC_UE/config_ue.c
+322
-4
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+2
-2
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+8
-12
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+7
-8
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
+5
-4
No files found.
openair2/LAYER2/NR_MAC_COMMON/nr_mac.h
View file @
ce35b668
...
...
@@ -589,7 +589,6 @@ typedef struct NR_UE_UL_BWP {
NR_PUSCH_Config_t
*
pusch_Config
;
NR_PUCCH_Config_t
*
pucch_Config
;
NR_PUCCH_ConfigCommon_t
*
pucch_ConfigCommon
;
NR_CSI_MeasConfig_t
*
csi_MeasConfig
;
NR_SRS_Config_t
*
srs_Config
;
long
*
msg3_DeltaPreamble
;
long
transform_precoding
;
...
...
@@ -612,6 +611,8 @@ typedef struct {
long
*
rateMatching_PUSCH
;
long
*
xOverhead_PUSCH
;
long
*
maxMIMO_Layers_PUSCH
;
NR_CSI_MeasConfig_t
*
csi_MeasConfig
;
NR_CSI_AperiodicTriggerStateList_t
*
aperiodicTriggerStateList
;
}
NR_UE_ServingCell_Info_t
;
typedef
enum
{
...
...
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
View file @
ce35b668
...
...
@@ -3418,9 +3418,9 @@ uint16_t nr_dci_size(const NR_UE_DL_BWP_t *DL_BWP,
dci_pdu
->
srs_request
.
nbits
=
3
;
size
+=
dci_pdu
->
srs_request
.
nbits
;
// CSI request
if
(
UL_BWP
->
csi_MeasConfig
!=
NULL
)
{
if
(
UL_BWP
->
csi_MeasConfig
->
reportTriggerSize
!=
NULL
)
{
dci_pdu
->
csi_request
.
nbits
=
*
UL_BWP
->
csi_MeasConfig
->
reportTriggerSize
;
if
(
sc_info
->
csi_MeasConfig
!=
NULL
)
{
if
(
sc_info
->
csi_MeasConfig
->
reportTriggerSize
!=
NULL
)
{
dci_pdu
->
csi_request
.
nbits
=
*
sc_info
->
csi_MeasConfig
->
reportTriggerSize
;
size
+=
dci_pdu
->
csi_request
.
nbits
;
}
}
...
...
openair2/LAYER2/NR_MAC_UE/config_ue.c
View file @
ce35b668
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
ce35b668
...
...
@@ -2507,8 +2507,8 @@ int nr_get_csi_measurements(NR_UE_MAC_INST_t *mac, frame_t frame, int slot, PUCC
NR_PUCCH_Config_t
*
pucch_Config
=
current_UL_BWP
->
pucch_Config
;
int
num_csi
=
0
;
if
(
current_UL_BWP
->
csi_MeasConfig
)
{
NR_CSI_MeasConfig_t
*
csi_measconfig
=
current_UL_BWP
->
csi_MeasConfig
;
if
(
mac
->
sc_info
.
csi_MeasConfig
)
{
NR_CSI_MeasConfig_t
*
csi_measconfig
=
mac
->
sc_info
.
csi_MeasConfig
;
int
csi_priority
=
INT_MAX
;
for
(
int
csi_report_id
=
0
;
csi_report_id
<
csi_measconfig
->
csi_ReportConfigToAddModList
->
list
.
count
;
csi_report_id
++
){
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
ce35b668
...
...
@@ -2157,14 +2157,12 @@ void nr_ue_pucch_scheduler(module_id_t module_idP, frame_t frameP, int slotP, vo
}
}
void
nr_schedule_csi_for_im
(
NR_UE_MAC_INST_t
*
mac
,
int
frame
,
int
slot
)
{
NR_UE_UL_BWP_t
*
current_UL_BWP
=
&
mac
->
current_UL_BWP
;
if
(
!
current_UL_BWP
->
csi_MeasConfig
)
void
nr_schedule_csi_for_im
(
NR_UE_MAC_INST_t
*
mac
,
int
frame
,
int
slot
)
{
if
(
!
mac
->
sc_info
.
csi_MeasConfig
)
return
;
NR_CSI_MeasConfig_t
*
csi_measconfig
=
current_UL_BWP
->
csi_MeasConfig
;
NR_CSI_MeasConfig_t
*
csi_measconfig
=
mac
->
sc_info
.
csi_MeasConfig
;
if
(
csi_measconfig
->
csi_IM_ResourceToAddModList
==
NULL
)
return
;
...
...
@@ -2295,14 +2293,12 @@ uint8_t set_csirs_measurement_bitmap(NR_CSI_MeasConfig_t *csi_measconfig,
return
meas_bitmap
;
}
void
nr_schedule_csirs_reception
(
NR_UE_MAC_INST_t
*
mac
,
int
frame
,
int
slot
)
{
NR_UE_UL_BWP_t
*
current_UL_BWP
=
&
mac
->
current_UL_BWP
;
if
(
!
current_UL_BWP
->
csi_MeasConfig
)
void
nr_schedule_csirs_reception
(
NR_UE_MAC_INST_t
*
mac
,
int
frame
,
int
slot
)
{
if
(
!
mac
->
sc_info
.
csi_MeasConfig
)
return
;
NR_CSI_MeasConfig_t
*
csi_measconfig
=
current_UL_BWP
->
csi_MeasConfig
;
NR_CSI_MeasConfig_t
*
csi_measconfig
=
mac
->
sc_info
.
csi_MeasConfig
;
if
(
csi_measconfig
->
nzp_CSI_RS_ResourceToAddModList
==
NULL
)
return
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
ce35b668
...
...
@@ -2117,7 +2117,6 @@ void configure_UE_BWP(gNB_MAC_INST *nr_mac,
UL_BWP
->
pusch_Config
=
ubwpd
->
pusch_Config
->
choice
.
setup
;
UL_BWP
->
pucch_Config
=
ubwpd
->
pucch_Config
->
choice
.
setup
;
UL_BWP
->
srs_Config
=
ubwpd
->
srs_Config
->
choice
.
setup
;
UL_BWP
->
csi_MeasConfig
=
servingCellConfig
->
csi_MeasConfig
?
servingCellConfig
->
csi_MeasConfig
->
choice
.
setup
:
NULL
;
}
else
{
DL_BWP
->
bwp_id
=
0
;
...
...
@@ -2126,7 +2125,6 @@ void configure_UE_BWP(gNB_MAC_INST *nr_mac,
DL_BWP
->
pdsch_Config
=
NULL
;
UL_BWP
->
pusch_Config
=
NULL
;
UL_BWP
->
pucch_Config
=
NULL
;
UL_BWP
->
csi_MeasConfig
=
NULL
;
UL_BWP
->
configuredGrantConfig
=
NULL
;
}
...
...
@@ -2183,6 +2181,10 @@ void configure_UE_BWP(gNB_MAC_INST *nr_mac,
if
(
UE
)
{
NR_UE_ServingCell_Info_t
*
sc_info
=
&
UE
->
sc_info
;
if
(
servingCellConfig
)
{
if
(
servingCellConfig
->
csi_MeasConfig
)
{
sc_info
->
csi_MeasConfig
=
servingCellConfig
->
csi_MeasConfig
->
choice
.
setup
;
compute_csi_bitlen
(
sc_info
->
csi_MeasConfig
,
UE
->
csi_report_template
);
}
if
(
servingCellConfig
->
pdsch_ServingCellConfig
&&
servingCellConfig
->
pdsch_ServingCellConfig
->
choice
.
setup
)
{
NR_PDSCH_ServingCellConfig_t
*
pdsch_servingcellconfig
=
servingCellConfig
->
pdsch_ServingCellConfig
->
choice
.
setup
;
...
...
@@ -2247,9 +2249,6 @@ void configure_UE_BWP(gNB_MAC_INST *nr_mac,
NR_UL_DCI_FORMAT_0_1
:
NR_UL_DCI_FORMAT_0_0
)
:
NR_UL_DCI_FORMAT_0_0
;
if
(
UL_BWP
->
csi_MeasConfig
)
compute_csi_bitlen
(
UL_BWP
->
csi_MeasConfig
,
UE
->
csi_report_template
);
set_max_fb_time
(
UL_BWP
,
DL_BWP
);
set_sched_pucch_list
(
sched_ctrl
,
UL_BWP
,
scc
);
}
...
...
@@ -2574,7 +2573,6 @@ void nr_csirs_scheduling(int Mod_idP, frame_t frame, sub_frame_t slot, int n_slo
UE_iterator
(
UE_info
->
list
,
UE
)
{
NR_UE_DL_BWP_t
*
dl_bwp
=
&
UE
->
current_DL_BWP
;
NR_UE_UL_BWP_t
*
ul_bwp
=
&
UE
->
current_UL_BWP
;
// CSI-RS is common to all UEs in a given BWP
// therefore we need to schedule only once per BWP
...
...
@@ -2587,9 +2585,10 @@ void nr_csirs_scheduling(int Mod_idP, frame_t frame, sub_frame_t slot, int n_slo
continue
;
}
if
(
!
ul_bwp
->
csi_MeasConfig
)
continue
;
if
(
!
UE
->
sc_info
.
csi_MeasConfig
)
continue
;
NR_CSI_MeasConfig_t
*
csi_measconfig
=
ul_bwp
->
csi_MeasConfig
;
NR_CSI_MeasConfig_t
*
csi_measconfig
=
UE
->
sc_info
.
csi_MeasConfig
;
// looking for the correct CSI-RS resource in current BWP
NR_NZP_CSI_RS_ResourceSetId_t
*
nzp
=
NULL
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
View file @
ce35b668
...
...
@@ -212,8 +212,9 @@ void nr_csi_meas_reporting(int Mod_idP,
if
((
sched_ctrl
->
rrc_processing_timer
>
0
)
||
(
sched_ctrl
->
ul_failure
&&
!
get_softmodem_params
()
->
phy_test
))
{
continue
;
}
const
NR_CSI_MeasConfig_t
*
csi_measconfig
=
ul_bwp
->
csi_MeasConfig
;
if
(
!
csi_measconfig
)
continue
;
const
NR_CSI_MeasConfig_t
*
csi_measconfig
=
UE
->
sc_info
.
csi_MeasConfig
;
if
(
!
csi_measconfig
)
continue
;
AssertFatal
(
csi_measconfig
->
csi_ReportConfigToAddModList
->
list
.
count
>
0
,
"NO CSI report configuration available"
);
NR_PUCCH_Config_t
*
pucch_Config
=
ul_bwp
->
pucch_Config
;
...
...
@@ -1051,8 +1052,8 @@ void handle_nr_uci_pucch_2_3_4(module_id_t mod_id,
return
;
}
NR_CSI_MeasConfig_t
*
csi_MeasConfig
=
UE
->
current_UL_BWP
.
csi_MeasConfig
;
if
(
csi_MeasConfig
==
NULL
)
{
NR_CSI_MeasConfig_t
*
csi_MeasConfig
=
UE
->
sc_info
.
csi_MeasConfig
;
if
(
csi_MeasConfig
==
NULL
)
{
NR_SCHED_UNLOCK
(
&
nrmac
->
sched_lock
);
return
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment