[PATCH net-next V2 02/16] net: fec: pass rxq to fec_enet_rx_queue instead of queue_id

Zhi Li lznuaa at gmail.com
Tue Mar 1 13:05:03 PST 2016


On Wed, Feb 24, 2016 at 6:36 PM, Troy Kisky
<troy.kisky at boundarydevices.com> wrote:
> The 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 | 13 +++++--------
>  1 file changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
> index dbac975..9619b9e 100644
> --- a/drivers/net/ethernet/freescale/fec_main.c
> +++ b/drivers/net/ethernet/freescale/fec_main.c
> @@ -1328,11 +1328,9 @@ static bool fec_enet_copybreak(struct net_device *ndev, struct sk_buff **skb,
>   * not been given to the system, we just set the empty indicator,
>   * effectively tossing the packet.
>   */
> -static int
> -fec_enet_rx_queue(struct net_device *ndev, int budget, u16 queue_id)
> +static int fec_rxq(struct net_device *ndev, struct fec_enet_private *fep,
> +                  struct fec_enet_priv_rx_q *rxq, int budget)

feq is not necessary.
you can get it from ndev.

best regards
Frank Li

>  {
> -       struct fec_enet_private *fep = netdev_priv(ndev);
> -       struct fec_enet_priv_rx_q *rxq;
>         struct bufdesc *bdp;
>         unsigned short status;
>         struct  sk_buff *skb_new = NULL;
> @@ -1350,8 +1348,6 @@ fec_enet_rx_queue(struct net_device *ndev, int budget, u16 queue_id)
>  #ifdef CONFIG_M532x
>         flush_cache_all();
>  #endif
> -       queue_id = FEC_ENET_GET_QUQUE(queue_id);
> -       rxq = fep->rx_queue[queue_id];
>
>         /* First, grab all of the stats for the incoming packet.
>          * These get messed up if we get called due to a busy condition.
> @@ -1519,11 +1515,12 @@ fec_enet_rx(struct net_device *ndev, int budget)
>         int     pkt_received = 0;
>         u16     queue_id;
>         struct fec_enet_private *fep = netdev_priv(ndev);
> +       struct fec_enet_priv_rx_q *rxq;
>
>         for_each_set_bit(queue_id, &fep->work_rx, FEC_ENET_MAX_RX_QS) {
>                 clear_bit(queue_id, &fep->work_rx);
> -               pkt_received += fec_enet_rx_queue(ndev,
> -                                       budget - pkt_received, queue_id);
> +               rxq = fep->rx_queue[FEC_ENET_GET_QUQUE(queue_id)];
> +               pkt_received += fec_rxq(ndev, fep, rxq, budget - pkt_received);
>         }
>         return pkt_received;
>  }
> --
> 2.5.0
>



More information about the linux-arm-kernel mailing list