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
lizhongxiao
OpenXG-RAN
Commits
950b110e
Commit
950b110e
authored
Jan 09, 2023
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
tentative fix for CQI table and DCI 1_0
parent
0f62f51f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
10 deletions
+9
-10
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
+9
-10
No files found.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
View file @
950b110e
...
@@ -680,7 +680,8 @@ void evaluate_cqi_report(uint8_t *payload,
...
@@ -680,7 +680,8 @@ void evaluate_cqi_report(uint8_t *payload,
int
cumul_bits
,
int
cumul_bits
,
uint8_t
ri
,
uint8_t
ri
,
NR_UE_info_t
*
UE
,
NR_UE_info_t
*
UE
,
long
*
cqi_Table
){
uint8_t
cqi_Table
)
{
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
UE
->
UE_sched_ctrl
;
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
UE
->
UE_sched_ctrl
;
...
@@ -692,10 +693,7 @@ void evaluate_cqi_report(uint8_t *payload,
...
@@ -692,10 +693,7 @@ void evaluate_cqi_report(uint8_t *payload,
// NR_CSI_ReportConfig__cqi_Table_table1 = 0
// NR_CSI_ReportConfig__cqi_Table_table1 = 0
// NR_CSI_ReportConfig__cqi_Table_table2 = 1
// NR_CSI_ReportConfig__cqi_Table_table2 = 1
// NR_CSI_ReportConfig__cqi_Table_table3 = 2
// NR_CSI_ReportConfig__cqi_Table_table3 = 2
if
(
cqi_Table
)
sched_ctrl
->
CSI_report
.
cri_ri_li_pmi_cqi_report
.
cqi_table
=
cqi_Table
;
sched_ctrl
->
CSI_report
.
cri_ri_li_pmi_cqi_report
.
cqi_table
=
*
cqi_Table
;
else
AssertFatal
(
1
==
0
,
"CQI Table not present in RRC configuration
\n
"
);
sched_ctrl
->
CSI_report
.
cri_ri_li_pmi_cqi_report
.
wb_cqi_1tb
=
temp_cqi
;
sched_ctrl
->
CSI_report
.
cri_ri_li_pmi_cqi_report
.
wb_cqi_1tb
=
temp_cqi
;
LOG_D
(
MAC
,
"Wide-band CQI for the first TB %d
\n
"
,
temp_cqi
);
LOG_D
(
MAC
,
"Wide-band CQI for the first TB %d
\n
"
,
temp_cqi
);
if
(
cqi_bitlen
>
4
)
{
if
(
cqi_bitlen
>
4
)
{
...
@@ -707,8 +705,7 @@ void evaluate_cqi_report(uint8_t *payload,
...
@@ -707,8 +705,7 @@ void evaluate_cqi_report(uint8_t *payload,
// TODO for wideband case and multiple TB
// TODO for wideband case and multiple TB
const
int
cqi_idx
=
sched_ctrl
->
CSI_report
.
cri_ri_li_pmi_cqi_report
.
wb_cqi_1tb
;
const
int
cqi_idx
=
sched_ctrl
->
CSI_report
.
cri_ri_li_pmi_cqi_report
.
wb_cqi_1tb
;
const
int
mcs_table
=
UE
->
current_DL_BWP
.
mcsTableIdx
;
const
int
mcs_table
=
UE
->
current_DL_BWP
.
mcsTableIdx
;
const
int
cqi_table
=
sched_ctrl
->
CSI_report
.
cri_ri_li_pmi_cqi_report
.
cqi_table
;
sched_ctrl
->
dl_max_mcs
=
get_mcs_from_cqi
(
mcs_table
,
cqi_Table
,
cqi_idx
);
sched_ctrl
->
dl_max_mcs
=
get_mcs_from_cqi
(
mcs_table
,
cqi_table
,
cqi_idx
);
}
}
...
@@ -785,6 +782,7 @@ void extract_pucch_csi_report(NR_CSI_MeasConfig_t *csi_MeasConfig,
...
@@ -785,6 +782,7 @@ void extract_pucch_csi_report(NR_CSI_MeasConfig_t *csi_MeasConfig,
NR_CSI_ReportConfig__reportQuantity_PR
reportQuantity_type
=
NR_CSI_ReportConfig__reportQuantity_PR_NOTHING
;
NR_CSI_ReportConfig__reportQuantity_PR
reportQuantity_type
=
NR_CSI_ReportConfig__reportQuantity_PR_NOTHING
;
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
UE
->
UE_sched_ctrl
;
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
UE
->
UE_sched_ctrl
;
NR_UE_UL_BWP_t
*
ul_bwp
=
&
UE
->
current_UL_BWP
;
NR_UE_UL_BWP_t
*
ul_bwp
=
&
UE
->
current_UL_BWP
;
NR_UE_DL_BWP_t
*
dl_bwp
=
&
UE
->
current_DL_BWP
;
const
int
n_slots_frame
=
nr_slots_per_frame
[
ul_bwp
->
scs
];
const
int
n_slots_frame
=
nr_slots_per_frame
[
ul_bwp
->
scs
];
int
cumul_bits
=
0
;
int
cumul_bits
=
0
;
int
r_index
=
-
1
;
int
r_index
=
-
1
;
...
@@ -796,6 +794,7 @@ void extract_pucch_csi_report(NR_CSI_MeasConfig_t *csi_MeasConfig,
...
@@ -796,6 +794,7 @@ void extract_pucch_csi_report(NR_CSI_MeasConfig_t *csi_MeasConfig,
uint8_t
li_bitlen
=
0
;
uint8_t
li_bitlen
=
0
;
uint8_t
pmi_bitlen
=
0
;
uint8_t
pmi_bitlen
=
0
;
NR_CSI_ReportConfig_t
*
csirep
=
csi_MeasConfig
->
csi_ReportConfigToAddModList
->
list
.
array
[
csi_report_id
];
NR_CSI_ReportConfig_t
*
csirep
=
csi_MeasConfig
->
csi_ReportConfigToAddModList
->
list
.
array
[
csi_report_id
];
uint8_t
cqi_table
=
(
dl_bwp
->
dci_format
==
NR_DL_DCI_FORMAT_1_1
&&
csirep
->
cqi_Table
)
?
*
csirep
->
cqi_Table
:
NR_CSI_ReportConfig__cqi_Table_table1
;
const
NR_PUCCH_CSI_Resource_t
*
pucchcsires
=
csirep
->
reportConfigType
.
choice
.
periodic
->
pucch_CSI_ResourceList
.
list
.
array
[
0
];
const
NR_PUCCH_CSI_Resource_t
*
pucchcsires
=
csirep
->
reportConfigType
.
choice
.
periodic
->
pucch_CSI_ResourceList
.
list
.
array
[
0
];
if
(
pucchcsires
->
uplinkBandwidthPartId
!=
ul_bwp
->
bwp_id
)
if
(
pucchcsires
->
uplinkBandwidthPartId
!=
ul_bwp
->
bwp_id
)
continue
;
continue
;
...
@@ -823,7 +822,7 @@ void extract_pucch_csi_report(NR_CSI_MeasConfig_t *csi_MeasConfig,
...
@@ -823,7 +822,7 @@ void extract_pucch_csi_report(NR_CSI_MeasConfig_t *csi_MeasConfig,
cumul_bits
+=
ri_bitlen
;
cumul_bits
+=
ri_bitlen
;
if
(
r_index
!=
-
1
)
if
(
r_index
!=
-
1
)
skip_zero_padding
(
&
cumul_bits
,
csi_report
,
r_index
,
bitlen
);
skip_zero_padding
(
&
cumul_bits
,
csi_report
,
r_index
,
bitlen
);
evaluate_cqi_report
(
payload
,
csi_report
,
cumul_bits
,
r_index
,
UE
,
c
sirep
->
cqi_T
able
);
evaluate_cqi_report
(
payload
,
csi_report
,
cumul_bits
,
r_index
,
UE
,
c
qi_t
able
);
break
;
break
;
case
NR_CSI_ReportConfig__reportQuantity_PR_cri_RI_PMI_CQI
:
case
NR_CSI_ReportConfig__reportQuantity_PR_cri_RI_PMI_CQI
:
cri_bitlen
=
csi_report
->
csi_meas_bitlen
.
cri_bitlen
;
cri_bitlen
=
csi_report
->
csi_meas_bitlen
.
cri_bitlen
;
...
@@ -839,7 +838,7 @@ void extract_pucch_csi_report(NR_CSI_MeasConfig_t *csi_MeasConfig,
...
@@ -839,7 +838,7 @@ void extract_pucch_csi_report(NR_CSI_MeasConfig_t *csi_MeasConfig,
pmi_bitlen
=
evaluate_pmi_report
(
payload
,
csi_report
,
cumul_bits
,
r_index
,
sched_ctrl
);
pmi_bitlen
=
evaluate_pmi_report
(
payload
,
csi_report
,
cumul_bits
,
r_index
,
sched_ctrl
);
sched_ctrl
->
CSI_report
.
cri_ri_li_pmi_cqi_report
.
csi_report_id
=
csi_report_id
;
sched_ctrl
->
CSI_report
.
cri_ri_li_pmi_cqi_report
.
csi_report_id
=
csi_report_id
;
cumul_bits
+=
pmi_bitlen
;
cumul_bits
+=
pmi_bitlen
;
evaluate_cqi_report
(
payload
,
csi_report
,
cumul_bits
,
r_index
,
UE
,
c
sirep
->
cqi_T
able
);
evaluate_cqi_report
(
payload
,
csi_report
,
cumul_bits
,
r_index
,
UE
,
c
qi_t
able
);
break
;
break
;
case
NR_CSI_ReportConfig__reportQuantity_PR_cri_RI_LI_PMI_CQI
:
case
NR_CSI_ReportConfig__reportQuantity_PR_cri_RI_LI_PMI_CQI
:
cri_bitlen
=
csi_report
->
csi_meas_bitlen
.
cri_bitlen
;
cri_bitlen
=
csi_report
->
csi_meas_bitlen
.
cri_bitlen
;
...
@@ -857,7 +856,7 @@ void extract_pucch_csi_report(NR_CSI_MeasConfig_t *csi_MeasConfig,
...
@@ -857,7 +856,7 @@ void extract_pucch_csi_report(NR_CSI_MeasConfig_t *csi_MeasConfig,
pmi_bitlen
=
evaluate_pmi_report
(
payload
,
csi_report
,
cumul_bits
,
r_index
,
sched_ctrl
);
pmi_bitlen
=
evaluate_pmi_report
(
payload
,
csi_report
,
cumul_bits
,
r_index
,
sched_ctrl
);
sched_ctrl
->
CSI_report
.
cri_ri_li_pmi_cqi_report
.
csi_report_id
=
csi_report_id
;
sched_ctrl
->
CSI_report
.
cri_ri_li_pmi_cqi_report
.
csi_report_id
=
csi_report_id
;
cumul_bits
+=
pmi_bitlen
;
cumul_bits
+=
pmi_bitlen
;
evaluate_cqi_report
(
payload
,
csi_report
,
cumul_bits
,
r_index
,
UE
,
c
sirep
->
cqi_T
able
);
evaluate_cqi_report
(
payload
,
csi_report
,
cumul_bits
,
r_index
,
UE
,
c
qi_t
able
);
break
;
break
;
default:
default:
AssertFatal
(
1
==
0
,
"Invalid or not supported CSI measurement report
\n
"
);
AssertFatal
(
1
==
0
,
"Invalid or not supported CSI measurement report
\n
"
);
...
...
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