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
alex037yang
OpenXG-RAN
Commits
23ca4cfb
Commit
23ca4cfb
authored
Aug 31, 2018
by
Cedric Roux
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/T-fixes-w35' into develop_integration_2018_w35
parents
4c069754
b8093f50
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
35 additions
and
38 deletions
+35
-38
common/utils/T/tracer/gui/x.c
common/utils/T/tracer/gui/x.c
+11
-1
openair1/PHY/LTE_TRANSPORT/dci_tools.c
openair1/PHY/LTE_TRANSPORT/dci_tools.c
+1
-1
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+23
-36
No files found.
common/utils/T/tracer/gui/x.c
View file @
23ca4cfb
...
@@ -150,7 +150,17 @@ x_image *x_create_image(x_connection *_x, unsigned char *data,
...
@@ -150,7 +150,17 @@ x_image *x_create_image(x_connection *_x, unsigned char *data,
vs
=
XGetVisualInfo
(
x
->
d
,
VisualDepthMask
|
VisualClassMask
|
vs
=
XGetVisualInfo
(
x
->
d
,
VisualDepthMask
|
VisualClassMask
|
VisualRedMaskMask
|
VisualGreenMaskMask
|
VisualBlueMaskMask
|
VisualRedMaskMask
|
VisualGreenMaskMask
|
VisualBlueMaskMask
|
VisualBitsPerRGBMask
,
&
template
,
&
nvs
);
VisualBitsPerRGBMask
,
&
template
,
&
nvs
);
if
(
vs
==
NULL
||
nvs
==
0
)
ERR
(
"no good visual found
\n
"
);
if
(
vs
==
NULL
)
{
/* try again with 32 bpp */
template
.
depth
=
32
;
vs
=
XGetVisualInfo
(
x
->
d
,
VisualDepthMask
|
VisualClassMask
|
VisualRedMaskMask
|
VisualGreenMaskMask
|
VisualBlueMaskMask
|
VisualBitsPerRGBMask
,
&
template
,
&
nvs
);
}
if
(
vs
==
NULL
)
ERR
(
"no good visual found
\n
"
);
v
=
vs
[
0
].
visual
;
v
=
vs
[
0
].
visual
;
XFree
(
vs
);
XFree
(
vs
);
...
...
openair1/PHY/LTE_TRANSPORT/dci_tools.c
View file @
23ca4cfb
...
@@ -1791,7 +1791,7 @@ void fill_dci0(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t *proc,
...
@@ -1791,7 +1791,7 @@ void fill_dci0(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t *proc,
#ifdef T_TRACER
#ifdef T_TRACER
T
(
T_ENB_PHY_ULSCH_UE_DCI
,
T_INT
(
eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
),
T
(
T_ENB_PHY_ULSCH_UE_DCI
,
T_INT
(
eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
pdu
->
dci_pdu_rel8
.
rnti
),
T_INT
(
((
frame
*
10
+
subframe
+
4
)
%
8
)
/* TODO: correct harq pid */
),
T_INT
(
pdu
->
dci_pdu_rel8
.
rnti
),
T_INT
(
pdu
->
dci_pdu_rel8
.
harq_pid
),
T_INT
(
mcs
),
T_INT
(
-
1
/* TODO: remove round? */
),
T_INT
(
mcs
),
T_INT
(
-
1
/* TODO: remove round? */
),
T_INT
(
pdu
->
dci_pdu_rel8
.
resource_block_start
),
T_INT
(
pdu
->
dci_pdu_rel8
.
resource_block_start
),
T_INT
(
pdu
->
dci_pdu_rel8
.
number_of_resource_block
),
T_INT
(
pdu
->
dci_pdu_rel8
.
number_of_resource_block
),
...
...
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
23ca4cfb
...
@@ -1604,6 +1604,16 @@ static void do_release_harq(PHY_VARS_eNB *eNB,int UE_id,int tb,uint16_t frame,ui
...
@@ -1604,6 +1604,16 @@ static void do_release_harq(PHY_VARS_eNB *eNB,int UE_id,int tb,uint16_t frame,ui
dlsch1_harq
=
dlsch1
->
harq_processes
[
harq_pid
];
dlsch1_harq
=
dlsch1
->
harq_processes
[
harq_pid
];
AssertFatal
(
dlsch0_harq
!=
NULL
,
"dlsch0_harq is null
\n
"
);
AssertFatal
(
dlsch0_harq
!=
NULL
,
"dlsch0_harq is null
\n
"
);
#if T_TRACER
if
(
after_rounds
!=
-
1
)
{
T
(
T_ENB_PHY_DLSCH_UE_NACK
,
T_INT
(
0
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
dlsch0
->
rnti
),
T_INT
(
harq_pid
));
}
else
{
T
(
T_ENB_PHY_DLSCH_UE_ACK
,
T_INT
(
0
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
dlsch0
->
rnti
),
T_INT
(
harq_pid
));
}
#endif
if
(
dlsch0_harq
->
round
>=
after_rounds
)
{
if
(
dlsch0_harq
->
round
>=
after_rounds
)
{
dlsch0_harq
->
status
=
SCH_IDLE
;
dlsch0_harq
->
status
=
SCH_IDLE
;
/*if ((dlsch1_harq == NULL)||
/*if ((dlsch1_harq == NULL)||
...
@@ -1631,6 +1641,15 @@ static void do_release_harq(PHY_VARS_eNB *eNB,int UE_id,int tb,uint16_t frame,ui
...
@@ -1631,6 +1641,15 @@ static void do_release_harq(PHY_VARS_eNB *eNB,int UE_id,int tb,uint16_t frame,ui
dlsch1_harq
=
dlsch1
->
harq_processes
[
harq_pid
];
dlsch1_harq
=
dlsch1
->
harq_processes
[
harq_pid
];
AssertFatal
(
dlsch0_harq
!=
NULL
,
"dlsch0_harq is null
\n
"
);
AssertFatal
(
dlsch0_harq
!=
NULL
,
"dlsch0_harq is null
\n
"
);
#if T_TRACER
if
(
after_rounds
!=
-
1
)
{
T
(
T_ENB_PHY_DLSCH_UE_NACK
,
T_INT
(
0
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
dlsch0
->
rnti
),
T_INT
(
harq_pid
));
}
else
{
T
(
T_ENB_PHY_DLSCH_UE_ACK
,
T_INT
(
0
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
dlsch0
->
rnti
),
T_INT
(
harq_pid
));
}
#endif
if
(
dlsch0_harq
->
round
>=
after_rounds
)
{
if
(
dlsch0_harq
->
round
>=
after_rounds
)
{
dlsch0_harq
->
status
=
SCH_IDLE
;
dlsch0_harq
->
status
=
SCH_IDLE
;
if
((
dlsch1_harq
==
NULL
)
||
if
((
dlsch1_harq
==
NULL
)
||
...
@@ -1753,22 +1772,6 @@ void fill_ulsch_harq_indication(PHY_VARS_eNB *eNB,LTE_UL_eNB_HARQ_t *ulsch_harq,
...
@@ -1753,22 +1772,6 @@ void fill_ulsch_harq_indication(PHY_VARS_eNB *eNB,LTE_UL_eNB_HARQ_t *ulsch_harq,
pdu
->
harq_indication_fdd_rel13
.
harq_tb_n
[
i
]
=
2
-
ulsch_harq
->
o_ACK
[
i
];
pdu
->
harq_indication_fdd_rel13
.
harq_tb_n
[
i
]
=
2
-
ulsch_harq
->
o_ACK
[
i
];
// release DLSCH if needed
// release DLSCH if needed
release_harq
(
eNB
,
UE_id
,
i
,
frame
,
subframe
,
0xffff
,
ulsch_harq
->
o_ACK
[
i
]
==
1
);
release_harq
(
eNB
,
UE_id
,
i
,
frame
,
subframe
,
0xffff
,
ulsch_harq
->
o_ACK
[
i
]
==
1
);
#if T_TRACER
/* TODO: get correct harq pid */
{
int
subframe_tx
=
(
subframe
+
6
)
%
10
;
int
frame_tx
=
subframe_tx
>=
6
?
(
frame
+
1023
)
%
1024
:
frame
;
if
(
ulsch_harq
->
o_ACK
[
i
]
!=
1
)
{
T
(
T_ENB_PHY_DLSCH_UE_NACK
,
T_INT
(
0
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
rnti
),
T_INT
(
eNB
->
dlsch
[
UE_id
][
0
]
->
harq_ids
[
frame_tx
%
2
][
subframe_tx
]));
}
else
{
T
(
T_ENB_PHY_DLSCH_UE_ACK
,
T_INT
(
0
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
rnti
),
T_INT
(
eNB
->
dlsch
[
UE_id
][
0
]
->
harq_ids
[
frame_tx
%
2
][
subframe_tx
]));
}
}
#endif
}
}
}
}
else
{
// TDD
else
{
// TDD
...
@@ -1857,21 +1860,6 @@ void fill_uci_harq_indication(PHY_VARS_eNB *eNB,
...
@@ -1857,21 +1860,6 @@ void fill_uci_harq_indication(PHY_VARS_eNB *eNB,
pdu
->
harq_indication_fdd_rel13
.
harq_tb_n
[
0
]
=
harq_ack
[
0
];
pdu
->
harq_indication_fdd_rel13
.
harq_tb_n
[
0
]
=
harq_ack
[
0
];
// release DLSCH if needed
// release DLSCH if needed
release_harq
(
eNB
,
UE_id
,
0
,
frame
,
subframe
,
0xffff
,
harq_ack
[
0
]
==
1
);
release_harq
(
eNB
,
UE_id
,
0
,
frame
,
subframe
,
0xffff
,
harq_ack
[
0
]
==
1
);
#if T_TRACER
{
int
subframe_tx
=
(
subframe
+
6
)
%
10
;
int
frame_tx
=
subframe_tx
>=
6
?
(
frame
+
1023
)
%
1024
:
frame
;
if
(
harq_ack
[
0
]
!=
1
)
{
T
(
T_ENB_PHY_DLSCH_UE_NACK
,
T_INT
(
0
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
uci
->
rnti
),
T_INT
(
eNB
->
dlsch
[
UE_id
][
0
]
->
harq_ids
[
frame_tx
%
2
][
subframe_tx
]));
}
else
{
T
(
T_ENB_PHY_DLSCH_UE_ACK
,
T_INT
(
0
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
uci
->
rnti
),
T_INT
(
eNB
->
dlsch
[
UE_id
][
0
]
->
harq_ids
[
frame_tx
%
2
][
subframe_tx
]));
}
}
#endif
}
}
else
if
(
uci
->
pucch_fmt
==
pucch_format1b
)
{
else
if
(
uci
->
pucch_fmt
==
pucch_format1b
)
{
pdu
->
harq_indication_fdd_rel13
.
tl
.
tag
=
NFAPI_HARQ_INDICATION_FDD_REL13_TAG
;
pdu
->
harq_indication_fdd_rel13
.
tl
.
tag
=
NFAPI_HARQ_INDICATION_FDD_REL13_TAG
;
...
@@ -2041,16 +2029,15 @@ void phy_procedures_eNB_uespec_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
...
@@ -2041,16 +2029,15 @@ void phy_procedures_eNB_uespec_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
const
int
subframe
=
proc
->
subframe_rx
;
const
int
subframe
=
proc
->
subframe_rx
;
const
int
frame
=
proc
->
frame_rx
;
const
int
frame
=
proc
->
frame_rx
;
if
((
fp
->
frame_type
==
TDD
)
&&
(
subframe_select
(
fp
,
subframe
)
!=
SF_UL
))
return
;
T
(
T_ENB_PHY_UL_TICK
,
T_INT
(
eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
));
/* TODO: use correct rxdata */
/* TODO: use correct rxdata */
T
(
T_ENB_PHY_INPUT_SIGNAL
,
T_INT
(
eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
0
),
T
(
T_ENB_PHY_INPUT_SIGNAL
,
T_INT
(
eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
),
T_INT
(
0
),
T_BUFFER
(
&
eNB
->
RU_list
[
0
]
->
common
.
rxdata
[
0
][
subframe
*
eNB
->
frame_parms
.
samples_per_tti
],
T_BUFFER
(
&
eNB
->
RU_list
[
0
]
->
common
.
rxdata
[
0
][
subframe
*
eNB
->
frame_parms
.
samples_per_tti
],
eNB
->
frame_parms
.
samples_per_tti
*
4
));
eNB
->
frame_parms
.
samples_per_tti
*
4
));
if
((
fp
->
frame_type
==
TDD
)
&&
(
subframe_select
(
fp
,
subframe
)
!=
SF_UL
))
return
;
T
(
T_ENB_PHY_UL_TICK
,
T_INT
(
eNB
->
Mod_id
),
T_INT
(
frame
),
T_INT
(
subframe
));
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_RX_UESPEC
,
1
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_RX_UESPEC
,
1
);
LOG_D
(
PHY
,
"[eNB %d] Frame %d: Doing phy_procedures_eNB_uespec_RX(%d)
\n
"
,
eNB
->
Mod_id
,
frame
,
subframe
);
LOG_D
(
PHY
,
"[eNB %d] Frame %d: Doing phy_procedures_eNB_uespec_RX(%d)
\n
"
,
eNB
->
Mod_id
,
frame
,
subframe
);
...
...
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