Change in osmocom-bb[master]: trxcon/scheduler: pass lchan state to sched_prim_dequeue()

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Harald Welte gerrit-no-reply at lists.osmocom.org
Fri Sep 28 09:54:55 UTC 2018


Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/11136 )

Change subject: trxcon/scheduler: pass lchan state to sched_prim_dequeue()
......................................................................

trxcon/scheduler: pass lchan state to sched_prim_dequeue()

Having access to a logical channel state is required by the
follow-up change, which will introduce a separate function
for dequeuing SACCH primitives.

Change-Id: Ibde0acf8e6be224b1007be707a636eaad68c8d36
---
M src/host/trxcon/sched_prim.c
M src/host/trxcon/sched_trx.c
M src/host/trxcon/sched_trx.h
3 files changed, 7 insertions(+), 7 deletions(-)

Approvals:
  Jenkins Builder: Verified
  Pau Espin Pedrol: Looks good to me, but someone else must approve
  Harald Welte: Looks good to me, approved



diff --git a/src/host/trxcon/sched_prim.c b/src/host/trxcon/sched_prim.c
index 6b160d1..e71109b 100644
--- a/src/host/trxcon/sched_prim.c
+++ b/src/host/trxcon/sched_prim.c
@@ -284,17 +284,17 @@
  *
  * @param  queue      a transmit queue to take a prim from
  * @param  fn         the current frame number (used for FACCH/H)
- * @param  lchan_type required primitive type
+ * @param  lchan      logical channel state
  * @return            a primitive or NULL if not found
  */
 struct trx_ts_prim *sched_prim_dequeue(struct llist_head *queue,
-	uint32_t fn, enum trx_lchan_type lchan_type)
+	uint32_t fn, struct trx_lchan_state *lchan)
 {
 	/* There is nothing to dequeue */
 	if (llist_empty(queue))
 		return NULL;
 
-	switch (lchan_type) {
+	switch (lchan->type) {
 	/* TCH/F requires FACCH/F prioritization */
 	case TRXC_TCHF:
 		return prim_dequeue_tch_f(queue);
@@ -302,11 +302,11 @@
 	/* FACCH/H prioritization is a bit more complex */
 	case TRXC_TCHH_0:
 	case TRXC_TCHH_1:
-		return prim_dequeue_tch_h(queue, fn, lchan_type);
+		return prim_dequeue_tch_h(queue, fn, lchan->type);
 
 	/* Other kinds of logical channels */
 	default:
-		return prim_dequeue_one(queue, lchan_type);
+		return prim_dequeue_one(queue, lchan->type);
 	}
 }
 
diff --git a/src/host/trxcon/sched_trx.c b/src/host/trxcon/sched_trx.c
index 023764d..fc29998 100644
--- a/src/host/trxcon/sched_trx.c
+++ b/src/host/trxcon/sched_trx.c
@@ -95,7 +95,7 @@
 		 * attempt to obtain a new one from queue
 		 */
 		if (lchan->prim == NULL)
-			lchan->prim = sched_prim_dequeue(&ts->tx_prims, fn, chan);
+			lchan->prim = sched_prim_dequeue(&ts->tx_prims, fn, lchan);
 
 		/* TODO: report TX buffers health to the higher layers */
 
diff --git a/src/host/trxcon/sched_trx.h b/src/host/trxcon/sched_trx.h
index 08e2489..ff288f2 100644
--- a/src/host/trxcon/sched_trx.h
+++ b/src/host/trxcon/sched_trx.h
@@ -302,7 +302,7 @@
 	(CHAN_IS_TCH(prim->chan) && prim->payload_len == GSM_MACBLOCK_LEN)
 
 struct trx_ts_prim *sched_prim_dequeue(struct llist_head *queue,
-	uint32_t fn, enum trx_lchan_type lchan_type);
+	uint32_t fn, struct trx_lchan_state *lchan);
 int sched_prim_dummy(struct trx_lchan_state *lchan);
 void sched_prim_drop(struct trx_lchan_state *lchan);
 void sched_prim_flush_queue(struct llist_head *list);

-- 
To view, visit https://gerrit.osmocom.org/11136
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ibde0acf8e6be224b1007be707a636eaad68c8d36
Gerrit-Change-Number: 11136
Gerrit-PatchSet: 1
Gerrit-Owner: Vadim Yanitskiy <axilirator at gmail.com>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder (1000002)
Gerrit-Reviewer: Pau Espin Pedrol <pespin at sysmocom.de>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20180928/4460c3a8/attachment.htm>


More information about the gerrit-log mailing list