RE: [PATCH net-next V2 03/16] net: fec: pass txq to fec_enet_tx_queue instead of queue_id
From: Fugang Duan <hidden>
Date: 2016-03-02 15:16:25
Also in:
linux-arm-kernel
From: Troy Kisky <redacted> Sent: Thursday, February 25, 2016 8:37 AM
quoted hunk ↗ jump to hunk
To: netdev@vger.kernel.org; davem@davemloft.net; b38611@freescale.com Cc: fabio.estevam@freescale.com; l.stach@pengutronix.de; andrew@lunn.ch; tremyfr@gmail.com; linux@arm.linux.org.uk; linux-arm- kernel@lists.infradead.org; laci@boundarydevices.com; shawnguo@kernel.org; johannes@sipsolutions.net; stillcompiling@gmail.com; sergei.shtylyov@cogentembedded.com; arnd@arndb.de; Troy Kisky [off-list ref] Subject: [PATCH net-next V2 03/16] net: fec: pass txq to fec_enet_tx_queue instead of queue_id queue_id is the qid member of struct bufdesc_prop. Signed-off-by: Troy Kisky <redacted> --- drivers/net/ethernet/freescale/fec_main.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-)diff --git a/drivers/net/ethernet/freescale/fec_main.cb/drivers/net/ethernet/freescale/fec_main.c index 9619b9e..c517194 100644--- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c@@ -1156,25 +1156,18 @@ fec_enet_hwtstamp(struct fec_enet_private *fep,unsigned ts, hwtstamps->hwtstamp = ns_to_ktime(ns); } -static void -fec_enet_tx_queue(struct net_device *ndev, u16 queue_id) +static void fec_txq(struct net_device *ndev, struct fec_enet_private *fep, + struct fec_enet_priv_tx_q *txq) { - struct fec_enet_private *fep; struct bufdesc *bdp; unsigned short status; struct sk_buff *skb; - struct fec_enet_priv_tx_q *txq; struct netdev_queue *nq; int index = 0; int entries_free; - fep = netdev_priv(ndev); - - queue_id = FEC_ENET_GET_QUQUE(queue_id); - - txq = fep->tx_queue[queue_id]; /* get next bdp of dirty_tx */ - nq = netdev_get_tx_queue(ndev, queue_id); + nq = netdev_get_tx_queue(ndev, txq->bd.qid); bdp = txq->dirty_tx; /* get next bdp of dirty_tx */@@ -1268,11 +1261,13 @@ static void fec_enet_tx(struct net_device *ndev) { struct fec_enet_private *fep = netdev_priv(ndev); + struct fec_enet_priv_tx_q *txq; u16 queue_id; /* First process class A queue, then Class B and Best Effort queue */ for_each_set_bit(queue_id, &fep->work_tx, FEC_ENET_MAX_TX_QS){ clear_bit(queue_id, &fep->work_tx); - fec_enet_tx_queue(ndev, queue_id); + txq = fep->tx_queue[FEC_ENET_GET_QUQUE(queue_id)]; + fec_txq(ndev, fep, txq); } return; } -- 2.5.0
The patch should merge with patch#1.