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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG
OpenXG-RAN
Commits
bb044cf9
Commit
bb044cf9
authored
Oct 14, 2023
by
Raymond Knopp
Committed by
Robert Schmidt
Feb 06, 2024
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update logs to NR_ version and add some new
parent
1ec528db
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
22 additions
and
15 deletions
+22
-15
executables/nr-ru.c
executables/nr-ru.c
+1
-1
openair1/PHY/NR_TRANSPORT/nr_prach.c
openair1/PHY/NR_TRANSPORT/nr_prach.c
+1
-0
openair1/SCHED_NR/fapi_nr_l1.c
openair1/SCHED_NR/fapi_nr_l1.c
+10
-10
openair1/SCHED_NR/nr_prach_procedures.c
openair1/SCHED_NR/nr_prach_procedures.c
+3
-2
openair2/NR_PHY_INTERFACE/nr_sched_response.c
openair2/NR_PHY_INTERFACE/nr_sched_response.c
+4
-0
radio/ETHERNET/eth_udp.c
radio/ETHERNET/eth_udp.c
+3
-2
No files found.
executables/nr-ru.c
View file @
bb044cf9
...
@@ -283,7 +283,7 @@ void fh_if5_south_out(RU_t *ru, int frame, int slot, uint64_t timestamp) {
...
@@ -283,7 +283,7 @@ void fh_if5_south_out(RU_t *ru, int frame, int slot, uint64_t timestamp) {
for
(
int
aid
=
0
;
aid
<
ru
->
nb_tx
;
aid
++
)
buffs
[
aid
]
=
(
void
*
)
&
ru
->
common
.
txdata
[
aid
][
offset
];
for
(
int
aid
=
0
;
aid
<
ru
->
nb_tx
;
aid
++
)
buffs
[
aid
]
=
(
void
*
)
&
ru
->
common
.
txdata
[
aid
][
offset
];
struct
timespec
txmeas
;
struct
timespec
txmeas
;
clock_gettime
(
CLOCK_MONOTONIC
,
&
txmeas
);
clock_gettime
(
CLOCK_MONOTONIC
,
&
txmeas
);
LOG_D
(
PHY
,
"IF5 TX %d.%d, TS %llu, buffs[0] %p, buffs[1] %p ener0 %f dB, tx start %d
\n
"
,
frame
,
slot
,(
unsigned
long
long
)
timestamp
,
buffs
[
0
],
buffs
[
1
],
LOG_D
(
NR_
PHY
,
"IF5 TX %d.%d, TS %llu, buffs[0] %p, buffs[1] %p ener0 %f dB, tx start %d
\n
"
,
frame
,
slot
,(
unsigned
long
long
)
timestamp
,
buffs
[
0
],
buffs
[
1
],
10
*
log10
((
double
)
signal_energy
(
buffs
[
0
],
ru
->
nr_frame_parms
->
get_samples_per_slot
(
slot
,
ru
->
nr_frame_parms
))),(
int
)
txmeas
.
tv_nsec
);
10
*
log10
((
double
)
signal_energy
(
buffs
[
0
],
ru
->
nr_frame_parms
->
get_samples_per_slot
(
slot
,
ru
->
nr_frame_parms
))),(
int
)
txmeas
.
tv_nsec
);
ru
->
ifdevice
.
trx_write_func2
(
&
ru
->
ifdevice
,
ru
->
ifdevice
.
trx_write_func2
(
&
ru
->
ifdevice
,
timestamp
,
timestamp
,
...
...
openair1/PHY/NR_TRANSPORT/nr_prach.c
View file @
bb044cf9
...
@@ -81,6 +81,7 @@ void nr_fill_prach(PHY_VARS_gNB *gNB,
...
@@ -81,6 +81,7 @@ void nr_fill_prach(PHY_VARS_gNB *gNB,
gNB
->
prach_vars
.
list
[
prach_id
].
frame
=
SFN
;
gNB
->
prach_vars
.
list
[
prach_id
].
frame
=
SFN
;
gNB
->
prach_vars
.
list
[
prach_id
].
slot
=
Slot
;
gNB
->
prach_vars
.
list
[
prach_id
].
slot
=
Slot
;
LOG_D
(
NR_PHY
,
"Copying prach pdu %d bytes to index %d
\n
"
,(
int
)
sizeof
(
*
prach_pdu
),
prach_id
);
memcpy
((
void
*
)
&
gNB
->
prach_vars
.
list
[
prach_id
].
pdu
,(
void
*
)
prach_pdu
,
sizeof
(
*
prach_pdu
));
memcpy
((
void
*
)
&
gNB
->
prach_vars
.
list
[
prach_id
].
pdu
,(
void
*
)
prach_pdu
,
sizeof
(
*
prach_pdu
));
}
}
...
...
openair1/SCHED_NR/fapi_nr_l1.c
View file @
bb044cf9
...
@@ -55,7 +55,7 @@ void handle_nr_nfapi_ssb_pdu(processingData_L1tx_t *msgTx,int frame,int slot,
...
@@ -55,7 +55,7 @@ void handle_nr_nfapi_ssb_pdu(processingData_L1tx_t *msgTx,int frame,int slot,
uint8_t
i_ssb
=
dl_tti_pdu
->
ssb_pdu
.
ssb_pdu_rel15
.
SsbBlockIndex
;
uint8_t
i_ssb
=
dl_tti_pdu
->
ssb_pdu
.
ssb_pdu_rel15
.
SsbBlockIndex
;
LOG_D
(
PHY
,
"%d.%d : ssb index %d pbch_pdu: %x
\n
"
,
frame
,
slot
,
i_ssb
,
dl_tti_pdu
->
ssb_pdu
.
ssb_pdu_rel15
.
bchPayload
);
LOG_D
(
NR_
PHY
,
"%d.%d : ssb index %d pbch_pdu: %x
\n
"
,
frame
,
slot
,
i_ssb
,
dl_tti_pdu
->
ssb_pdu
.
ssb_pdu_rel15
.
bchPayload
);
if
(
msgTx
->
ssb
[
i_ssb
].
active
)
if
(
msgTx
->
ssb
[
i_ssb
].
active
)
AssertFatal
(
1
==
0
,
"SSB PDU with index %d already active
\n
"
,
i_ssb
);
AssertFatal
(
1
==
0
,
"SSB PDU with index %d already active
\n
"
,
i_ssb
);
else
{
else
{
...
@@ -109,7 +109,7 @@ void handle_nfapi_nr_csirs_pdu(processingData_L1tx_t *msgTx, int frame, int slot
...
@@ -109,7 +109,7 @@ void handle_nfapi_nr_csirs_pdu(processingData_L1tx_t *msgTx, int frame, int slot
for
(
int
id
=
0
;
id
<
NR_SYMBOLS_PER_SLOT
;
id
++
)
{
for
(
int
id
=
0
;
id
<
NR_SYMBOLS_PER_SLOT
;
id
++
)
{
NR_gNB_CSIRS_t
*
csirs
=
&
msgTx
->
csirs_pdu
[
id
];
NR_gNB_CSIRS_t
*
csirs
=
&
msgTx
->
csirs_pdu
[
id
];
if
(
csirs
->
active
==
0
)
{
if
(
csirs
->
active
==
0
)
{
LOG_D
(
PHY
,
"Frame %d Slot %d CSI_RS with ID %d is now active
\n
"
,
frame
,
slot
,
id
);
LOG_D
(
NR_
PHY
,
"Frame %d Slot %d CSI_RS with ID %d is now active
\n
"
,
frame
,
slot
,
id
);
csirs
->
active
=
1
;
csirs
->
active
=
1
;
memcpy
((
void
*
)
&
csirs
->
csirs_pdu
,
(
void
*
)
csirs_pdu
,
sizeof
(
nfapi_nr_dl_tti_csi_rs_pdu
));
memcpy
((
void
*
)
&
csirs
->
csirs_pdu
,
(
void
*
)
csirs_pdu
,
sizeof
(
nfapi_nr_dl_tti_csi_rs_pdu
));
found
=
1
;
found
=
1
;
...
@@ -181,7 +181,7 @@ void nr_schedule_response(NR_Sched_Rsp_t *Sched_INFO)
...
@@ -181,7 +181,7 @@ void nr_schedule_response(NR_Sched_Rsp_t *Sched_INFO)
for
(
int
i
=
0
;
i
<
number_dl_pdu
;
i
++
)
{
for
(
int
i
=
0
;
i
<
number_dl_pdu
;
i
++
)
{
nfapi_nr_dl_tti_request_pdu_t
*
dl_tti_pdu
=
&
DL_req
->
dl_tti_request_body
.
dl_tti_pdu_list
[
i
];
nfapi_nr_dl_tti_request_pdu_t
*
dl_tti_pdu
=
&
DL_req
->
dl_tti_request_body
.
dl_tti_pdu_list
[
i
];
LOG_D
(
PHY
,
"NFAPI: dl_pdu %d : type %d
\n
"
,
i
,
dl_tti_pdu
->
PDUType
);
LOG_D
(
NR_
PHY
,
"NFAPI: dl_pdu %d : type %d
\n
"
,
i
,
dl_tti_pdu
->
PDUType
);
switch
(
dl_tti_pdu
->
PDUType
)
{
switch
(
dl_tti_pdu
->
PDUType
)
{
case
NFAPI_NR_DL_TTI_SSB_PDU_TYPE
:
case
NFAPI_NR_DL_TTI_SSB_PDU_TYPE
:
handle_nr_nfapi_ssb_pdu
(
msgTx
,
frame
,
slot
,
handle_nr_nfapi_ssb_pdu
(
msgTx
,
frame
,
slot
,
...
@@ -189,18 +189,18 @@ void nr_schedule_response(NR_Sched_Rsp_t *Sched_INFO)
...
@@ -189,18 +189,18 @@ void nr_schedule_response(NR_Sched_Rsp_t *Sched_INFO)
break
;
break
;
case
NFAPI_NR_DL_TTI_PDCCH_PDU_TYPE
:
case
NFAPI_NR_DL_TTI_PDCCH_PDU_TYPE
:
LOG_D
(
PHY
,
"frame %d, slot %d, Got NFAPI_NR_DL_TTI_PDCCH_PDU_TYPE for %d.%d
\n
"
,
frame
,
slot
,
DL_req
->
SFN
,
DL_req
->
Slot
);
LOG_D
(
NR_
PHY
,
"frame %d, slot %d, Got NFAPI_NR_DL_TTI_PDCCH_PDU_TYPE for %d.%d
\n
"
,
frame
,
slot
,
DL_req
->
SFN
,
DL_req
->
Slot
);
msgTx
->
pdcch_pdu
[
msgTx
->
num_dl_pdcch
]
=
dl_tti_pdu
->
pdcch_pdu
;
msgTx
->
pdcch_pdu
[
msgTx
->
num_dl_pdcch
]
=
dl_tti_pdu
->
pdcch_pdu
;
msgTx
->
num_dl_pdcch
++
;
msgTx
->
num_dl_pdcch
++
;
break
;
break
;
case
NFAPI_NR_DL_TTI_CSI_RS_PDU_TYPE
:
case
NFAPI_NR_DL_TTI_CSI_RS_PDU_TYPE
:
LOG_D
(
PHY
,
"frame %d, slot %d, Got NFAPI_NR_DL_TTI_CSI_RS_PDU_TYPE for %d.%d
\n
"
,
frame
,
slot
,
DL_req
->
SFN
,
DL_req
->
Slot
);
LOG_D
(
NR_
PHY
,
"frame %d, slot %d, Got NFAPI_NR_DL_TTI_CSI_RS_PDU_TYPE for %d.%d
\n
"
,
frame
,
slot
,
DL_req
->
SFN
,
DL_req
->
Slot
);
handle_nfapi_nr_csirs_pdu
(
msgTx
,
frame
,
slot
,
&
dl_tti_pdu
->
csi_rs_pdu
);
handle_nfapi_nr_csirs_pdu
(
msgTx
,
frame
,
slot
,
&
dl_tti_pdu
->
csi_rs_pdu
);
break
;
break
;
case
NFAPI_NR_DL_TTI_PDSCH_PDU_TYPE
:
case
NFAPI_NR_DL_TTI_PDSCH_PDU_TYPE
:
LOG_D
(
PHY
,
"frame %d, slot %d, Got NFAPI_NR_DL_TTI_PDSCH_PDU_TYPE for %d.%d
\n
"
,
frame
,
slot
,
DL_req
->
SFN
,
DL_req
->
Slot
);
LOG_D
(
NR_
PHY
,
"frame %d, slot %d, Got NFAPI_NR_DL_TTI_PDSCH_PDU_TYPE for %d.%d
\n
"
,
frame
,
slot
,
DL_req
->
SFN
,
DL_req
->
Slot
);
nfapi_nr_dl_tti_pdsch_pdu_rel15_t
*
pdsch_pdu_rel15
=
&
dl_tti_pdu
->
pdsch_pdu
.
pdsch_pdu_rel15
;
nfapi_nr_dl_tti_pdsch_pdu_rel15_t
*
pdsch_pdu_rel15
=
&
dl_tti_pdu
->
pdsch_pdu
.
pdsch_pdu_rel15
;
uint16_t
pduIndex
=
pdsch_pdu_rel15
->
pduIndex
;
uint16_t
pduIndex
=
pdsch_pdu_rel15
->
pduIndex
;
AssertFatal
(
TX_req
->
pdu_list
[
pduIndex
].
num_TLV
==
1
,
"TX_req->pdu_list[%d].num_TLV %d != 1
\n
"
,
AssertFatal
(
TX_req
->
pdu_list
[
pduIndex
].
num_TLV
==
1
,
"TX_req->pdu_list[%d].num_TLV %d != 1
\n
"
,
...
@@ -229,22 +229,22 @@ void nr_schedule_response(NR_Sched_Rsp_t *Sched_INFO)
...
@@ -229,22 +229,22 @@ void nr_schedule_response(NR_Sched_Rsp_t *Sched_INFO)
for
(
int
i
=
0
;
i
<
number_ul_tti_pdu
;
i
++
)
{
for
(
int
i
=
0
;
i
<
number_ul_tti_pdu
;
i
++
)
{
switch
(
UL_tti_req
->
pdus_list
[
i
].
pdu_type
)
{
switch
(
UL_tti_req
->
pdus_list
[
i
].
pdu_type
)
{
case
NFAPI_NR_UL_CONFIG_PUSCH_PDU_TYPE
:
case
NFAPI_NR_UL_CONFIG_PUSCH_PDU_TYPE
:
LOG_D
(
PHY
,
"frame %d, slot %d, Got NFAPI_NR_UL_TTI_PUSCH_PDU_TYPE for %d.%d
\n
"
,
frame
,
slot
,
UL_tti_req
->
SFN
,
UL_tti_req
->
Slot
);
LOG_D
(
NR_
PHY
,
"frame %d, slot %d, Got NFAPI_NR_UL_TTI_PUSCH_PDU_TYPE for %d.%d
\n
"
,
frame
,
slot
,
UL_tti_req
->
SFN
,
UL_tti_req
->
Slot
);
nr_fill_ulsch
(
gNB
,
UL_tti_req
->
SFN
,
UL_tti_req
->
Slot
,
&
UL_tti_req
->
pdus_list
[
i
].
pusch_pdu
);
nr_fill_ulsch
(
gNB
,
UL_tti_req
->
SFN
,
UL_tti_req
->
Slot
,
&
UL_tti_req
->
pdus_list
[
i
].
pusch_pdu
);
break
;
break
;
case
NFAPI_NR_UL_CONFIG_PUCCH_PDU_TYPE
:
case
NFAPI_NR_UL_CONFIG_PUCCH_PDU_TYPE
:
LOG_D
(
PHY
,
"frame %d, slot %d, Got NFAPI_NR_UL_TTI_PUCCH_PDU_TYPE for %d.%d
\n
"
,
frame
,
slot
,
UL_tti_req
->
SFN
,
UL_tti_req
->
Slot
);
LOG_D
(
NR_
PHY
,
"frame %d, slot %d, Got NFAPI_NR_UL_TTI_PUCCH_PDU_TYPE for %d.%d
\n
"
,
frame
,
slot
,
UL_tti_req
->
SFN
,
UL_tti_req
->
Slot
);
nr_fill_pucch
(
gNB
,
UL_tti_req
->
SFN
,
UL_tti_req
->
Slot
,
&
UL_tti_req
->
pdus_list
[
i
].
pucch_pdu
);
nr_fill_pucch
(
gNB
,
UL_tti_req
->
SFN
,
UL_tti_req
->
Slot
,
&
UL_tti_req
->
pdus_list
[
i
].
pucch_pdu
);
break
;
break
;
case
NFAPI_NR_UL_CONFIG_PRACH_PDU_TYPE
:
case
NFAPI_NR_UL_CONFIG_PRACH_PDU_TYPE
:
LOG_D
(
PHY
,
"frame %d, slot %d, Got NFAPI_NR_UL_TTI_PRACH_PDU_TYPE for %d.%d
\n
"
,
frame
,
slot
,
UL_tti_req
->
SFN
,
UL_tti_req
->
Slot
);
LOG_D
(
NR_
PHY
,
"frame %d, slot %d, Got NFAPI_NR_UL_TTI_PRACH_PDU_TYPE for %d.%d
\n
"
,
frame
,
slot
,
UL_tti_req
->
SFN
,
UL_tti_req
->
Slot
);
nfapi_nr_prach_pdu_t
*
prach_pdu
=
&
UL_tti_req
->
pdus_list
[
i
].
prach_pdu
;
nfapi_nr_prach_pdu_t
*
prach_pdu
=
&
UL_tti_req
->
pdus_list
[
i
].
prach_pdu
;
nr_fill_prach
(
gNB
,
UL_tti_req
->
SFN
,
UL_tti_req
->
Slot
,
prach_pdu
);
nr_fill_prach
(
gNB
,
UL_tti_req
->
SFN
,
UL_tti_req
->
Slot
,
prach_pdu
);
if
(
gNB
->
RU_list
[
0
]
->
if_south
==
LOCAL_RF
||
if
(
gNB
->
RU_list
[
0
]
->
if_south
==
LOCAL_RF
||
gNB
->
RU_list
[
0
]
->
if_south
==
REMOTE_IF5
)
nr_fill_prach_ru
(
gNB
->
RU_list
[
0
],
UL_tti_req
->
SFN
,
UL_tti_req
->
Slot
,
prach_pdu
);
gNB
->
RU_list
[
0
]
->
if_south
==
REMOTE_IF5
)
nr_fill_prach_ru
(
gNB
->
RU_list
[
0
],
UL_tti_req
->
SFN
,
UL_tti_req
->
Slot
,
prach_pdu
);
break
;
break
;
case
NFAPI_NR_UL_CONFIG_SRS_PDU_TYPE
:
case
NFAPI_NR_UL_CONFIG_SRS_PDU_TYPE
:
LOG_D
(
PHY
,
"frame %d, slot %d, Got NFAPI_NR_UL_CONFIG_SRS_PDU_TYPE for %d.%d
\n
"
,
frame
,
slot
,
UL_tti_req
->
SFN
,
UL_tti_req
->
Slot
);
LOG_D
(
NR_
PHY
,
"frame %d, slot %d, Got NFAPI_NR_UL_CONFIG_SRS_PDU_TYPE for %d.%d
\n
"
,
frame
,
slot
,
UL_tti_req
->
SFN
,
UL_tti_req
->
Slot
);
nr_fill_srs
(
gNB
,
UL_tti_req
->
SFN
,
UL_tti_req
->
Slot
,
&
UL_tti_req
->
pdus_list
[
i
].
srs_pdu
);
nr_fill_srs
(
gNB
,
UL_tti_req
->
SFN
,
UL_tti_req
->
Slot
,
&
UL_tti_req
->
pdus_list
[
i
].
srs_pdu
);
break
;
break
;
}
}
...
...
openair1/SCHED_NR/nr_prach_procedures.c
View file @
bb044cf9
...
@@ -120,6 +120,7 @@ void L1_nr_prach_procedures(PHY_VARS_gNB *gNB,int frame,int slot) {
...
@@ -120,6 +120,7 @@ void L1_nr_prach_procedures(PHY_VARS_gNB *gNB,int frame,int slot) {
int
prach_id
=
find_nr_prach
(
gNB
,
frame
,
slot
,
SEARCH_EXIST
);
int
prach_id
=
find_nr_prach
(
gNB
,
frame
,
slot
,
SEARCH_EXIST
);
if
(
prach_id
>=
0
)
{
if
(
prach_id
>=
0
)
{
LOG_D
(
NR_PHY
,
"%d.%d Got prach entry id %d
\n
"
,
frame
,
slot
,
prach_id
);
nfapi_nr_prach_pdu_t
*
prach_pdu
=
&
gNB
->
prach_vars
.
list
[
prach_id
].
pdu
;
nfapi_nr_prach_pdu_t
*
prach_pdu
=
&
gNB
->
prach_vars
.
list
[
prach_id
].
pdu
;
uint8_t
prachStartSymbol
;
uint8_t
prachStartSymbol
;
uint8_t
N_dur
=
get_nr_prach_duration
(
prach_pdu
->
prach_format
);
uint8_t
N_dur
=
get_nr_prach_duration
(
prach_pdu
->
prach_format
);
...
@@ -140,9 +141,9 @@ void L1_nr_prach_procedures(PHY_VARS_gNB *gNB,int frame,int slot) {
...
@@ -140,9 +141,9 @@ void L1_nr_prach_procedures(PHY_VARS_gNB *gNB,int frame,int slot) {
&
max_preamble
[
0
],
&
max_preamble
[
0
],
&
max_preamble_energy
[
0
],
&
max_preamble_energy
[
0
],
&
max_preamble_delay
[
0
]);
&
max_preamble_delay
[
0
]);
LOG_D
(
NR_PHY
,
"Freeing PRACH entry %d
\n
"
,
prach_id
);
free_nr_prach_entry
(
gNB
,
prach_id
);
free_nr_prach_entry
(
gNB
,
prach_id
);
LOG_D
(
PHY
,
"[RAPROC] Frame %d, slot %d, occasion %d (prachStartSymbol %d) : Most likely preamble %d, energy %d.%d dB delay %d (prach_energy counter %d)
\n
"
,
LOG_D
(
NR_
PHY
,
"[RAPROC] Frame %d, slot %d, occasion %d (prachStartSymbol %d) : Most likely preamble %d, energy %d.%d dB delay %d (prach_energy counter %d)
\n
"
,
frame
,
slot
,
prach_oc
,
prachStartSymbol
,
frame
,
slot
,
prach_oc
,
prachStartSymbol
,
max_preamble
[
0
],
max_preamble
[
0
],
max_preamble_energy
[
0
]
/
10
,
max_preamble_energy
[
0
]
/
10
,
...
...
openair2/NR_PHY_INTERFACE/nr_sched_response.c
View file @
bb044cf9
...
@@ -105,6 +105,7 @@ NR_Sched_Rsp_t *allocate_sched_response(void)
...
@@ -105,6 +105,7 @@ NR_Sched_Rsp_t *allocate_sched_response(void)
static
void
release_sched_response
(
int
sched_response_id
)
static
void
release_sched_response
(
int
sched_response_id
)
{
{
LOG_D
(
NR_MAC
,
"Releasing sched_response %d
\n
"
,
sched_response_id
);
resp_freelist_next
[
sched_response_id
]
=
resp_freelist_head
;
resp_freelist_next
[
sched_response_id
]
=
resp_freelist_head
;
resp_freelist_head
=
sched_response_id
;
resp_freelist_head
=
sched_response_id
;
}
}
...
@@ -124,6 +125,7 @@ void deref_sched_response(int sched_response_id)
...
@@ -124,6 +125,7 @@ void deref_sched_response(int sched_response_id)
AssertFatal
(
resp_freelist_inited
,
"sched_response used before init
\n
"
);
AssertFatal
(
resp_freelist_inited
,
"sched_response used before init
\n
"
);
AssertFatal
(
resp_refcount
[
sched_response_id
]
>
0
,
"sched_reponse decreased too much
\n
"
);
AssertFatal
(
resp_refcount
[
sched_response_id
]
>
0
,
"sched_reponse decreased too much
\n
"
);
LOG_D
(
NR_MAC
,
"resp_refcount[%d] %d
\n
"
,
sched_response_id
,
resp_refcount
[
sched_response_id
]);
resp_refcount
[
sched_response_id
]
--
;
resp_refcount
[
sched_response_id
]
--
;
if
(
resp_refcount
[
sched_response_id
]
==
0
)
if
(
resp_refcount
[
sched_response_id
]
==
0
)
release_sched_response
(
sched_response_id
);
release_sched_response
(
sched_response_id
);
...
@@ -141,6 +143,8 @@ void inc_ref_sched_response(int sched_response_id)
...
@@ -141,6 +143,8 @@ void inc_ref_sched_response(int sched_response_id)
if
(
sched_response_id
==
-
1
)
if
(
sched_response_id
==
-
1
)
return
;
return
;
LOG_D
(
NR_MAC
,
"Incrementing sched_resp resp_refounct[%d] = %d
\n
"
,
sched_response_id
,
resp_refcount
[
sched_response_id
]);
if
(
pthread_mutex_lock
(
&
resp_mutex
))
if
(
pthread_mutex_lock
(
&
resp_mutex
))
AssertFatal
(
0
,
"pthread_mutex_lock failed
\n
"
);
AssertFatal
(
0
,
"pthread_mutex_lock failed
\n
"
);
...
...
radio/ETHERNET/eth_udp.c
View file @
bb044cf9
...
@@ -337,7 +337,7 @@ void *trx_eth_write_udp_cmd(udpTXelem_t *udpTXelem) {
...
@@ -337,7 +337,7 @@ void *trx_eth_write_udp_cmd(udpTXelem_t *udpTXelem) {
TS
-=
device
->
txrx_offset
;
TS
-=
device
->
txrx_offset
;
int
TSinc
=
(
6
*
256
*
device
->
sampling_rate_ratio_d
)
/
device
->
sampling_rate_ratio_n
;
int
TSinc
=
(
6
*
256
*
device
->
sampling_rate_ratio_d
)
/
device
->
sampling_rate_ratio_n
;
int
len
=
256
;
int
len
=
256
;
LOG_D
(
PHY
,
"
TS %llu (%llu),txrx_offset %d,d %d, n %d, buff[0] %p buff[1] %p
\n
"
,
LOG_D
(
NR_PHY
,
"in eth send:
TS %llu (%llu),txrx_offset %d,d %d, n %d, buff[0] %p buff[1] %p
\n
"
,
(
unsigned
long
long
)
TS
,(
unsigned
long
long
)
timestamp
,
device
->
txrx_offset
,
device
->
sampling_rate_ratio_d
,
device
->
sampling_rate_ratio_n
,
(
unsigned
long
long
)
TS
,(
unsigned
long
long
)
timestamp
,
device
->
txrx_offset
,
device
->
sampling_rate_ratio_d
,
device
->
sampling_rate_ratio_n
,
buff
[
0
],
buff
[
1
]);
buff
[
0
],
buff
[
1
]);
for
(
int
offset
=
0
;
offset
<
nsamps
;
offset
+=
256
,
TS
+=
TSinc
)
{
for
(
int
offset
=
0
;
offset
<
nsamps
;
offset
+=
256
,
TS
+=
TSinc
)
{
...
@@ -349,7 +349,7 @@ void *trx_eth_write_udp_cmd(udpTXelem_t *udpTXelem) {
...
@@ -349,7 +349,7 @@ void *trx_eth_write_udp_cmd(udpTXelem_t *udpTXelem) {
*
(
uint8_t
*
)(
buff2
+
2
)
=
len
>>
8
;
*
(
uint8_t
*
)(
buff2
+
2
)
=
len
>>
8
;
*
(
uint8_t
*
)(
buff2
+
3
)
=
len
&
0xff
;
*
(
uint8_t
*
)(
buff2
+
3
)
=
len
&
0xff
;
for
(
int
aid
=
0
;
aid
<
nant
;
aid
++
)
{
for
(
int
aid
=
0
;
aid
<
nant
;
aid
++
)
{
LOG_D
(
PHY
,
"TS %llu (TS0 %llu) aa %d : offset %d, len %d
\n
"
,(
unsigned
long
long
)
TS
,(
unsigned
long
long
)
fhstate
->
TS0
,
aid
,
offset
,
len
);
LOG_D
(
NR_
PHY
,
"TS %llu (TS0 %llu) aa %d : offset %d, len %d
\n
"
,(
unsigned
long
long
)
TS
,(
unsigned
long
long
)
fhstate
->
TS0
,
aid
,
offset
,
len
);
// ECPRI PC_ID (2 bytes)
// ECPRI PC_ID (2 bytes)
*
(
uint16_t
*
)(
buff2
+
4
)
=
aid
;
*
(
uint16_t
*
)(
buff2
+
4
)
=
aid
;
// bring TX data into 12 MSBs
// bring TX data into 12 MSBs
...
@@ -383,6 +383,7 @@ void *trx_eth_write_udp_cmd(udpTXelem_t *udpTXelem) {
...
@@ -383,6 +383,7 @@ void *trx_eth_write_udp_cmd(udpTXelem_t *udpTXelem) {
}
// aid
}
// aid
}
// offset
}
// offset
free
(
buff
);
free
(
buff
);
LOG_D
(
NR_PHY
,
"Returning from eth send
\n
"
);
return
(
NULL
);
return
(
NULL
);
}
}
...
...
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