[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