From a8703d3ce9e55b5f3a05e3cc59417c6ab3ed39b3 Mon Sep 17 00:00:00 2001
From: francescomani <francesco.mani@eurecom.fr>
Date: Fri, 10 Sep 2021 11:55:57 +0200
Subject: [PATCH] moving get_coreset_rballoc to nr_common

---
 cmake_targets/CMakeLists.txt                  |  1 -
 common/utils/nr/nr_common.c                   | 24 +++++++
 common/utils/nr/nr_common.h                   |  1 +
 openair1/PHY/NR_TRANSPORT/nr_dci.c            |  1 +
 openair1/PHY/NR_TRANSPORT/nr_dci.h            |  2 -
 openair1/PHY/NR_TRANSPORT/nr_dci_tools.c      |  1 +
 .../PHY/NR_TRANSPORT/nr_dci_tools_common.c    | 62 -------------------
 openair1/PHY/NR_UE_TRANSPORT/dci_nr.c         |  2 +-
 .../PHY/NR_UE_TRANSPORT/nr_initial_sync.c     |  1 +
 9 files changed, 29 insertions(+), 66 deletions(-)
 delete mode 100644 openair1/PHY/NR_TRANSPORT/nr_dci_tools_common.c

diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt
index 9592334125..4b038f346e 100644
--- a/cmake_targets/CMakeLists.txt
+++ b/cmake_targets/CMakeLists.txt
@@ -1744,7 +1744,6 @@ set(PHY_SRC_UE
 
   set(PHY_NR_SRC_COMMON
   ${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_prach_common.c
-  ${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_dci_tools_common.c
   )
 
   set(PHY_NR_SRC
diff --git a/common/utils/nr/nr_common.c b/common/utils/nr/nr_common.c
index 8ba4633604..b4c8c77753 100644
--- a/common/utils/nr/nr_common.c
+++ b/common/utils/nr/nr_common.c
@@ -231,6 +231,30 @@ uint32_t nr_get_code_rate(uint8_t Imcs, uint8_t table_idx) {
 }
 
 
+void get_coreset_rballoc(uint8_t *FreqDomainResource,int *n_rb,int *rb_offset) {
+
+  uint8_t count=0, start=0, start_set=0;
+
+  uint64_t bitmap = (((uint64_t)FreqDomainResource[0])<<37)|
+    (((uint64_t)FreqDomainResource[1])<<29)|
+    (((uint64_t)FreqDomainResource[2])<<21)|
+    (((uint64_t)FreqDomainResource[3])<<13)|
+    (((uint64_t)FreqDomainResource[4])<<5)|
+    (((uint64_t)FreqDomainResource[5])>>3);
+
+  for (int i=0; i<45; i++)
+    if ((bitmap>>(44-i))&1) {
+      count++;
+      if (!start_set) {
+        start = i;
+        start_set = 1;
+      }
+    }
+  *rb_offset = 6*start;
+  *n_rb = 6*count;
+}
+
+
 int get_dmrs_port(int nl, uint16_t dmrs_ports) {
 
   if (dmrs_ports == 0) return 0; // dci 1_0
diff --git a/common/utils/nr/nr_common.h b/common/utils/nr/nr_common.h
index b3d2469a12..58e59b663c 100644
--- a/common/utils/nr/nr_common.h
+++ b/common/utils/nr/nr_common.h
@@ -50,6 +50,7 @@ typedef struct nr_bandentry_s {
 extern const size_t nr_bandtable_size;
 extern nr_bandentry_t nr_bandtable[];
 
+void get_coreset_rballoc(uint8_t *FreqDomainResource,int *n_rb,int *rb_offset);
 uint16_t get_band(uint64_t downlink_frequency, int32_t delta_duplex);
 int NRRIV2BW(int locationAndBandwidth,int N_RB);
 int NRRIV2PRBOFFSET(int locationAndBandwidth,int N_RB);
diff --git a/openair1/PHY/NR_TRANSPORT/nr_dci.c b/openair1/PHY/NR_TRANSPORT/nr_dci.c
index 54e6b2ac79..cfba7ae638 100644
--- a/openair1/PHY/NR_TRANSPORT/nr_dci.c
+++ b/openair1/PHY/NR_TRANSPORT/nr_dci.c
@@ -35,6 +35,7 @@
 #include "nr_dlsch.h"
 #include "nr_sch_dmrs.h"
 #include "PHY/MODULATION/nr_modulation.h"
+#include "common/utils/nr/nr_common.h"
 
 //#define DEBUG_PDCCH_DMRS
 //#define DEBUG_DCI
diff --git a/openair1/PHY/NR_TRANSPORT/nr_dci.h b/openair1/PHY/NR_TRANSPORT/nr_dci.h
index e3b53f9cf9..07baaf2728 100644
--- a/openair1/PHY/NR_TRANSPORT/nr_dci.h
+++ b/openair1/PHY/NR_TRANSPORT/nr_dci.h
@@ -59,6 +59,4 @@ void nr_fill_ul_dci(PHY_VARS_gNB *gNB,
 
 void nr_fill_cce_list(PHY_VARS_gNB *gNB, uint8_t m,nfapi_nr_dl_tti_pdcch_pdu_rel15_t *);
 
-void get_coreset_rballoc(uint8_t *FreqDomainResource,int *n_rb,int *rb_offset);
-
 #endif //__PHY_NR_TRANSPORT_DCI__H
diff --git a/openair1/PHY/NR_TRANSPORT/nr_dci_tools.c b/openair1/PHY/NR_TRANSPORT/nr_dci_tools.c
index c562dfaa41..7df5a8c1c0 100644
--- a/openair1/PHY/NR_TRANSPORT/nr_dci_tools.c
+++ b/openair1/PHY/NR_TRANSPORT/nr_dci_tools.c
@@ -31,6 +31,7 @@
  */
 
 #include "nr_dci.h"
+#include "common/utils/nr/nr_common.h"
 
 //#define DEBUG_FILL_DCI
 
diff --git a/openair1/PHY/NR_TRANSPORT/nr_dci_tools_common.c b/openair1/PHY/NR_TRANSPORT/nr_dci_tools_common.c
deleted file mode 100644
index d26a52f157..0000000000
--- a/openair1/PHY/NR_TRANSPORT/nr_dci_tools_common.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The OpenAirInterface Software Alliance licenses this file to You under
- * the OAI Public License, Version 1.1  (the "License"); you may not use this file
- * except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.openairinterface.org/?page_id=698
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *-------------------------------------------------------------------------------
- * For more information about the OpenAirInterface (OAI) Software Alliance:
- *      contact@openairinterface.org
- */
-
-/*! \file PHY/NR_TRANSPORT/nr_dci_tools_common.c
- * \brief
- * \author
- * \date 2018
- * \version 0.1
- * \company Eurecom
- * \email:
- * \note
- * \warning
- */
-
-#include "nr_dci.h"
-
-//#define DEBUG_FILL_DCI
-
-#include "nr_dlsch.h"
-
-
-void get_coreset_rballoc(uint8_t *FreqDomainResource,int *n_rb,int *rb_offset) {
-
-  uint8_t count=0, start=0, start_set=0;
-
-  uint64_t bitmap = (((uint64_t)FreqDomainResource[0])<<37)|
-    (((uint64_t)FreqDomainResource[1])<<29)|
-    (((uint64_t)FreqDomainResource[2])<<21)|
-    (((uint64_t)FreqDomainResource[3])<<13)|
-    (((uint64_t)FreqDomainResource[4])<<5)|
-    (((uint64_t)FreqDomainResource[5])>>3);
-  
-  for (int i=0; i<45; i++)
-    if ((bitmap>>(44-i))&1) {
-      count++;
-      if (!start_set) {
-        start = i;
-        start_set = 1;
-      }
-    }
-  *rb_offset = 6*start;
-  *n_rb = 6*count;
-}
-
diff --git a/openair1/PHY/NR_UE_TRANSPORT/dci_nr.c b/openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
index aa8588f106..cafb2e233b 100644
--- a/openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
+++ b/openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
@@ -45,7 +45,7 @@
 #include "PHY/phy_extern_nr_ue.h"
 #include "PHY/CODING/coding_extern.h"
 #include "PHY/sse_intrin.h"
-#include "PHY/NR_TRANSPORT/nr_dci.h"
+#include "common/utils/nr/nr_common.h"
 
 #include "assertions.h"
 #include "T.h"
diff --git a/openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c b/openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
index 7dfd765b76..9c7a7dd343 100644
--- a/openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
+++ b/openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
@@ -38,6 +38,7 @@
 #include "PHY/NR_UE_ESTIMATION/nr_estimation.h"
 #include "SCHED_NR_UE/defs.h"
 #include "common/utils/LOG/vcd_signal_dumper.h"
+#include "common/utils/nr/nr_common.h"
 
 #include "common_lib.h"
 #include <math.h>
-- 
2.26.2