summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/include
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2010-09-23 21:05:18 +0200
committerHarald Welte <laforge@gnumonks.org>2019-05-23 13:03:36 +0200
commitfea9d9e0562d37afeb8f41a799620407667d0e8d (patch)
treecd0c95c95f0bd1a7590299a360b8ebaf82232502 /src/target/firmware/include
parent66e41a35c9c960273336a8edd8b167e61eb643b8 (diff)
[WIP] Change TPU offset on TS change or sync change
When TPU offset must be changed (assignment to different timeslot or handover to a different cell), all tasks will be disabled until new TPU offset has been applied. Currently scheduled tasks are finished before the new TPU offset is applied. On change of TPU offset, the TPU's interrupt may skip one frame when changing backwards in time. Also it may generate two interrupts when changing significantly forward in time. This is compensated by changing the GSM time. Change-Id: If858484a9cf497e0f6e8d84593ab3637c2668869
Diffstat (limited to 'src/target/firmware/include')
-rw-r--r--src/target/firmware/include/layer1/sync.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/target/firmware/include/layer1/sync.h b/src/target/firmware/include/layer1/sync.h
index 3565ee20..7ce87566 100644
--- a/src/target/firmware/include/layer1/sync.h
+++ b/src/target/firmware/include/layer1/sync.h
@@ -72,7 +72,9 @@ struct l1s_state {
/* The current TPU offset register */
uint32_t tpu_offset;
- int32_t tpu_offset_correction;
+ int32_t tpu_offset_correction; /* used for TOA adjustment */
+ int32_t tpu_offset_shift; /* used for TS or sync change */
+ int32_t tpu_offset_changed; /* offset changed at last fiq */
/* TX parameters */
int8_t ta;