summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2022-07-04 22:25:27 +0700
committerVadim Yanitskiy <vyanitskiy@sysmocom.de>2022-07-11 05:12:16 +0700
commiteff2d52e759400848ff4716dd9a32874927a38d9 (patch)
tree27c9752c38210a3d702eb6f1070d17a983e9396e
parent38373ee20f04ff6f5292477b8b8722ad0f4c2e0e (diff)
trxcon: merge 'sched_trx.h' and 'scheduler.h' into 'l1sched.h'
-rw-r--r--src/host/trxcon/include/osmocom/bb/trxcon/Makefile.am3
-rw-r--r--src/host/trxcon/include/osmocom/bb/trxcon/l1sched.h (renamed from src/host/trxcon/include/osmocom/bb/trxcon/sched_trx.h)33
-rw-r--r--src/host/trxcon/include/osmocom/bb/trxcon/scheduler.h38
-rw-r--r--src/host/trxcon/include/osmocom/bb/trxcon/trx_if.h3
-rw-r--r--src/host/trxcon/src/l1ctl.c2
-rw-r--r--src/host/trxcon/src/sched_clck.c2
-rw-r--r--src/host/trxcon/src/sched_lchan_common.c3
-rw-r--r--src/host/trxcon/src/sched_lchan_desc.c2
-rw-r--r--src/host/trxcon/src/sched_lchan_pdtch.c3
-rw-r--r--src/host/trxcon/src/sched_lchan_rach.c3
-rw-r--r--src/host/trxcon/src/sched_lchan_sch.c3
-rw-r--r--src/host/trxcon/src/sched_lchan_tchf.c3
-rw-r--r--src/host/trxcon/src/sched_lchan_tchh.c3
-rw-r--r--src/host/trxcon/src/sched_lchan_xcch.c3
-rw-r--r--src/host/trxcon/src/sched_mframe.c2
-rw-r--r--src/host/trxcon/src/sched_prim.c3
-rw-r--r--src/host/trxcon/src/sched_trx.c3
-rw-r--r--src/host/trxcon/src/trx_if.c1
-rw-r--r--src/host/trxcon/src/trxcon.c3
19 files changed, 48 insertions, 68 deletions
diff --git a/src/host/trxcon/include/osmocom/bb/trxcon/Makefile.am b/src/host/trxcon/include/osmocom/bb/trxcon/Makefile.am
index e5065202..4463a1db 100644
--- a/src/host/trxcon/include/osmocom/bb/trxcon/Makefile.am
+++ b/src/host/trxcon/include/osmocom/bb/trxcon/Makefile.am
@@ -2,8 +2,7 @@ noinst_HEADERS = \
l1ctl_proto.h \
l1ctl_link.h \
l1ctl.h \
- scheduler.h \
- sched_trx.h \
+ l1sched.h \
trx_if.h \
logging.h \
trxcon.h \
diff --git a/src/host/trxcon/include/osmocom/bb/trxcon/sched_trx.h b/src/host/trxcon/include/osmocom/bb/trxcon/l1sched.h
index c2649de2..f4cce2c9 100644
--- a/src/host/trxcon/include/osmocom/bb/trxcon/sched_trx.h
+++ b/src/host/trxcon/include/osmocom/bb/trxcon/l1sched.h
@@ -1,5 +1,6 @@
#pragma once
+#include <time.h>
#include <stdint.h>
#include <stdbool.h>
@@ -7,10 +8,11 @@
#include <osmocom/core/utils.h>
#include <osmocom/gsm/protocol/gsm_04_08.h>
#include <osmocom/gsm/gsm_utils.h>
+#include <osmocom/gsm/gsm0502.h>
#include <osmocom/core/linuxlist.h>
+#include <osmocom/core/timer.h>
#include <osmocom/bb/trxcon/logging.h>
-#include <osmocom/bb/trxcon/scheduler.h>
#define GSM_BURST_LEN 148
#define GSM_BURST_PL_LEN 116
@@ -41,9 +43,15 @@
/* Forward declaration to avoid mutual include */
struct l1sched_lchan_state;
struct l1sched_meas_set;
+struct l1sched_state;
struct trx_instance;
struct l1sched_ts;
+enum l1sched_clck_state {
+ L1SCHED_CLCK_ST_WAIT,
+ L1SCHED_CLCK_ST_OK,
+};
+
enum l1sched_burst_type {
L1SCHED_BURST_GMSK,
L1SCHED_BURST_8PSK,
@@ -301,6 +309,26 @@ struct l1sched_ts_prim {
uint8_t payload[0];
};
+/*! One scheduler instance */
+struct l1sched_state {
+ /*! Clock state */
+ enum l1sched_clck_state state;
+ /*! Local clock source */
+ struct timespec clock;
+ /*! Count of processed frames */
+ uint32_t fn_counter_proc;
+ /*! Local frame counter advance */
+ uint32_t fn_counter_advance;
+ /*! Count of lost frames */
+ uint32_t fn_counter_lost;
+ /*! Frame callback timer */
+ struct osmo_timer_list clock_timer;
+ /*! Frame callback */
+ void (*clock_cb)(struct l1sched_state *sched);
+ /*! Private data (e.g. pointer to trx instance) */
+ void *data;
+};
+
extern const struct l1sched_lchan_desc l1sched_lchan_desc[_L1SCHED_CHAN_MAX];
const struct l1sched_tdma_multiframe *l1sched_mframe_layout(
enum gsm_phys_chan_config config, int tn);
@@ -413,3 +441,6 @@ bool l1sched_tchh_block_map_fn(enum l1sched_lchan_type chan,
/* Measurement history */
void l1sched_lchan_meas_push(struct l1sched_lchan_state *lchan, const struct l1sched_meas_set *meas);
void l1sched_lchan_meas_avg(struct l1sched_lchan_state *lchan, unsigned int n);
+
+int l1sched_clck_handle(struct l1sched_state *sched, uint32_t fn);
+void l1sched_clck_reset(struct l1sched_state *sched);
diff --git a/src/host/trxcon/include/osmocom/bb/trxcon/scheduler.h b/src/host/trxcon/include/osmocom/bb/trxcon/scheduler.h
deleted file mode 100644
index 7e6b092b..00000000
--- a/src/host/trxcon/include/osmocom/bb/trxcon/scheduler.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#pragma once
-
-#include <stdint.h>
-#include <time.h>
-
-#include <osmocom/core/timer.h>
-#include <osmocom/gsm/gsm0502.h>
-
-enum l1sched_clck_state {
- L1SCHED_CLCK_ST_WAIT,
- L1SCHED_CLCK_ST_OK,
-};
-
-/* Forward structure declaration */
-struct l1sched_state;
-
-/*! One scheduler instance */
-struct l1sched_state {
- /*! Clock state */
- enum l1sched_clck_state state;
- /*! Local clock source */
- struct timespec clock;
- /*! Count of processed frames */
- uint32_t fn_counter_proc;
- /*! Local frame counter advance */
- uint32_t fn_counter_advance;
- /*! Count of lost frames */
- uint32_t fn_counter_lost;
- /*! Frame callback timer */
- struct osmo_timer_list clock_timer;
- /*! Frame callback */
- void (*clock_cb)(struct l1sched_state *sched);
- /*! Private data (e.g. pointer to trx instance) */
- void *data;
-};
-
-int l1sched_clck_handle(struct l1sched_state *sched, uint32_t fn);
-void l1sched_clck_reset(struct l1sched_state *sched);
diff --git a/src/host/trxcon/include/osmocom/bb/trxcon/trx_if.h b/src/host/trxcon/include/osmocom/bb/trxcon/trx_if.h
index 511101a0..033eaa3c 100644
--- a/src/host/trxcon/include/osmocom/bb/trxcon/trx_if.h
+++ b/src/host/trxcon/include/osmocom/bb/trxcon/trx_if.h
@@ -5,8 +5,7 @@
#include <osmocom/core/timer.h>
#include <osmocom/core/fsm.h>
-#include <osmocom/bb/trxcon/scheduler.h>
-#include <osmocom/bb/trxcon/sched_trx.h>
+#include <osmocom/bb/trxcon/l1sched.h>
#define TRXC_BUF_SIZE 1024
#define TRXD_BUF_SIZE 512
diff --git a/src/host/trxcon/src/l1ctl.c b/src/host/trxcon/src/l1ctl.c
index 20bd6463..980ac49e 100644
--- a/src/host/trxcon/src/l1ctl.c
+++ b/src/host/trxcon/src/l1ctl.c
@@ -40,7 +40,7 @@
#include <osmocom/bb/trxcon/l1ctl_proto.h>
#include <osmocom/bb/trxcon/trx_if.h>
-#include <osmocom/bb/trxcon/sched_trx.h>
+#include <osmocom/bb/trxcon/l1sched.h>
static const char *arfcn2band_name(uint16_t arfcn)
{
diff --git a/src/host/trxcon/src/sched_clck.c b/src/host/trxcon/src/sched_clck.c
index b7bb88d6..5fb8d623 100644
--- a/src/host/trxcon/src/sched_clck.c
+++ b/src/host/trxcon/src/sched_clck.c
@@ -38,7 +38,7 @@
#include <osmocom/core/timer_compat.h>
#include <osmocom/gsm/a5.h>
-#include <osmocom/bb/trxcon/scheduler.h>
+#include <osmocom/bb/trxcon/l1sched.h>
#include <osmocom/bb/trxcon/logging.h>
#include <osmocom/bb/trxcon/trx_if.h>
diff --git a/src/host/trxcon/src/sched_lchan_common.c b/src/host/trxcon/src/sched_lchan_common.c
index 600977c4..c2d79de6 100644
--- a/src/host/trxcon/src/sched_lchan_common.c
+++ b/src/host/trxcon/src/sched_lchan_common.c
@@ -37,8 +37,7 @@
#include <osmocom/gsm/protocol/gsm_08_58.h>
#include <osmocom/bb/trxcon/l1ctl_proto.h>
-#include <osmocom/bb/trxcon/scheduler.h>
-#include <osmocom/bb/trxcon/sched_trx.h>
+#include <osmocom/bb/trxcon/l1sched.h>
#include <osmocom/bb/trxcon/logging.h>
#include <osmocom/bb/trxcon/trxcon.h>
#include <osmocom/bb/trxcon/trx_if.h>
diff --git a/src/host/trxcon/src/sched_lchan_desc.c b/src/host/trxcon/src/sched_lchan_desc.c
index 0ec4d84a..96a70920 100644
--- a/src/host/trxcon/src/sched_lchan_desc.c
+++ b/src/host/trxcon/src/sched_lchan_desc.c
@@ -26,7 +26,7 @@
#include <osmocom/gsm/protocol/gsm_08_58.h>
#include <osmocom/core/gsmtap.h>
-#include <osmocom/bb/trxcon/sched_trx.h>
+#include <osmocom/bb/trxcon/l1sched.h>
/* Forward declaration of handlers */
int rx_data_fn(struct trx_instance *trx, struct l1sched_ts *ts,
diff --git a/src/host/trxcon/src/sched_lchan_pdtch.c b/src/host/trxcon/src/sched_lchan_pdtch.c
index d3486b91..6063438b 100644
--- a/src/host/trxcon/src/sched_lchan_pdtch.c
+++ b/src/host/trxcon/src/sched_lchan_pdtch.c
@@ -31,8 +31,7 @@
#include <osmocom/coding/gsm0503_coding.h>
#include <osmocom/bb/trxcon/l1ctl_proto.h>
-#include <osmocom/bb/trxcon/scheduler.h>
-#include <osmocom/bb/trxcon/sched_trx.h>
+#include <osmocom/bb/trxcon/l1sched.h>
#include <osmocom/bb/trxcon/logging.h>
#include <osmocom/bb/trxcon/trx_if.h>
#include <osmocom/bb/trxcon/l1ctl.h>
diff --git a/src/host/trxcon/src/sched_lchan_rach.c b/src/host/trxcon/src/sched_lchan_rach.c
index 0e8d7503..ffec1d05 100644
--- a/src/host/trxcon/src/sched_lchan_rach.c
+++ b/src/host/trxcon/src/sched_lchan_rach.c
@@ -31,8 +31,7 @@
#include <osmocom/coding/gsm0503_coding.h>
#include <osmocom/bb/trxcon/l1ctl_proto.h>
-#include <osmocom/bb/trxcon/scheduler.h>
-#include <osmocom/bb/trxcon/sched_trx.h>
+#include <osmocom/bb/trxcon/l1sched.h>
#include <osmocom/bb/trxcon/logging.h>
#include <osmocom/bb/trxcon/trx_if.h>
#include <osmocom/bb/trxcon/l1ctl.h>
diff --git a/src/host/trxcon/src/sched_lchan_sch.c b/src/host/trxcon/src/sched_lchan_sch.c
index b9356ebb..59f1691c 100644
--- a/src/host/trxcon/src/sched_lchan_sch.c
+++ b/src/host/trxcon/src/sched_lchan_sch.c
@@ -32,8 +32,7 @@
#include <osmocom/coding/gsm0503_coding.h>
#include <osmocom/bb/trxcon/l1ctl_proto.h>
-#include <osmocom/bb/trxcon/scheduler.h>
-#include <osmocom/bb/trxcon/sched_trx.h>
+#include <osmocom/bb/trxcon/l1sched.h>
#include <osmocom/bb/trxcon/logging.h>
#include <osmocom/bb/trxcon/trx_if.h>
#include <osmocom/bb/trxcon/l1ctl.h>
diff --git a/src/host/trxcon/src/sched_lchan_tchf.c b/src/host/trxcon/src/sched_lchan_tchf.c
index 0772e17f..fe7370ea 100644
--- a/src/host/trxcon/src/sched_lchan_tchf.c
+++ b/src/host/trxcon/src/sched_lchan_tchf.c
@@ -33,8 +33,7 @@
#include <osmocom/codec/codec.h>
#include <osmocom/bb/trxcon/l1ctl_proto.h>
-#include <osmocom/bb/trxcon/scheduler.h>
-#include <osmocom/bb/trxcon/sched_trx.h>
+#include <osmocom/bb/trxcon/l1sched.h>
#include <osmocom/bb/trxcon/logging.h>
#include <osmocom/bb/trxcon/trx_if.h>
#include <osmocom/bb/trxcon/l1ctl.h>
diff --git a/src/host/trxcon/src/sched_lchan_tchh.c b/src/host/trxcon/src/sched_lchan_tchh.c
index ffeb6f87..706b74af 100644
--- a/src/host/trxcon/src/sched_lchan_tchh.c
+++ b/src/host/trxcon/src/sched_lchan_tchh.c
@@ -36,8 +36,7 @@
#include <osmocom/codec/codec.h>
#include <osmocom/bb/trxcon/l1ctl_proto.h>
-#include <osmocom/bb/trxcon/scheduler.h>
-#include <osmocom/bb/trxcon/sched_trx.h>
+#include <osmocom/bb/trxcon/l1sched.h>
#include <osmocom/bb/trxcon/logging.h>
#include <osmocom/bb/trxcon/trx_if.h>
#include <osmocom/bb/trxcon/l1ctl.h>
diff --git a/src/host/trxcon/src/sched_lchan_xcch.c b/src/host/trxcon/src/sched_lchan_xcch.c
index 71eeae38..758f41fe 100644
--- a/src/host/trxcon/src/sched_lchan_xcch.c
+++ b/src/host/trxcon/src/sched_lchan_xcch.c
@@ -31,8 +31,7 @@
#include <osmocom/coding/gsm0503_coding.h>
#include <osmocom/bb/trxcon/l1ctl_proto.h>
-#include <osmocom/bb/trxcon/scheduler.h>
-#include <osmocom/bb/trxcon/sched_trx.h>
+#include <osmocom/bb/trxcon/l1sched.h>
#include <osmocom/bb/trxcon/logging.h>
#include <osmocom/bb/trxcon/trx_if.h>
#include <osmocom/bb/trxcon/l1ctl.h>
diff --git a/src/host/trxcon/src/sched_mframe.c b/src/host/trxcon/src/sched_mframe.c
index fb8840ec..857755bd 100644
--- a/src/host/trxcon/src/sched_mframe.c
+++ b/src/host/trxcon/src/sched_mframe.c
@@ -25,7 +25,7 @@
#include <osmocom/gsm/gsm_utils.h>
-#include <osmocom/bb/trxcon/sched_trx.h>
+#include <osmocom/bb/trxcon/l1sched.h>
/* Non-combined CCCH */
static const struct l1sched_tdma_frame frame_bcch[51] = {
diff --git a/src/host/trxcon/src/sched_prim.c b/src/host/trxcon/src/sched_prim.c
index 7cda9d7b..64517f57 100644
--- a/src/host/trxcon/src/sched_prim.c
+++ b/src/host/trxcon/src/sched_prim.c
@@ -29,8 +29,7 @@
#include <osmocom/gsm/protocol/gsm_04_08.h>
-#include <osmocom/bb/trxcon/scheduler.h>
-#include <osmocom/bb/trxcon/sched_trx.h>
+#include <osmocom/bb/trxcon/l1sched.h>
#include <osmocom/bb/trxcon/trx_if.h>
#include <osmocom/bb/trxcon/logging.h>
diff --git a/src/host/trxcon/src/sched_trx.c b/src/host/trxcon/src/sched_trx.c
index 04be66cd..c34e2b70 100644
--- a/src/host/trxcon/src/sched_trx.c
+++ b/src/host/trxcon/src/sched_trx.c
@@ -32,8 +32,7 @@
#include <osmocom/core/linuxlist.h>
#include <osmocom/bb/trxcon/l1ctl_proto.h>
-#include <osmocom/bb/trxcon/scheduler.h>
-#include <osmocom/bb/trxcon/sched_trx.h>
+#include <osmocom/bb/trxcon/l1sched.h>
#include <osmocom/bb/trxcon/trx_if.h>
#include <osmocom/bb/trxcon/logging.h>
diff --git a/src/host/trxcon/src/trx_if.c b/src/host/trxcon/src/trx_if.c
index e2239968..a251da0b 100644
--- a/src/host/trxcon/src/trx_if.c
+++ b/src/host/trxcon/src/trx_if.c
@@ -43,7 +43,6 @@
#include <osmocom/bb/trxcon/trxcon.h>
#include <osmocom/bb/trxcon/trx_if.h>
#include <osmocom/bb/trxcon/logging.h>
-#include <osmocom/bb/trxcon/scheduler.h>
static struct value_string trx_evt_names[] = {
{ 0, NULL } /* no events? */
diff --git a/src/host/trxcon/src/trxcon.c b/src/host/trxcon/src/trxcon.c
index b47e307c..08050d37 100644
--- a/src/host/trxcon/src/trxcon.c
+++ b/src/host/trxcon/src/trxcon.c
@@ -45,8 +45,7 @@
#include <osmocom/bb/trxcon/l1ctl.h>
#include <osmocom/bb/trxcon/l1ctl_link.h>
#include <osmocom/bb/trxcon/l1ctl_proto.h>
-#include <osmocom/bb/trxcon/scheduler.h>
-#include <osmocom/bb/trxcon/sched_trx.h>
+#include <osmocom/bb/trxcon/l1sched.h>
#define COPYRIGHT \
"Copyright (C) 2016-2020 by Vadim Yanitskiy <axilirator@gmail.com>\n" \