fixeria has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmo-bts/+/38815?usp=email )
Change subject: csd_v110: add CSD_V110_NUM_BITS macro
......................................................................
csd_v110: add CSD_V110_NUM_BITS macro
Change-Id: Iabd2ee5ea9d580e0a6f5c93d681f6be67d1949c5
---
M include/osmo-bts/csd_v110.h
M src/common/csd_v110.c
M src/common/l1sap.c
M tests/csd/csd_test.c
4 files changed, 8 insertions(+), 5 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/15/38815/1
diff --git a/include/osmo-bts/csd_v110.h b/include/osmo-bts/csd_v110.h
index 7d67ff0..d2a27b3 100644
--- a/include/osmo-bts/csd_v110.h
+++ b/include/osmo-bts/csd_v110.h
@@ -13,6 +13,9 @@
extern const struct csd_v110_lchan_desc csd_v110_lchan_desc[256];
+#define CSD_V110_NUM_BITS(desc) \
+ ((desc)->num_blocks * (desc)->num_bits)
+
int csd_v110_rtp_encode(const struct gsm_lchan *lchan, uint8_t *rtp,
const uint8_t *data, size_t data_len,
uint8_t nt48_half_num);
diff --git a/src/common/csd_v110.c b/src/common/csd_v110.c
index f60624f..4d7ee4f 100644
--- a/src/common/csd_v110.c
+++ b/src/common/csd_v110.c
@@ -92,7 +92,7 @@
return -ENOTSUP;
/* handle empty/incomplete Uplink frames gracefully */
- if (OSMO_UNLIKELY(data_len < (desc->num_blocks * desc->num_bits))) {
+ if (OSMO_UNLIKELY(data_len < CSD_V110_NUM_BITS(desc))) {
/* encode N idle frames as per 3GPP TS 44.021, section 8.1.6 */
memset(&ra_bits[0], 0x01, sizeof(ra_bits));
for (unsigned int i = 0; i < desc->num_blocks; i++)
@@ -200,5 +200,5 @@
if (align_bits)
*align_bits = align_accum;
- return desc->num_blocks * desc->num_bits;
+ return CSD_V110_NUM_BITS(desc);
}
diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index 18d7d93..09f6a90 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -1528,7 +1528,7 @@
gsm_fn2gsmtime(&g_time, fn);
desc = &csd_v110_lchan_desc[lchan->tch_mode];
- bits_per_20ms = desc->num_blocks * desc->num_bits;
+ bits_per_20ms = CSD_V110_NUM_BITS(desc);
OSMO_ASSERT(bits_per_20ms != 0);
for (i = 0; i < ARRAY_SIZE(input_msg); i++) {
@@ -2172,7 +2172,7 @@
int rc, i;
desc = &csd_v110_lchan_desc[lchan->tch_mode];
- bits_per_20ms = desc->num_blocks * desc->num_bits;
+ bits_per_20ms = CSD_V110_NUM_BITS(desc);
OSMO_ASSERT(bits_per_20ms != 0);
if (data_len != bits_per_20ms * 2) {
diff --git a/tests/csd/csd_test.c b/tests/csd/csd_test.c
index e52bde2..c46bbd9 100644
--- a/tests/csd/csd_test.c
+++ b/tests/csd/csd_test.c
@@ -104,7 +104,7 @@
desc = &csd_v110_lchan_desc[tc->tch_mode];
/* total number of bits carried by a radio interface block */
- const unsigned int bit_num = desc->num_bits * desc->num_blocks;
+ const unsigned int bit_num = CSD_V110_NUM_BITS(desc);
if (bit_num == 0) {
fprintf(stderr, "[i] Skipping '%s' (not implemented)\n",
tc->name);
return;
--
To view, visit
https://gerrit.osmocom.org/c/osmo-bts/+/38815?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: Iabd2ee5ea9d580e0a6f5c93d681f6be67d1949c5
Gerrit-Change-Number: 38815
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>