<p>pespin <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-pcu/+/23911">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  fixeria: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">doc/tbf.txt: Update and improve some information<br><br>Change-Id: I3cd643ef462637708c69895c62c488554a428571<br>---<br>M doc/tbf.txt<br>1 file changed, 24 insertions(+), 10 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/doc/tbf.txt b/doc/tbf.txt</span><br><span>index 9d0db1a..f5b39c5 100644</span><br><span>--- a/doc/tbf.txt</span><br><span>+++ b/doc/tbf.txt</span><br><span>@@ -117,13 +117,17 @@</span><br><span> </span><br><span> Polling:</span><br><span>   In order to poll uplink control block from MS, a special poll state and</span><br><span style="color: hsl(0, 100%, 40%);">-  frame number is stored at TBF. The scheduler reads that value and will not</span><br><span style="color: hsl(0, 100%, 40%);">-  assign uplink resource for other TBFs at that frame number.</span><br><span style="color: hsl(120, 100%, 40%);">+  frame number is stored at PDCH UL Controller. The scheduler reads that value</span><br><span style="color: hsl(120, 100%, 40%);">+  and will not assign uplink resource for other TBFs at that frame number.</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  When there is no uplink transmission received on the block, a timeout is</span><br><span style="color: hsl(0, 100%, 40%);">-  indicated by layer 1 interface. There are two ways of checking timeout:</span><br><span style="color: hsl(0, 100%, 40%);">-   - The received frame is bad (BFI).</span><br><span style="color: hsl(0, 100%, 40%);">-   - The GSM indicates that the block should have been already received.</span><br><span style="color: hsl(120, 100%, 40%);">+  On receipt of an Uplink RLCMAC block, it's the duty of each specific message</span><br><span style="color: hsl(120, 100%, 40%);">+  handler to release the expectancies previously stored in the PDCH UL</span><br><span style="color: hsl(120, 100%, 40%);">+  Controller. After the specific handler returns, the generic return path will</span><br><span style="color: hsl(120, 100%, 40%);">+  expire all reserved events up to the curent FN for that PDCH, eventually</span><br><span style="color: hsl(120, 100%, 40%);">+  calling timeout functions on TBFs and SBAs owning those reservations. Hence,</span><br><span style="color: hsl(120, 100%, 40%);">+  the layer 1 interface is expected to provide DATA.ind for each FN block,</span><br><span style="color: hsl(120, 100%, 40%);">+  containing data=0 if decoding failed, in order to keep the clock up-to-date in</span><br><span style="color: hsl(120, 100%, 40%);">+  upper layers.</span><br><span> </span><br><span>   Because polling requires uplink response from MS, the polling must be</span><br><span>   performed at control TS.</span><br><span>@@ -131,13 +135,21 @@</span><br><span> </span><br><span> Data structures of TBFs and PDCHs:</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  There is a global structure for BTS.</span><br><span style="color: hsl(120, 100%, 40%);">+  There is a global structure for PCU (struct gprs_pcu the_pcu).</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  The BTS structure has 8 TRX structures.</span><br><span style="color: hsl(120, 100%, 40%);">+  A BTS is created and put into PCU's list for each PCUIF INFO_IND with a unique</span><br><span style="color: hsl(120, 100%, 40%);">+  bts_nr received.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  Each BTS structure has 8 TRX structures.</span><br><span> </span><br><span>   Each TRX structure has 8 PDCH structures, one for each timeslot.</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  There are two linked lists of TBF instances:</span><br><span style="color: hsl(120, 100%, 40%);">+  Each BTS structure has a list of MS (struct GprsMs).</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  Each MS can have 1 UL TBF and 1 DL TBF, and 1 TBF is always assigned to an</span><br><span style="color: hsl(120, 100%, 40%);">+  existing GprsMS structure.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  Each BTS also has two linked lists of TBF instances:</span><br><span>    - uplink TBFs</span><br><span>    - downlink TBFs</span><br><span> </span><br><span>@@ -158,4 +170,6 @@</span><br><span>   On release of a TBF, the link to this PDCH is removed from all assigned</span><br><span>   PDCHs. The TBF is removed from the list of TBFs. The TBF is destroyed.</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(120, 100%, 40%);">+  GprsMs structures are kept alive for a while once they become unused, in order to</span><br><span style="color: hsl(120, 100%, 40%);">+  have a cache of MS related information it would otherwise need to acquire</span><br><span style="color: hsl(120, 100%, 40%);">+  again once it interacts with the PCU again.</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-pcu/+/23911">change 23911</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-pcu/+/23911"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-pcu </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I3cd643ef462637708c69895c62c488554a428571 </div>
<div style="display:none"> Gerrit-Change-Number: 23911 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>