Uplink grant is either received dynamically on the PDCCH, in a Random Access Response, configured semi-persistently by RRC or determined to be associated with the PUSCH resource of MSGA as specified in clause 5.1.2a. The MAC entity shall have an uplink grant to transmit on the UL-SCH. To perform the requested transmissions, the MAC layer receives HARQ information from lower layers. An uplink grant addressed to CS-RNTI with NDI = 0 is considered as a configured uplink grant. An uplink grant addressed to CS-RNTI with NDI = 1 is considered as a dynamic uplink grant.
For a BWP configured with sTx-2Panel, the MAC entity considers the PUSCH duration of one uplink grant overlaps with the PUSCH duration of another uplink grant if they are overlapping in time and associated with an srs-ResourceSetId corresponding to the same coresetPoolIndex.
If the MAC entity has a C-RNTI, a Temporary C-RNTI, or CS-RNTI, the MAC entity shall for each PDCCH occasion and for each Serving Cell belonging to a TAG that has a running timeAlignmentTimer or a running cg-SDT-TimeAlignmentTimer and for each grant received for this PDCCH occasion:
1 >
if an uplink grant for this Serving Cell has been received on the PDCCH for the MAC entity's C-RNTI or Temporary C-RNTI; or
1 >
if an uplink grant has been received in a Random Access Response:
2 >
if the uplink grant is for MAC entity's C-RNTI and if the previous uplink grant delivered to the HARQ entity for the same HARQ process was either an uplink grant received for the MAC entity's CS-RNTI or a configured uplink grant:
3 >
consider the NDI to have been toggled for the corresponding HARQ process regardless of the value of the NDI.
2 >
if the uplink grant is for MAC entity's C-RNTI, and the identified HARQ process is configured for a configured uplink grant:
3 >
start or restart the configuredGrantTimer for the corresponding HARQ process, if configured;
3 >
stop the cg-RetransmissionTimer for the corresponding HARQ process, if running.
2 >
stop the cg-SDT-RetransmissionTimer for the corresponding HARQ process, if running.
2 >
stop the cg-RRC-RetransmissionTimer for the corresponding HARQ process, if running.
2 >
if the uplink grant has been received on the PDCCH for the MAC entity's C-RNTI after the first PUSCH transmission to the Serving Cell; and
2 >
if the uplink grant is for a new transmission on the same HARQ process used for the first PUSCH transmission to the Serving Cell:
3 >
if there is an ongoing RACH-less handover procedure:
4 >
consider the RACH-less handover to be successfully completed and indicate to upper layers.
3 >
else if there is an ongoing RACH-less LTM cell switch:
4 >
consider the LTM cell switch to be successfully completed and indicate it to upper layers.
2 >
deliver the uplink grant and the associated HARQ information to the HARQ entity.
1 >
else if an uplink grant for this PDCCH occasion has been received for this Serving Cell on the PDCCH for the MAC entity's CS-RNTI:
2 >
if the NDI in the received HARQ information is 1:
3 >
consider the NDI for the corresponding HARQ process not to have been toggled;
3 >
start or restart the configuredGrantTimer for the corresponding HARQ process, if configured;
3 >
stop the cg-RetransmissionTimer for the corresponding HARQ process, if running;
3 >
stop the cg-SDT-RetransmissionTimer for the corresponding HARQ process, if running;
3 >
stop the cg-RRC-RetransmissionTimer for the corresponding HARQ process, if running;
3 >
deliver the uplink grant and the associated HARQ information to the HARQ entity;
3 >
if a logical channel associated with a DRB configured with survivalTimeStateSupport is multiplexed in the MAC PDU stored in the HARQ buffer for the corresponding HARQ process:
4 >
trigger activation of PDCP duplication for all configured RLC entities of the DRB.
2 >
else if the NDI in the received HARQ information is 0:
3 >
if PDCCH contents indicate configured grant Type 2 deactivation:
4 >
trigger configured uplink grant confirmation.
3 >
else if PDCCH contents indicate configured grant Type 2 activation:
4 >
trigger configured uplink grant confirmation;
4 >
store the uplink grant for this Serving Cell and the associated HARQ information as configured uplink grant;
4 >
initialise or re-initialise the configured uplink grant for this Serving Cell to start in the associated PUSCH duration and to recur according to rules in clause 5.8.2;
4 >
stop the configuredGrantTimer for the corresponding HARQ process, if running;
4 >
stop the cg-RetransmissionTimer for the corresponding HARQ process, if running.
For each Serving Cell and each configured uplink grant, if configured and activated and available for use as specified in clause 5.8.2, the MAC entity shall:
1 >
if the MAC entity is configured with lch-basedPrioritization, and the PUSCH duration of the configured uplink grant does not overlap with the PUSCH duration of an uplink grant received in a Random Access Response or with the PUSCH duration of an uplink grant addressed to Temporary C-RNTI or the PUSCH duration of a MSGA payload for this Serving Cell; or
1 >
if the MAC entity is not configured with lch-basedPrioritization, and the PUSCH duration of the configured uplink grant does not overlap with the PUSCH duration of an uplink grant received on the PDCCH or in a Random Access Response or the PUSCH duration of a MSGA payload for this Serving Cell:
2 >
set the HARQ Process ID to the HARQ Process ID associated with this PUSCH duration;
2 >
if, for the corresponding HARQ process, the configuredGrantTimer is not running and cg-RetransmissionTimer is not configured and cg-SDT-RetransmissionTimer is not configured, and cg-RRC-RetransmissionTimer is not configured (i.e. new transmission):
3 >
if the configured uplink grant is for the initial transmission for the CG-SDT with CCCH message; or
3 >
if there is an ongoing CG-SDT procedure and PDCCH addressed to the MAC entity's C-RNTI has been received; or
3 >
if the configured uplink grant is for the first PUSCH transmission during an ongoing RACH-less LTM cell switch; or
3 >
if the configured uplink grant is for the first PUSCH transmission during an ongoing RACH-less handover procedure; or
3 >
if there is no ongoing CG-SDT nor ongoing RACH-less LTM cell switch nor ongoing RACH-less handover procedure:
4 >
consider the NDI bit for the corresponding HARQ process to have been toggled;
4 >
deliver the configured uplink grant and the associated HARQ information to the HARQ entity.
2 >
else if the cg-RetransmissionTimer for the corresponding HARQ process is configured and not running, then for the corresponding HARQ process:
3 >
if the configuredGrantTimer is not running, and the HARQ process is not pending (i.e. new transmission):
4 >
consider the NDI bit to have been toggled;
4 >
deliver the configured uplink grant and the associated HARQ information to the HARQ entity.
3 >
else if the previous uplink grant delivered to the HARQ entity for the same HARQ process was a configured uplink grant (i.e. retransmission on configured grant):
4 >
deliver the configured uplink grant and the associated HARQ information to the HARQ entity.
2 >
else if the cg-SDT-RetransmissionTimer is configured and not running for the corresponding HARQ process; or
2 >
if the cg-RRC-RetransmissionTimer is configured and not running for the corresponding HARQ process:
3 >
if the configured uplink grant is for the first PUSCH transmission at RACH-less LTM cell switch (i.e., initial new transmission); or
3 >
if the configured uplink grant is for the initial transmission of RACH-less handover (i.e., initial new transmission); or
3 >
if the configured uplink grant is for the initial transmission for the CG-SDT with CCCH message (i.e., initial new transmission); or
3 >
if the configuredGrantTimer is not running or not configured, and PDCCH addressed to the MAC entity's C-RNTI has been received after the initial transmission of the CG-SDT with CCCH message (i.e., subsequent new transmission):
4 >
consider the NDI bit to have been toggled;
4 >
deliver the configured uplink grant and the associated HARQ information to the HARQ entity.
3 >
if PDCCH addressed to the MAC entity's C-RNTI has not been received and if the previous uplink grant delivered to the HARQ entity for the same HARQ process was a configured uplink grant for initial transmission of CG-SDT with CCCH message or for its retransmission (i.e., retransmission for initial CG-SDT transmission); or
3 >
if RACH-less handover is not successfully completed and if the previous uplink grant delivered to the HARQ entity for the same HARQ process was a configured uplink grant for initial transmission of RACH-less handover or for its retransmission (i.e., retransmission for initial RACH-less handover transmission); or
3 >
if RACH-less LTM cell switch is ongoing and if the previous uplink grant delivered to the HARQ entity for the same HARQ process was a configured uplink grant for first PUSCH transmission at RACH-less LTM cell switch or for its retransmission (i.e., retransmission for initial transmission at RACH-less LTM cell switch):
4 >
consider the NDI bit to have not been toggled;
4 >
deliver the configured uplink grant and the associated HARQ information to the HARQ entity.
For configured uplink grants that are not part of a multi-PUSCH configured grant and neither configured with harq-ProcID-Offset2 nor with cg-RetransmissionTimer, the HARQ Process ID associated with the first symbol of a UL transmission is derived from the following equation:
HARQ Process ID = [floor(CURRENT_symbol/periodicity)] modulo nrofHARQ-Processes
For configured uplink grants that are not part of a multi-PUSCH configured grant and configured with harq-ProcID-Offset2, the HARQ Process ID associated with the first symbol of a UL transmission is derived from the following equation:
HARQ Process ID = [floor(CURRENT_symbol / periodicity)] modulo nrofHARQ-Processes + harq-ProcID-Offset2
For a multi-PUSCH configured grant (as specified in clause 5.8.2) configured with neither harq-ProcID-Offset2 nor cg-RetransmissionTimer, the HARQ Process ID associated with the first symbol of a UL transmission is derived from the following equation:
HARQ Process ID = [nrofSlotsInCG-Period× floor (CURRENT_symbol / periodicity) + ID_OFFSET] modulo nrofHARQ-Processes
For a multi-PUSCH configured grant configured with harq-ProcID-Offset2, the HARQ Process ID associated with the first symbol of a UL transmission is derived from the following equation:
HARQ Process ID = [nrofSlotsInCG-Period × floor (CURRENT_symbol / periodicity) + ID_OFFSET] modulo nrofHARQ-Processes + harq-ProcID-Offset2
where, if cg-SDT-PeriodicityExt (as defined in TS 38.331) is not configured, CURRENT_symbol = (SFN × numberOfSlotsPerFrame × numberOfSymbolsPerSlot + slot number in the frame × numberOfSymbolsPerSlot + symbol number in the slot), and numberOfSlotsPerFrame and numberOfSymbolsPerSlot refer to the number of consecutive slots per frame and the number of consecutive symbols per slot, respectively as specified in TS 38.211; alternatively, if cg-SDT-PeriodicityExt (as defined in TS 38.331) is configured, CURRENT_symbol = ((H-SFN × numberOfSFNperH-SFN + SFN) × numberOfSlotsPerFrame × numberOfSymbolsPerSlot + slot number in the frame × numberOfSymbolsPerSlot + symbol number in the slot), and numberOfSFNperH-SFN, numberOfSlotsPerFrame and numberOfSymbolsPerSlot refer to the number of consecutive frames per H-SFN, the number of consecutive slots per frame and the number of consecutive symbols per slot, respectively as specified in TS 38.211. For a multi-PUSCH configured grant, ID_OFFSET equals 0 for the first configured uplink grant within a periodicity of the configuration and K for the Kth (1 ≤ K < nrofSlotsInCG-Period) valid configured uplink grant after the first configured uplink grant within the same periodicity. A configured uplink grant in a multi-PUSCH configured grant is considered valid if it satisfies the conditions specified in clause 6.1 in TS 38.214.
For configured uplink grants configured with cg-RetransmissionTimer, the UE implementation selects an HARQ Process ID among the HARQ process IDs available for the configured grant configuration. If the MAC entity is configured with intraCG-Prioritization, for HARQ Process ID selection, the UE shall prioritize the HARQ Process ID with the highest priority, where the priority of HARQ process is determined by the highest priority among priorities of the logical channels that are multiplexed (i.e. the MAC PDU to transmit is already stored in the HARQ buffer) or have data available that can be multiplexed (i.e. the MAC PDU to transmit is not stored in the HARQ buffer) in the MAC PDU, according to the mapping restrictions as described in clause 5.4.3.1.2. If the MAC entity is configured with intraCG-Prioritization, for HARQ Process ID selection among initial transmission and retransmission with equal priority, the UE shall prioritize retransmissions before initial transmissions. The priority of a HARQ Process for which no data for logical channels is multiplexed or can be multiplexed in the MAC PDU is lower than the priority of a HARQ Process for which data for any logical channels is multiplexed or can be multiplexed in the MAC PDU. If the MAC entity is not configured with intraCG-Prioritization, for HARQ Process ID selection, the UE shall prioritize retransmissions before initial transmissions. The UE shall toggle the NDI in the CG-UCI for new transmissions and not toggle the NDI in the CG-UCI in retransmissions.
For the MAC entity configured with lch-basedPrioritization, priority of an uplink grant is determined by the highest priority among priorities of the logical channels that are multiplexed (i.e. the MAC PDU to transmit is already stored in the HARQ buffer) or have data available that can be multiplexed (i.e. the MAC PDU to transmit is not stored in the HARQ buffer) in the MAC PDU, according to the mapping restrictions as described in clause 5.4.3.1.2. The priority of an uplink grant for which no data for logical channels is multiplexed or can be multiplexed in the MAC PDU is lower than either the priority of an uplink grant for which data for any logical channels is multiplexed or can be multiplexed in the MAC PDU or the priority of the logical channel triggering an SR.
For the MAC entity configured with lch-basedPrioritization, if the corresponding PUSCH transmission of a configured uplink grant is cancelled by CI-RNTI as specified in clause 11.2A of TS 38.213 or cancelled by a high PHY-priority PUCCH transmission as specified in clause 9 of TS 38.213, this configured uplink grant is considered as a de-prioritized uplink grant. If this de-prioritized uplink grant is configured with autonomousTx, the configuredGrantTimer for the corresponding HARQ process of this de-prioritized uplink grant shall be stopped if it is running. If this de-prioritized uplink grant is configured with autonomousTx, the cg-RetransmissionTimer for the corresponding HARQ process of this de-prioritized uplink grant shall be stopped if it is running.
When the MAC entity is configured with lch-basedPrioritization, for each uplink grant delivered to the HARQ entity and whose associated PUSCH can be transmitted by lower layers, the MAC entity shall:
1 >
if this uplink grant is received in a Random Access Response (i.e. in a MAC RAR or fallback RAR), or addressed to Temporary C-RNTI, or is determined as specified in clause 5.1.2a for the transmission of the MSGA payload:
2 >
consider this uplink grant as a prioritized uplink grant.
1 >
else if this uplink grant is addressed to CS-RNTI with NDI = 1 or C-RNTI:
2 >
if there is no overlapping PUSCH duration of a configured uplink grant which was not already de-prioritized, in the same BWP, whose priority is higher than the priority of the uplink grant; and
2 >
if there is no overlapping PUCCH resource with an SR transmission which was not already de-prioritized and the simultaneous transmission of the SR and the uplink grant is not allowed by configuration of simultaneousPUCCH-PUSCH or simultaneousPUCCH-PUSCH-SecondaryPUCCHgroup or simultaneousSR-PUSCH-diffPUCCH-Groups or simultaneousPUCCH-PUSCH-SamePriority or simultaneousPUCCH-PUSCH-SamePriority-SecondaryPUCCHgroup, and the priority of the logical channel that triggered the SR is higher than the priority of the uplink grant:
3 >
consider this uplink grant as a prioritized uplink grant;
3 >
consider the other overlapping uplink grant(s), if any, as a de-prioritized uplink grant(s);
3 >
consider the other overlapping SR transmission(s), if any, as a de-prioritized SR transmission(s), except for the SR transmission(s) whose simultaneous transmission is allowed by configuration of simultaneousPUCCH-PUSCH or simultaneousPUCCH-PUSCH-SecondaryPUCCHgroup or simultaneousSR-PUSCH-diffPUCCH-Groups or simultaneousPUCCH-PUSCH-SamePriority or simultaneousPUCCH-PUSCH-SamePriority-SecondaryPUCCHgroup;
3 >
if the de-prioritized uplink grant(s) is a configured uplink grant configured with autonomousTx whose PUSCH has already started:
4 >
stop the configuredGrantTimer for the corresponding HARQ process of the de-prioritized uplink grant(s);
4 >
stop the cg-RetransmissionTimer for the corresponding HARQ process of the de-prioritized uplink grant(s).
1 >
else if this uplink grant is a configured uplink grant:
2 >
if there is no overlapping PUSCH duration of another configured uplink grant which was not already de-prioritized, in the same BWP, whose priority is higher than the priority of the uplink grant; and
2 >
if there is no overlapping PUSCH duration of an uplink grant addressed to CS-RNTI with NDI = 1 or C-RNTI which was not already de-prioritized, in the same BWP, whose priority is higher than or equal to the priority of the uplink grant; and
2 >
if there is no overlapping PUCCH resource with an SR transmission which was not already de-prioritized and the simultaneous transmission of the SR and the uplink grant is not allowed by configuration of simultaneousPUCCH-PUSCH or simultaneousPUCCH-PUSCH-SecondaryPUCCHgroup or simultaneousSR-PUSCH-diffPUCCH-Groups or simultaneousPUCCH-PUSCH-SamePriority or simultaneousPUCCH-PUSCH-SamePriority-SecondaryPUCCHgroup, and the priority of the logical channel that triggered the SR is higher than the priority of the uplink grant:
3 >
consider this uplink grant as a prioritized uplink grant;
3 >
consider the other overlapping uplink grant(s), if any, as a de-prioritized uplink grant(s);
3 >
if the de-prioritized uplink grant(s) is a configured uplink grant configured with autonomousTx whose PUSCH has already started:
4 >
stop the configuredGrantTimer for the corresponding HARQ process of the de-prioritized uplink grant(s);
4 >
stop the cg-RetransmissionTimer for the corresponding HARQ process of the de-prioritized uplink grant(s).
3 >
consider the other overlapping SR transmission(s), if any, as a de-prioritized SR transmission(s), except for the SR transmission(s) whose simultaneous transmission is allowed by configuration of simultaneousPUCCH-PUSCH or simultaneousPUCCH-PUSCH-SecondaryPUCCHgroup or simultaneousSR-PUSCH-diffPUCCH-Groups or simultaneousPUCCH-PUSCH-SamePriority or simultaneousPUCCH-PUSCH-SamePriority-SecondaryPUCCHgroup.
The MAC entity includes a HARQ entity for each Serving Cell with configured uplink (including the case when it is configured with supplementaryUplink), which maintains a number of parallel HARQ processes.
The number of parallel UL HARQ processes per HARQ entity is specified in TS 38.214.
Each HARQ process supports one or two TBs.
Each HARQ process is associated with a HARQ process identifier. For UL transmission with UL grant in RA Response or for UL transmission for MSGA payload, HARQ process identifier 0 is used.
The maximum number of transmissions of a TB within a bundle of the dynamic grant or configured grant or the uplink grant received in a MAC RAR is given by REPETITION_NUMBER as follows:
For a dynamic grant, REPETITION_NUMBER is set to a value provided by lower layers, as specified in clause 6.1.2.1 of TS 38.214;
For a configured grant, REPETITION_NUMBER is set to a value provided by lower layers, as specified in clause 6.1.2.3 of TS 38.214;
For an uplink grant received in a MAC RAR, REPETITION_NUMBER is set to a value provided by lower layers, as specified in clause 6.1.2.1 of TS 38.214.
If REPETITION_NUMBER > 1, after the first transmission within a bundle, at most REPETITION_NUMBER - 1 HARQ retransmissions follow within the bundle. For both dynamic grant and configured uplink grant, and uplink grant received in a MAC RAR bundling operation relies on the HARQ entity for invoking the same HARQ process for each transmission that is part of the same bundle. Within a bundle, HARQ retransmissions are triggered without waiting for feedback from previous transmission according to REPETITION_NUMBER for a dynamic grant or configured uplink grant or uplink grant received in a MAC RAR unless they are terminated as specified in clause 6.1 of TS 38.214. Each transmission within a bundle is a separate uplink grant delivered to the HARQ entity.
For each transmission within a bundle of the dynamic grant or uplink grant received in a MAC RAR, the sequence of redundancy versions is determined according to clause 6.1.2.1 of TS 38.214. For each transmission within a bundle of the configured uplink grant, the sequence of redundancy versions is determined according to clause 6.1.2.3 of TS 38.214.
For each uplink grant, the HARQ entity shall:
1 >
identify the HARQ process associated with this grant, and for each identified HARQ process:
2 >
if the received grant was not addressed to a Temporary C-RNTI on PDCCH, and the NDI provided in the associated HARQ information has been toggled compared to the value in the previous transmission of this TB of this HARQ process; or
2 >
if the uplink grant was received on PDCCH for the C-RNTI and the HARQ buffer of the identified process is empty; or
2 >
if the uplink grant was received in a Random Access Response (i.e. in a MAC RAR or a fallback RAR); or
2 >
if the uplink grant was determined as specified in clause 5.1.2a for the transmission of the MSGA payload; or
2 >
if the uplink grant was received on PDCCH for the C-RNTI in ra-ResponseWindow and this PDCCH successfully completed the Random Access procedure initiated for beam failure recovery; or
2 >
if the uplink grant is part of a bundle of the configured uplink grant, and may be used for initial transmission according to clause 6.1.2.3 of TS 38.214, and if no MAC PDU has been obtained for this bundle:
3 >
if there is a MAC PDU in the MSGA buffer and the uplink grant determined as specified in clause 5.1.2a for the transmission of the MSGA payload was selected; or
3 >
if there is a MAC PDU in the MSGA buffer and the uplink grant was received in a fallbackRAR and this fallbackRAR successfully completed the Random Access procedure:
4 >
obtain the MAC PDU to transmit from the MSGA buffer.
3 >
else if there is a MAC PDU in the Msg3 buffer and the uplink grant was received in a fallbackRAR:
4 >
obtain the MAC PDU to transmit from the Msg3 buffer.
3 >
else if there is a MAC PDU in the Msg3 buffer and the uplink grant was received in a MAC RAR; or
3 >
if there is a MAC PDU in the Msg3 buffer and the uplink grant was received on PDCCH for the C-RNTI in ra-ResponseWindow and this PDCCH successfully completed the Random Access procedure initiated for beam failure recovery:
4 >
obtain the MAC PDU to transmit from the Msg3 buffer.
4 >
if the uplink grant size does not match with size of the obtained MAC PDU; and
4 >
if the Random Access procedure was successfully completed upon receiving the uplink grant:
5 >
indicate to the Multiplexing and assembly entity to include MAC subPDU(s) carrying MAC SDU from the obtained MAC PDU in the subsequent uplink transmission;
5 >
obtain the MAC PDU to transmit from the Multiplexing and assembly entity.
3 >
else if this uplink grant is a configured grant configured with autonomousTx; and
3 >
if the previous configured uplink grant, in the BWP, for this HARQ process was not prioritized; and
3 >
if a MAC PDU had already been obtained for this HARQ process; and
3 >
if the uplink grant size matches with size of the obtained MAC PDU; and
3 >
if none of PUSCH transmission(s) of the obtained MAC PDU has been completely performed:
4 >
consider the MAC PDU has been obtained.
3 >
else if the MAC entity is not configured with lch-basedPrioritization; or
3 >
if this uplink grant is a prioritized uplink grant:
4 >
obtain the MAC PDU to transmit from the Multiplexing and assembly entity, if any;
3 >
if a MAC PDU to transmit has been obtained:
4 >
if the uplink grant is not a configured grant configured with autonomousTx; or
4 >
if the uplink grant is a prioritized uplink grant:
5 >
deliver the MAC PDU and the uplink grant and the HARQ information of the TB to the identified HARQ process;
5 >
instruct the identified HARQ process to trigger a new transmission;
5 >
if the uplink grant is a configured uplink grant:
6 >
start or restart the configuredGrantTimer, if configured, for the corresponding HARQ process when the transmission is performed if LBT failure indication is not received from lower layers;
6 >
start or restart the cg-RetransmissionTimer, if configured, for the corresponding HARQ process when the transmission is performed if LBT failure indication is not received from lower layers.
6 >
if the configured uplink grant is for the initial transmission for CG-SDT with CCCH message:
7 >
start or restart the cg-SDT-RetransmissionTimer, if configured, for the corresponding HARQ process when the transmission is performed.
6 >
if the configured uplink grant is for the initial transmission at RACH-less LTM cell switch; or
6 >
if the configured uplink grant is for the initial transmission of RACH-less handover:
7 >
start or restart the cg-RRC-RetransmissionTimer, if configured, for the corresponding HARQ process when the transmission is performed.
5 >
if the uplink grant is addressed to C-RNTI, and the identified HARQ process is configured for a configured uplink grant:
6 >
start or restart the configuredGrantTimer, if configured, for the corresponding HARQ process when the transmission is performed if LBT failure indication is not received from lower layers.
5 >
if cg-RetransmissionTimer is configured for the identified HARQ process; and
5 >
if the transmission is performed and LBT failure indication is received from lower layers:
6 >
consider the identified HARQ process as pending.
3 >
else:
4 >
flush the HARQ buffer of the identified HARQ process.
2 >
else (i.e. retransmission):
3 >
if the uplink grant received on PDCCH was addressed to CS-RNTI and if the HARQ buffer of the identified process is empty; or
3 >
if the uplink grant is part of a bundle and if no MAC PDU has been obtained for this bundle; or
3 >
if the uplink grant is part of a bundle of the configured uplink grant, and the PUSCH duration of the uplink grant overlaps with an uplink grant received in a Random Access Response (i.e. MAC RAR or fallbackRAR) or an uplink grant determined as specified in clause 5.1.2a for MSGA payload for this Serving Cell; or
3 >
if the MAC entity is not configured with lch-basedPrioritization and the BWP is not configured with sTx-2Panel, and if this uplink grant is part of a bundle of the configured uplink grant and the PUSCH duration of the uplink grant overlaps with a PUSCH duration of another uplink grant received on the PDCCH; or
3 >
if the MAC entity is not configured with lch-basedPrioritization and the BWP is configured with sTx-2Panel, and if this uplink grant is part of a bundle of the configured uplink grant associated with an srs-ResourceSetId corresponding to a coresetPoolIndex, and the PUSCH duration of the uplink grant overlaps with a PUSCH duration of another uplink grant received on the PDCCH associated with the same coresetPoolIndex; or
3 >
if the MAC entity is configured with lch-basedPrioritization and this uplink grant is not a prioritized uplink grant:
4 >
ignore the uplink grant.
3 >
else:
4 >
deliver the uplink grant and the HARQ information (redundancy version) of the TB to the identified HARQ process;
4 >
instruct the identified HARQ process to trigger a retransmission;
4 >
if the uplink grant is addressed to CS-RNTI; or
4 >
if the uplink grant is addressed to C-RNTI, and the identified HARQ process is configured for a configured uplink grant:
5 >
start or restart the configuredGrantTimer, if configured, for the corresponding HARQ process when the transmission is performed if LBT failure indication is not received from lower layers.
4 >
if the uplink grant is a configured uplink grant:
5 >
if the identified HARQ process is pending:
6 >
start or restart the configuredGrantTimer, if configured, for the corresponding HARQ process when the transmission is performed if LBT failure indication is not received from lower layers;
5 >
start or restart the cg-RetransmissionTimer, if configured, for the corresponding HARQ process when the transmission is performed if LBT failure indication is not received from lower layers.
5 >
if the configured uplink grant is for the retransmission of the initial transmission of the CG-SDT with CCCH message:
6 >
start or restart the cg-SDT-RetransmissionTimer for the corresponding HARQ process when transmission is performed.
5 >
if the configured uplink grant is for the retransmission of the initial transmission of RACH-less handover or RACH-less LTM cell switch:
6 >
start or restart the cg-RRC-RetransmissionTimer for the corresponding HARQ process when transmission is performed.
4 >
if the identified HARQ process is pending and the transmission is performed and LBT failure indication is not received from lower layers:
5 >
consider the identified HARQ process as not pending.
When determining if NDI has been toggled compared to the value in the previous transmission the MAC entity shall ignore NDI received in all uplink grants on PDCCH for its Temporary C-RNTI.
When configuredGrantTimer or cg-RetransmissionTimer or cg-SDT-RetransmissionTimer or cg-RRC-RetransmissionTimer is started or restarted by a PUSCH transmission, it shall be started at the beginning of the first symbol of the PUSCH transmission.
Each HARQ process is associated with a HARQ buffer.
New transmissions are performed on the resource and with the MCS indicated on PDCCH or indicated in the Random Access Response (i.e. MAC RAR or fallbackRAR), or signalled in RRC or determined as specified in clause 5.1.2a for MSGA payload. Retransmissions are performed on the resource and, if provided, with the MCS indicated on PDCCH, or on the same resource and with the same MCS as was used for last made transmission attempt within a bundle, or on stored configured uplink grant resources and stored MCS when cg-RetransmissionTimer or cg-SDT-RetransmissionTimer or cg-RRC-RetransmissionTimer is configured. If cg-RetransmissionTimer is configured, retransmissions with the same HARQ process may be performed on any configured grant configuration if the configured grant configurations have the same TBS. If cg-SDT-RetransmissionTimer is configured, retransmission for the initial CG-SDT transmission with the same HARQ process may be performed on any configured grant configuration if the configured grant configurations have the same TBS.
When cg-RetransmissionTimer is configured and the HARQ entity obtains a MAC PDU to transmit and LBT failure indication is received from lower layer, the corresponding HARQ process is considered to be pending. For a configured uplink grant, configured with cg-RetransmissionTimer, each associated HARQ process is considered as not pending when:
a transmission is performed on that HARQ process and LBT failure indication is not received from lower layers; or
the configured uplink grant is initialised and this HARQ process is not associated with another active configured uplink grant; or
the HARQ buffer for this HARQ process is flushed.
If the HARQ entity requests a new transmission for a TB, the HARQ process shall:
1 >
store the MAC PDU in the associated HARQ buffer;
1 >
store the uplink grant received from the HARQ entity;
1 >
generate a transmission as described below.
If the HARQ entity requests a retransmission for a TB, the HARQ process shall:
1 >
store the uplink grant received from the HARQ entity;
1 >
generate a transmission as described below.
To generate a transmission for a TB, the HARQ process shall:
1 >
if the MAC PDU was obtained from the Msg3 buffer; or
1 >
if the MAC PDU was obtained from the MSGA buffer; or
1 >
if there is no measurement gap at the time of the transmission and, in case of retransmission, the retransmission does not collide with a transmission for a MAC PDU obtained from the Msg3 buffer or the MSGA buffer:
2 >
if there are neither NR sidelink transmission nor transmission of V2X sidelink communication at the time of the transmission; or
2 >
if the transmission of the MAC PDU is prioritized over sidelink transmission or can be simultaneously performed with sidelink transmission:
3 >
instruct the physical layer to generate a transmission according to the stored uplink grant.
If a HARQ process receives downlink feedback information, the HARQ process shall:
1 >
stop the cg-RetransmissionTimer, if running;
1 >
if acknowledgement is indicated:
2 >
stop the configuredGrantTimer, if running.
If the configuredGrantTimer expires for a HARQ process, the HARQ process shall:
1 >
stop the cg-RetransmissionTimer, if running;
1 >
stop the cg-SDT-RetransmissionTimer, if running.
1 >
stop the cg-RRC-RetransmissionTimer, if running;
1 >
if a PDCCH addressed to the MAC entity's C-RNTI has not been received after initial transmission for the CG-SDT with CCCH message to which the configuredGrantTimer corresponds:
2 >
indicate failure to perform SDT procedure to the upper layer.
The transmission of the MAC PDU is prioritized over sidelink transmission or can be performed simultaneously with sidelink transmission if one of the following conditions is met:
if there are both a sidelink grant for NR sidelink transmissionand configured grant(s) for transmission of V2X sidelink communication on SL-SCH as determined in clause 5.14.1.2.2 of TS 36.321 at the time of the transmission, and neither the NR sidelink transmission is prioritized as determined in clause 5.22.1.3.1a nor the transmission(s) of V2X sidelink communication is prioritized as determined in clause 5.14.1.2.2 of TS 36.321; or
if there are both a sidelink grant NR sidelink transmission and configured grant(s) for transmission of V2X sidelink communication on SL-SCH as determined in clause 5.14.1.2.2 of TS 36.321 at the time of the transmission, and the MAC entity is able to perform this UL transmission simultaneously with the NR sidelink transmission and/or the transmission(s) of V2X sidelink communication; or
if there is only configured grant(s) for transmission of V2X sidelink communication on SL-SCH as determined in clause 5.14.1.2.2 of TS 36.321 at the time of the transmission, and either none of the transmission(s) of V2X sidelink communication is prioritized as determined in clause 5.14.1.2.2 of TS 36.321 or the MAC entity is able to perform this UL transmission simultaneously with the transmission(s) of V2X sidelink communication; or
if there is only a sidelink grant for NR sidelink transmission at the time of the transmission, and if the NR sidelink transmission is not prioritized as determined in clause 5.22.1.3.1a, or there is a sidelink grant for NR sidelink transmission at the time of the transmission and the MAC entity is able to perform this UL transmission simultaneously with the NR sidelink transmission; or
if there are both a sidelink grant for NR sidelink transmission and configured grant(s) for transmission of V2X sidelink communication on SL-SCH as determined in clause 5.14.1.2.2 of TS 36.321 at the time of the transmission, and either only the of NR sidelink transmission is prioritized as determined in clause 5.22.1.3.1a or only the transmission(s) of V2X sidelink communication is prioritized as determined in clause 5.14.1.2.2 of TS 36.321 and the MAC entity is able to perform this UL transmission simultaneously with the prioritized NR sidelink transmission or the transmission of V2X sidelink communication:
The Logical Channel Prioritization (LCP) procedure is applied whenever a new transmission is performed.
RRC controls the scheduling of uplink data by signalling for each logical channel per MAC entity:
priority where an increasing priority value indicates a lower priority level;
prioritisedBitRate which sets the Prioritized Bit Rate (PBR);
bucketSizeDuration which sets the Bucket Size Duration (BSD).
RRC additionally controls the LCP procedure by configuring mapping restrictions for each logical channel:
allowedSCS-List which sets the allowed Subcarrier Spacing(s) for transmission;
maxPUSCH-Duration which sets the maximum PUSCH duration allowed for transmission;
configuredGrantType1Allowed which sets whether a configured grant Type 1 can be used for transmission;
allowedServingCells which sets the allowed cell(s) for transmission;
allowedCG-List which sets the allowed configured grant(s) for transmission;
allowedPHY-PriorityIndex which sets the allowed PHY priority index(es) of a dynamic grant for transmission;
allowedHARQ-mode which sets the allowed UL HARQ mode for transmission.
The following UE variable is used for the Logical channel prioritization procedure:
Bj which is maintained for each logical channel j.
The MAC entity shall initialize Bj of the logical channel to zero when the logical channel is established.
For each logical channel j, the MAC entity shall:
1 >
increment Bj by the product PBR × T before every instance of the LCP procedure, where T is the time elapsed since Bj was last incremented;
1 >
if the value of Bj is greater than the bucket size (i.e. PBR × BSD):
The MAC entity shall, when a new transmission is performed:
1 >
select the logical channels for each UL grant that satisfy all the following conditions:
2 >
the set of allowed Subcarrier Spacing index values in allowedSCS-List, if configured, includes the Subcarrier Spacing index associated to the UL grant; and
2 >
maxPUSCH-Duration, if configured, is larger than or equal to the PUSCH transmission duration associated to the UL grant; and
2 >
configuredGrantType1Allowed, if configured, is set to true in case the UL grant is a Configured Grant Type 1; and
2 >
allowedServingCells, if configured, includes the Cell information associated to the UL grant. Does not apply to logical channels associated with a DRB configured with PDCP duplication within the same MAC entity (i.e. CA duplication) when CA duplication is deactivated for this DRB in this MAC entity; and
2 >
allowedCG-List, if configured, includes the configured grant index associated to the UL grant; and
2 >
allowedPHY-PriorityIndex, if configured, includes the priority index (as specified in clause 9 of TS 38.213) associated to the dynamic UL grant; and
2 >
allowedHARQ-mode, if configured, includes the allowed UL HARQ mode for the HARQ process associated to the UL grant.
Before the successful completion of the Random Access procedure initiated for DAPS handover, the target MAC entity shall not select the logical channel(s) corresponding to non-DAPS DRB(s) for the uplink grant received in a Random Access Response or the uplink grant for the transmission of the MSGA payload. The source MAC entity shall select only the logical channel(s) corresponding to DAPS DRB(s) during DAPS handover.
The MAC entity shall, when a new transmission is performed:
1 >
allocate resources to the logical channels as follows:
2 >
logical channels selected in clause 5.4.3.1.2 for the UL grant with Bj > 0 are allocated resources in a decreasing priority order. If the PBR of a logical channel is set to infinity, the MAC entity shall allocate resources for all the data that is available for transmission on the logical channel before meeting the PBR of the lower priority logical channel(s);
2 >
decrement Bj by the total size of MAC SDUs served to logical channel j above;
2 >
if any resources remain, all the logical channels selected in clause 5.4.3.1.2 are served in a strict decreasing priority order (regardless of the value of Bj) until either the data for that logical channel or the UL grant is exhausted, whichever comes first. Logical channels configured with equal priority should be served equally.
If the MAC entity is requested to simultaneously transmit multiple MAC PDUs, or if the MAC entity receives the multiple UL grants within one or more coinciding PDCCH occasions (i.e. on different Serving Cells), it is up to UE implementation in which order the grants are processed.
The UE shall also follow the rules below during the scheduling procedures above:
the UE should not segment an RLC SDU (or partially transmitted SDU or retransmitted RLC PDU) if the whole SDU (or partially transmitted SDU or retransmitted RLC PDU) fits into the remaining resources of the associated MAC entity;
if the UE segments an RLC SDU from the logical channel, it shall maximize the size of the segment to fill the grant of the associated MAC entity as much as possible;
the UE should maximise the transmission of data;
if the MAC entity is given a UL grant size that is equal to or larger than 8 bytes (when eLCID is not used) or 10 bytes (when eLCID is used) while having data available and allowed (according to clause 5.4.3.1) for transmission, the MAC entity shall not transmit only padding BSR and/or padding.
The MAC entity shall:
1 >
if the MAC entity is configured with enhancedSkipUplinkTxDynamic with value true and the grant indicated to the HARQ entity was addressed to a C-RNTI, or if the MAC entity is configured with enhancedSkipUplinkTxConfigured with value true and the grant indicated to the HARQ entity is a configured uplink grant:
2 >
if there is no UCI to be multiplexed on this PUSCH transmission as specified in TS 38.213; and
2 >
if there is no aperiodic CSI requested for this PUSCH transmission as specified in TS 38.212; and
2 >
if the MAC PDU includes zero MAC SDUs; and
2 >
if the MAC PDU includes only the periodic BSR and there is no data available for any LCG, or the MAC PDU includes only the padding BSR:
3 >
not generate a MAC PDU for the HARQ entity.
1 >
else if the MAC entity is configured with skipUplinkTxDynamic with value true and the grant indicated to the HARQ entity was addressed to a C-RNTI, or the grant indicated to the HARQ entity is a configured uplink grant:
2 >
if there is no aperiodic CSI requested for this PUSCH transmission as specified in TS 38.212; and
2 >
if the MAC PDU includes zero MAC SDUs; and
2 >
if the MAC PDU includes only the periodic BSR and there is no data available for any LCG, or the MAC PDU includes only the padding BSR:
3 >
not generate a MAC PDU for the HARQ entity.
Logical channels shall be prioritised in accordance with the following order (highest priority listed first):
MAC CE for C-RNTI, or data from UL-CCCH;
MAC CE for (Enhanced) BFR, or MAC CE for Configured Grant Confirmation, or MAC CE for Multiple Entry Configured Grant Confirmation;
MAC CE for Sidelink Configured Grant Confirmation;
MAC CE for LBT failure;
MAC CE for SL LBT failure according to clause 5.31.2;
MAC CE for (Extended) BSR, with exception of BSR included for padding;
MAC CE for (Enhanced) Single Entry PHR, or MAC CE for (Enhanced) Multiple Entry PHR or MAC CE for Single Entry PHR with assumed PUSCH, or MAC CE for Multiple Entry PHR with assumed PUSCH, or MAC CE for Enhanced Single Entry PHR for multiple TRP or MAC CE for Enhanced Multiple Entry PHR for multiple TRP, or MAC CE for Enhanced Single Entry PHR for multiple TRP STx2P or MAC CE for Enhanced Multiple Entry PHR for multiple TRP STx2P;
MAC CE for Positioning Measurement Gap Activation/Deactivation Request;
MAC CE for the number of Desired Guard Symbols;
MAC CE for Case-6 Timing Request;
MAC CE for (Extended) Pre-emptive BSR;
MAC CE for SL-BSR, with exception of SL-BSR prioritized according to clause 5.22.1.6 and SL-BSR included for padding;
MAC CE for IAB-MT Recommended Beam Indication, or MAC CE for Desired IAB-MT PSD range, or MAC CE for Desired DL Tx Power Adjustment;
data from any Logical Channel, except data from UL-CCCH;
MAC CE for Recommended bit rate query;
MAC CE for BSR included for padding;
MAC CE for SL-BSR included for padding.
The MAC entity shall prioritize any MAC CE listed in a higher order than 'data from any Logical Channel, except data from UL-CCCH' over NR sidelink transmission.