Skip to content

Commit a4001f7

Browse files
committed
sched: use search space 1 when not in fallback mode
1 parent b2f59f8 commit a4001f7

File tree

3 files changed

+16
-30
lines changed

3 files changed

+16
-30
lines changed

lib/scheduler/ue_scheduling/ue_cell.cpp

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -198,19 +198,6 @@ get_prioritized_search_spaces(const ue_cell& ue_cc,
198198
{
199199
static_vector<const search_space_info*, MAX_NOF_SEARCH_SPACE_PER_BWP> active_search_spaces;
200200

201-
// Case of retransmission of HARQ scheduled using fallback DCI format.
202-
// As per TS 38.213, the UE monitors PDCCH candidates for DCI format 0_0 and DCI format 1_0 with CRC scrambled by the
203-
// C-RNTI, the MCS-C-RNTI, or the CS-RNTI in the one or more search space sets in a slot where the UE monitors PDCCH
204-
// candidates for at least a DCI format 0_0 or a DCI format 1_0 with CRC scrambled by SI-RNTI, RA-RNTI or P-RNTI.
205-
if (dci_type.has_value() and
206-
((is_dl and static_cast<dci_dl_rnti_config_type>(dci_type.value()) == dci_dl_rnti_config_type::c_rnti_f1_0) or
207-
(not is_dl and
208-
static_cast<dci_ul_rnti_config_type>(dci_type.value()) == dci_ul_rnti_config_type::c_rnti_f0_0))) {
209-
for (const auto ss_id : ue_cc.cfg().get_sib1_other_si_ra_pg_ss_ids()) {
210-
active_search_spaces.push_back(&ue_cc.cfg().search_space(ss_id));
211-
}
212-
}
213-
214201
// Get all Search Spaces configured in PDCCH-Config for active BWP.
215202
// See TS 38.213, A UE monitors PDCCH candidates in one or more of the following search spaces sets:
216203
// - a Type3-PDCCH CSS set configured by SearchSpace in PDCCH-Config with searchSpaceType = common for DCI formats
@@ -226,6 +213,22 @@ get_prioritized_search_spaces(const ue_cell& ue_cc,
226213
}
227214
}
228215

216+
// As per TS 38.213, the UE monitors PDCCH candidates for DCI format 0_0 and DCI format 1_0 with CRC scrambled by the
217+
// C-RNTI, the MCS-C-RNTI, or the CS-RNTI in the one or more search space sets in a slot where the UE monitors PDCCH
218+
// candidates for at least a DCI format 0_0 or a DCI format 1_0 with CRC scrambled by SI-RNTI, RA-RNTI or P-RNTI.
219+
// [Implementation-defined] We exclude SearchSpace#0 to avoid the complexity of computing the SearchSpace#0 PDCCH
220+
// candidates monitoring occasions associated with a SS/PBCH block as mentioned in TS 38.213, clause 10.1.
221+
if (ue_cc.cfg().cell_cfg_common.dl_cfg_common.init_dl_bwp.pdcch_common.ra_search_space_id != to_search_space_id(0)) {
222+
active_search_spaces.push_back(&ue_cc.cfg().search_space(
223+
ue_cc.cfg().cell_cfg_common.dl_cfg_common.init_dl_bwp.pdcch_common.ra_search_space_id));
224+
}
225+
if (ue_cc.cfg().cell_cfg_common.dl_cfg_common.init_dl_bwp.pdcch_common.paging_search_space_id.has_value() and
226+
ue_cc.cfg().cell_cfg_common.dl_cfg_common.init_dl_bwp.pdcch_common.paging_search_space_id.value() !=
227+
to_search_space_id(0)) {
228+
active_search_spaces.push_back(&ue_cc.cfg().search_space(
229+
ue_cc.cfg().cell_cfg_common.dl_cfg_common.init_dl_bwp.pdcch_common.paging_search_space_id.value()));
230+
}
231+
229232
// Sort search spaces by priority.
230233
auto sort_ss = [&ue_cc, is_dl](const search_space_info* lhs, const search_space_info* rhs) {
231234
// NOTE: It does not matter whether we use lhs or rhs SearchSpace to get the aggregation level as we are sorting not

lib/scheduler/ue_scheduling/ue_configuration.cpp

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -573,14 +573,6 @@ ue_cell_configuration::ue_cell_configuration(rnti_t crnti_,
573573
{
574574
// Apply UE-dedicated Config.
575575
reconfigure(serv_cell_cfg_);
576-
577-
std::set<search_space_id> ss_id_set;
578-
ss_id_set.emplace(cell_cfg_common.dl_cfg_common.init_dl_bwp.pdcch_common.sib1_search_space_id);
579-
ss_id_set.emplace(cell_cfg_common.dl_cfg_common.init_dl_bwp.pdcch_common.ra_search_space_id);
580-
if (cell_cfg_common.dl_cfg_common.init_dl_bwp.pdcch_common.paging_search_space_id.has_value()) {
581-
ss_id_set.emplace(cell_cfg_common.dl_cfg_common.init_dl_bwp.pdcch_common.paging_search_space_id.value());
582-
}
583-
sib1_other_si_ra_pg_ss_ids.assign(ss_id_set.begin(), ss_id_set.end());
584576
}
585577

586578
void ue_cell_configuration::reconfigure(const serving_cell_config& cell_cfg_ded_req)

lib/scheduler/ue_scheduling/ue_configuration.h

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
#include "srsran/ran/pdcch/cce_to_prb_mapping.h"
1818
#include "srsran/ran/pdcch/pdcch_candidates.h"
1919
#include "srsran/scheduler/config/bwp_configuration.h"
20-
#include <set>
2120

2221
namespace srsran {
2322

@@ -139,10 +138,6 @@ class ue_cell_configuration
139138
/// Get the number of active DL ports for this UE.
140139
unsigned get_nof_dl_ports() const { return nof_dl_ports; }
141140

142-
/// Get the ids of search space sets where the UE monitors PDCCH candidates for DCI with CRC scrambled by SI-RNTI,
143-
/// RA-RNTI and P-RNTI.
144-
span<const search_space_id> get_sib1_other_si_ra_pg_ss_ids() const { return sib1_other_si_ra_pg_ss_ids; }
145-
146141
private:
147142
void configure_bwp_common_cfg(bwp_id_t bwpid, const bwp_downlink_common& bwp_dl_common);
148143
void configure_bwp_common_cfg(bwp_id_t bwpid, const bwp_uplink_common& bwp_ul_common);
@@ -168,10 +163,6 @@ class ue_cell_configuration
168163

169164
/// Number of DL ports for this UE.
170165
unsigned nof_dl_ports = 1;
171-
172-
/// Ids of search space sets where the UE monitors PDCCH candidates for DCI with CRC scrambled by SI-RNTI, RA-RNTI and
173-
/// P-RNTI.
174-
std::vector<search_space_id> sib1_other_si_ra_pg_ss_ids;
175166
};
176167

177168
} // namespace srsran

0 commit comments

Comments
 (0)