diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-07-08 12:53:16 +0200 |
---|---|---|
committer | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-07-16 10:25:14 +0200 |
commit | 47a57f6f869f19704bbb993fc157a86fd0c85e58 (patch) | |
tree | 81a749e414cea4a732e1eccd513f5548d87488bb /src/bts.h | |
parent | 61205a7e6539b3926c3039e8dcabda6aa9b408ef (diff) |
pdch: Manage TFIs per direction
Currently a single bit set is used to maintain a set of used TFI
without distinguishing between uplink and downlink. Since the
namespaces of UL and DL TFI are separate, this implementation is
not correct.
This commit changes gprs_rlcmac_pdch to use a separate bit set for
each direction. It also replace the corresponding conditional fprintf
statement in check_tfi_usage (AllocTest.cpp) by an equivalent
OSMO_ASSERT.
Sponsored-by: On-Waves ehf
Diffstat (limited to 'src/bts.h')
-rw-r--r-- | src/bts.h | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -77,7 +77,7 @@ struct gprs_rlcmac_pdch { unsigned num_reserved(enum gprs_rlcmac_tbf_direction dir) const; uint8_t assigned_usf() const; - uint32_t assigned_tfi() const; + uint32_t assigned_tfi(enum gprs_rlcmac_tbf_direction dir) const; #endif uint8_t m_is_enabled; /* TS is enabled */ @@ -109,7 +109,7 @@ private: uint8_t m_num_tbfs[2]; uint8_t m_num_reserved[2]; uint8_t m_assigned_usf; /* bit set */ - uint32_t m_assigned_tfi; /* bit set */ + uint32_t m_assigned_tfi[2]; /* bit set */ }; struct gprs_rlcmac_trx { @@ -343,9 +343,10 @@ inline uint8_t gprs_rlcmac_pdch::assigned_usf() const return m_assigned_usf; } -inline uint32_t gprs_rlcmac_pdch::assigned_tfi() const +inline uint32_t gprs_rlcmac_pdch::assigned_tfi( + enum gprs_rlcmac_tbf_direction dir) const { - return m_assigned_tfi; + return m_assigned_tfi[dir]; } inline struct rate_ctr_group *BTS::rate_counters() const |