[PATCH net-next V2 03/16] net: fec: pass txq to fec_enet_tx_queue instead of queue_id
Fugang Duan
fugang.duan at nxp.com
Wed Mar 2 07:16:25 PST 2016
From: Troy Kisky <troy.kisky at boundarydevices.com> Sent: Thursday, February 25, 2016 8:37 AM
> To: netdev at vger.kernel.org; davem at davemloft.net; b38611 at freescale.com
> Cc: fabio.estevam at freescale.com; l.stach at pengutronix.de; andrew at lunn.ch;
> tremyfr at gmail.com; linux at arm.linux.org.uk; linux-arm-
> kernel at lists.infradead.org; laci at boundarydevices.com; shawnguo at kernel.org;
> johannes at sipsolutions.net; stillcompiling at gmail.com;
> sergei.shtylyov at cogentembedded.com; arnd at arndb.de; Troy Kisky
> <troy.kisky at boundarydevices.com>
> 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 <troy.kisky at boundarydevices.com>
> ---
> drivers/net/ethernet/freescale/fec_main.c | 17 ++++++-----------
> 1 file changed, 6 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/net/ethernet/freescale/fec_main.c
> b/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.
More information about the linux-arm-kernel
mailing list