Fix resource block assignment information (RIV field) for DCI format 0_0 when scheduling in any type of PDCCH common search space
This commit is contained in:
@@ -935,7 +935,8 @@ static void nr_generate_Msg3_retransmission(module_id_t module_idP,
|
|||||||
ra->Msg3_tda_id,
|
ra->Msg3_tda_id,
|
||||||
ra->msg3_TPC,
|
ra->msg3_TPC,
|
||||||
1, // Not toggling NDI in msg3 retransmissions
|
1, // Not toggling NDI in msg3 retransmissions
|
||||||
ul_bwp);
|
ul_bwp,
|
||||||
|
ss->searchSpaceType->present);
|
||||||
|
|
||||||
// Reset TPC to 0 dB to not request new gain multiple times before computing new value for SNR
|
// Reset TPC to 0 dB to not request new gain multiple times before computing new value for SNR
|
||||||
ra->msg3_TPC = 1;
|
ra->msg3_TPC = 1;
|
||||||
|
|||||||
@@ -790,13 +790,20 @@ void config_uldci(const NR_UE_ServingCell_Info_t *sc_info,
|
|||||||
int time_domain_assignment,
|
int time_domain_assignment,
|
||||||
uint8_t tpc,
|
uint8_t tpc,
|
||||||
uint8_t ndi,
|
uint8_t ndi,
|
||||||
NR_UE_UL_BWP_t *ul_bwp)
|
NR_UE_UL_BWP_t *ul_bwp,
|
||||||
|
NR_SearchSpace__searchSpaceType_PR ss_type)
|
||||||
{
|
{
|
||||||
int bwp_id = ul_bwp->bwp_id;
|
int bwp_id = ul_bwp->bwp_id;
|
||||||
nr_dci_format_t dci_format = ul_bwp->dci_format;
|
nr_dci_format_t dci_format = ul_bwp->dci_format;
|
||||||
|
|
||||||
|
// 3GPP TS 38.214 Section 6.1.2.2.2 Uplink resource allocation type 1
|
||||||
|
uint16_t riv_bwp_size = ul_bwp->BWPSize;
|
||||||
|
if (dci_format == NR_UL_DCI_FORMAT_0_0 && ss_type == NR_SearchSpace__searchSpaceType_PR_common && ul_bwp->pusch_Config
|
||||||
|
&& ul_bwp->pusch_Config->resourceAllocation == NR_PUSCH_Config__resourceAllocation_resourceAllocationType1) {
|
||||||
|
riv_bwp_size = sc_info->initial_ul_BWPSize;
|
||||||
|
}
|
||||||
dci_pdu_rel15->frequency_domain_assignment.val =
|
dci_pdu_rel15->frequency_domain_assignment.val =
|
||||||
PRBalloc_to_locationandbandwidth0(pusch_pdu->rb_size, pusch_pdu->rb_start, ul_bwp->BWPSize);
|
PRBalloc_to_locationandbandwidth0(pusch_pdu->rb_size, pusch_pdu->rb_start, riv_bwp_size);
|
||||||
dci_pdu_rel15->time_domain_assignment.val = time_domain_assignment;
|
dci_pdu_rel15->time_domain_assignment.val = time_domain_assignment;
|
||||||
dci_pdu_rel15->frequency_hopping_flag.val = pusch_pdu->frequency_hopping;
|
dci_pdu_rel15->frequency_hopping_flag.val = pusch_pdu->frequency_hopping;
|
||||||
dci_pdu_rel15->mcs = pusch_pdu->mcs_index;
|
dci_pdu_rel15->mcs = pusch_pdu->mcs_index;
|
||||||
|
|||||||
@@ -2687,7 +2687,8 @@ void nr_schedule_ulsch(module_id_t module_id, frame_t frame, slot_t slot, nfapi_
|
|||||||
sched_pusch->time_domain_allocation,
|
sched_pusch->time_domain_allocation,
|
||||||
UE->UE_sched_ctrl.tpc0,
|
UE->UE_sched_ctrl.tpc0,
|
||||||
cur_harq->ndi,
|
cur_harq->ndi,
|
||||||
current_BWP);
|
current_BWP,
|
||||||
|
ss->searchSpaceType->present);
|
||||||
|
|
||||||
// Reset TPC to 0 dB to not request new gain multiple times before computing new value for SNR
|
// Reset TPC to 0 dB to not request new gain multiple times before computing new value for SNR
|
||||||
UE->UE_sched_ctrl.tpc0 = 1;
|
UE->UE_sched_ctrl.tpc0 = 1;
|
||||||
|
|||||||
@@ -166,7 +166,8 @@ void config_uldci(const NR_UE_ServingCell_Info_t *sc_info,
|
|||||||
int time_domain_assignment,
|
int time_domain_assignment,
|
||||||
uint8_t tpc,
|
uint8_t tpc,
|
||||||
uint8_t ndi,
|
uint8_t ndi,
|
||||||
NR_UE_UL_BWP_t *ul_bwp);
|
NR_UE_UL_BWP_t *ul_bwp,
|
||||||
|
NR_SearchSpace__searchSpaceType_PR ss_type);
|
||||||
|
|
||||||
void nr_schedule_pucch(gNB_MAC_INST *nrmac, frame_t frameP, slot_t slotP);
|
void nr_schedule_pucch(gNB_MAC_INST *nrmac, frame_t frameP, slot_t slotP);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user