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
spbro
OpenXG-RAN
Commits
f3b6155f
Commit
f3b6155f
authored
Oct 04, 2024
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
OAI specific config_request field for analog beamforming
parent
6b58d357
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
41 additions
and
1 deletion
+41
-1
nfapi/open-nFAPI/fapi/src/nr_fapi_p5.c
nfapi/open-nFAPI/fapi/src/nr_fapi_p5.c
+23
-0
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h
+2
-0
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface_scf.h
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface_scf.h
+6
-0
openair2/LAYER2/NR_MAC_gNB/config.c
openair2/LAYER2/NR_MAC_gNB/config.c
+10
-1
No files found.
nfapi/open-nFAPI/fapi/src/nr_fapi_p5.c
View file @
f3b6155f
...
...
@@ -1227,6 +1227,29 @@ uint8_t pack_nr_config_request(void *msg, uint8_t **ppWritePackedMsg, uint8_t *e
numTLVs
++
;
}
#endif
AssertFatal
(
pNfapiMsg
->
analog_beamforming_ve
.
num_beams_period_vendor_ext
.
tl
.
tag
==
0
,
"BF Vendor extension shouldn't be set!"
);
// The call to pack the TLV would be the same as any other TLV, it is only packed if the tag is set,
// so, it's safe to add the call to pack_nr_tlv even if it is not always set
retval
&=
pack_nr_tlv
(
NFAPI_NR_FAPI_NUM_BEAMS_PERIOD_VENDOR_EXTENSION_TAG
,
&
(
pNfapiMsg
->
analog_beamforming_ve
.
num_beams_period_vendor_ext
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
);
// only increase if it was set
numTLVs
+=
pNfapiMsg
->
analog_beamforming_ve
.
num_beams_period_vendor_ext
.
tl
.
tag
==
NFAPI_NR_FAPI_NUM_BEAMS_PERIOD_VENDOR_EXTENSION_TAG
;
AssertFatal
(
pNfapiMsg
->
analog_beamforming_ve
.
analog_bf_vendor_ext
.
tl
.
tag
==
0
,
"BF Vendor extension shouldn't be set!"
);
// The call to pack the TLV would be the same as any other TLV, it is only packed if the tag is set,
// so, it's safe to add the call to pack_nr_tlv even if it is not always set
retval
&=
pack_nr_tlv
(
NFAPI_NR_FAPI_ANALOG_BF_VENDOR_EXTENSION_TAG
,
&
(
pNfapiMsg
->
analog_beamforming_ve
.
analog_bf_vendor_ext
),
ppWritePackedMsg
,
end
,
&
pack_uint8_tlv_value
);
// only increase if it was set
numTLVs
+=
pNfapiMsg
->
analog_beamforming_ve
.
analog_bf_vendor_ext
.
tl
.
tag
==
NFAPI_NR_FAPI_ANALOG_BF_VENDOR_EXTENSION_TAG
;
pNfapiMsg
->
num_tlv
=
numTLVs
;
retval
&=
push8
(
pNfapiMsg
->
num_tlv
,
&
pNumTLVFields
,
end
);
return
retval
;
...
...
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h
View file @
f3b6155f
...
...
@@ -23,6 +23,8 @@
#define NFAPI_NR_NFAPI_TIMING_WINDOW_TAG 0x011E
#define NFAPI_NR_NFAPI_TIMING_INFO_MODE_TAG 0x011F
#define NFAPI_NR_NFAPI_TIMING_INFO_PERIOD_TAG 0x0120
#define NFAPI_NR_FAPI_NUM_BEAMS_PERIOD_VENDOR_EXTENSION_TAG 0xA000
#define NFAPI_NR_FAPI_ANALOG_BF_VENDOR_EXTENSION_TAG 0xA001
typedef
enum
{
NFAPI_NR_CCE_REG_MAPPING_INTERLEAVED
=
1
,
...
...
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface_scf.h
View file @
f3b6155f
...
...
@@ -484,6 +484,11 @@ typedef struct {
nfapi_nr_pm_pdu_t
*
pmi_pdu
;
}
nfapi_nr_pm_list_t
;
typedef
struct
{
nfapi_uint8_tlv_t
num_beams_period_vendor_ext
;
nfapi_uint8_tlv_t
analog_bf_vendor_ext
;
}
nfapi_nr_analog_beamforming_ve_t
;
// ERROR enums
typedef
enum
{
// Table 2-22
NFAPI_NR_PARAM_MSG_OK
=
0
,
...
...
@@ -597,6 +602,7 @@ typedef struct {
nfapi_nr_nfapi_t
nfapi_config
;
nfapi_nr_pm_list_t
pmi_list
;
nfapi_nr_dbt_pdu_t
dbt_config
;
nfapi_nr_analog_beamforming_ve_t
analog_beamforming_ve
;
}
nfapi_nr_config_request_scf_t
;
typedef
enum
{
...
...
openair2/LAYER2/NR_MAC_gNB/config.c
View file @
f3b6155f
...
...
@@ -615,11 +615,20 @@ static void config_common(gNB_MAC_INST *nrmac,
}
}
}
if
(
nrmac
->
beam_info
.
beam_allocation
)
{
cfg
->
analog_beamforming_ve
.
num_beams_period_vendor_ext
.
tl
.
tag
=
NFAPI_NR_FAPI_NUM_BEAMS_PERIOD_VENDOR_EXTENSION_TAG
;
cfg
->
analog_beamforming_ve
.
num_beams_period_vendor_ext
.
value
=
nrmac
->
beam_info
.
beams_per_period
;
cfg
->
num_tlv
++
;
cfg
->
analog_beamforming_ve
.
analog_bf_vendor_ext
.
tl
.
tag
=
NFAPI_NR_FAPI_ANALOG_BF_VENDOR_EXTENSION_TAG
;
cfg
->
analog_beamforming_ve
.
analog_bf_vendor_ext
.
value
=
1
;
// analog BF enabled
cfg
->
num_tlv
++
;
}
}
static
void
initialize_beam_information
(
NR_beam_info_t
*
beam_info
,
int
mu
,
int
slots_per_frame
)
{
if
(
!
beam_info
->
beam_allocation
)
if
(
!
beam_info
->
beam_allocation
)
return
;
int
size
=
mu
==
0
?
slots_per_frame
<<
1
:
slots_per_frame
;
...
...
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