diff --git a/lib/include/srslte/phy/phch/dci.h b/lib/include/srslte/phy/phch/dci.h index ee05ef1c3..6d263ffbd 100644 --- a/lib/include/srslte/phy/phch/dci.h +++ b/lib/include/srslte/phy/phch/dci.h @@ -55,7 +55,6 @@ typedef struct { bool cif_present; bool srs_request_enabled; bool ra_format_enabled; - bool search_in_common; } srslte_dci_cfg_t; typedef struct SRSLTE_API { diff --git a/lib/include/srslte/phy/ue/ue_dl.h b/lib/include/srslte/phy/ue/ue_dl.h index 51ec1fe11..e4d5152fd 100644 --- a/lib/include/srslte/phy/ue/ue_dl.h +++ b/lib/include/srslte/phy/ue/ue_dl.h @@ -113,6 +113,7 @@ typedef struct SRSLTE_API { srslte_pdsch_cfg_t pdsch; srslte_dci_cfg_t dci; srslte_tm_t tm; + bool dci_common_ss; } srslte_dl_cfg_t; typedef struct SRSLTE_API { diff --git a/lib/src/phy/ue/ue_dl.c b/lib/src/phy/ue/ue_dl.c index 415e1810b..9919d7134 100644 --- a/lib/src/phy/ue/ue_dl.c +++ b/lib/src/phy/ue/ue_dl.c @@ -575,7 +575,7 @@ int srslte_ue_dl_find_ul_dci(srslte_ue_dl_t* q, } // Search common SS if no DCI present in UE SS - if (ret == 0 && dl_cfg->cfg.dci.search_in_common) { + if (ret == 0 && dl_cfg->cfg.dci_common_ss) { if ((ret = find_dci_ue_ss(q, sf, dl_cfg, rnti, dci_msg, &ul_format, 1, false)) < 0) { return SRSLTE_ERROR; } @@ -629,7 +629,7 @@ static int find_dl_dci_type_crnti(srslte_ue_dl_t* q, } // Search common SS if no DCI present in UE SS - if (dl_cfg->cfg.dci.search_in_common) { + if (dl_cfg->cfg.dci_common_ss) { srslte_dci_format_t common_format = SRSLTE_DCI_FORMAT1A; if ((ret = find_dci_ue_ss(q, sf, dl_cfg, rnti, dci_msg, &common_format, 1, false))) { return ret; diff --git a/srsue/src/phy/sf_worker.cc b/srsue/src/phy/sf_worker.cc index 78cda3840..fb4a29f2d 100644 --- a/srsue/src/phy/sf_worker.cc +++ b/srsue/src/phy/sf_worker.cc @@ -184,12 +184,14 @@ void sf_worker::set_config(uint32_t cc_idx, srslte::phy_cfg_t& phy_cfg) std::lock_guard lock(mutex); if (cc_idx < cc_workers.size()) { Info("Setting configuration for cc_worker=%d, cc=%d\n", get_id(), cc_idx); + // Search common SS in PCell only + if (cc_idx > 0) { + phy_cfg.dl_cfg.dci_common_ss = true; + } cc_workers[cc_idx]->set_config(phy_cfg); if (cc_idx > 0) { // Update DCI config for PCell srslte_dci_cfg_t dci_cfg = phy_cfg.dl_cfg.dci; - // Search common SS in PCell only - dci_cfg.search_in_common = true; cc_workers[0]->upd_config_dci(dci_cfg); } } else {