Merge remote-tracking branch 'origin/NR_UE_ssb_index_fix' into integration_2024_w21
This commit is contained in:
@@ -1884,13 +1884,12 @@ static void map_ssb_to_ro(NR_UE_MAC_INST_t *mac)
|
|||||||
|
|
||||||
// Returns a RACH occasion if any matches the SSB idx, the frame and the slot
|
// Returns a RACH occasion if any matches the SSB idx, the frame and the slot
|
||||||
static int get_nr_prach_info_from_ssb_index(prach_association_pattern_t *prach_assoc_pattern,
|
static int get_nr_prach_info_from_ssb_index(prach_association_pattern_t *prach_assoc_pattern,
|
||||||
uint8_t ssb_idx,
|
int ssb_idx,
|
||||||
int frame,
|
int frame,
|
||||||
int slot,
|
int slot,
|
||||||
ssb_list_info_t *ssb_list,
|
ssb_list_info_t *ssb_list,
|
||||||
prach_occasion_info_t **prach_occasion_info_pp)
|
prach_occasion_info_t **prach_occasion_info_pp)
|
||||||
{
|
{
|
||||||
ssb_info_t *ssb_info_p;
|
|
||||||
prach_occasion_slot_t *prach_occasion_slot_p = NULL;
|
prach_occasion_slot_t *prach_occasion_slot_p = NULL;
|
||||||
|
|
||||||
*prach_occasion_info_pp = NULL;
|
*prach_occasion_info_pp = NULL;
|
||||||
@@ -1900,14 +1899,20 @@ static int get_nr_prach_info_from_ssb_index(prach_association_pattern_t *prach_a
|
|||||||
// - ssb_idx mapped to one of the ROs in that RO slot
|
// - ssb_idx mapped to one of the ROs in that RO slot
|
||||||
// - exact slot number
|
// - exact slot number
|
||||||
// - frame offset
|
// - frame offset
|
||||||
ssb_info_p = &ssb_list->tx_ssb[ssb_idx];
|
int idx_list = ssb_list->nb_ssb_per_index[ssb_idx];
|
||||||
|
ssb_info_t *ssb_info_p = &ssb_list->tx_ssb[idx_list];
|
||||||
LOG_D(NR_MAC, "checking for prach : ssb_info_p->nb_mapped_ro %d\n", ssb_info_p->nb_mapped_ro);
|
LOG_D(NR_MAC, "checking for prach : ssb_info_p->nb_mapped_ro %d\n", ssb_info_p->nb_mapped_ro);
|
||||||
for (uint8_t n_mapped_ro=0; n_mapped_ro<ssb_info_p->nb_mapped_ro; n_mapped_ro++) {
|
for (int n_mapped_ro = 0; n_mapped_ro < ssb_info_p->nb_mapped_ro; n_mapped_ro++) {
|
||||||
LOG_D(NR_MAC,"%d.%d: mapped_ro[%d]->frame.slot %d.%d, prach_assoc_pattern->nb_of_frame %d\n",
|
LOG_D(NR_MAC,
|
||||||
frame,slot,n_mapped_ro,ssb_info_p->mapped_ro[n_mapped_ro]->frame,ssb_info_p->mapped_ro[n_mapped_ro]->slot,prach_assoc_pattern->nb_of_frame);
|
"%d.%d: mapped_ro[%d]->frame.slot %d.%d, prach_assoc_pattern->nb_of_frame %d\n",
|
||||||
|
frame,
|
||||||
|
slot,
|
||||||
|
n_mapped_ro,
|
||||||
|
ssb_info_p->mapped_ro[n_mapped_ro]->frame,
|
||||||
|
ssb_info_p->mapped_ro[n_mapped_ro]->slot,
|
||||||
|
prach_assoc_pattern->nb_of_frame);
|
||||||
if ((slot == ssb_info_p->mapped_ro[n_mapped_ro]->slot) &&
|
if ((slot == ssb_info_p->mapped_ro[n_mapped_ro]->slot) &&
|
||||||
(ssb_info_p->mapped_ro[n_mapped_ro]->frame == (frame % prach_assoc_pattern->nb_of_frame))) {
|
(ssb_info_p->mapped_ro[n_mapped_ro]->frame == (frame % prach_assoc_pattern->nb_of_frame))) {
|
||||||
|
|
||||||
uint8_t prach_config_period_nb = ssb_info_p->mapped_ro[n_mapped_ro]->frame / prach_assoc_pattern->prach_conf_period_list[0].nb_of_frame;
|
uint8_t prach_config_period_nb = ssb_info_p->mapped_ro[n_mapped_ro]->frame / prach_assoc_pattern->prach_conf_period_list[0].nb_of_frame;
|
||||||
uint8_t frame_nb_in_prach_config_period = ssb_info_p->mapped_ro[n_mapped_ro]->frame % prach_assoc_pattern->prach_conf_period_list[0].nb_of_frame;
|
uint8_t frame_nb_in_prach_config_period = ssb_info_p->mapped_ro[n_mapped_ro]->frame % prach_assoc_pattern->prach_conf_period_list[0].nb_of_frame;
|
||||||
prach_occasion_slot_p = &prach_assoc_pattern->prach_conf_period_list[prach_config_period_nb].prach_occasion_slot_map[frame_nb_in_prach_config_period][slot];
|
prach_occasion_slot_p = &prach_assoc_pattern->prach_conf_period_list[prach_config_period_nb].prach_occasion_slot_map[frame_nb_in_prach_config_period][slot];
|
||||||
|
|||||||
Reference in New Issue
Block a user