From: Eric Dumazet Date: Wed, 8 Mar 2017 16:17:07 +0000 (-0800) Subject: mlx4: remove order field from mlx4_en_frag_info X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=159ddfd2ca30a2361324111ef64fdedf43e7dc32;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git mlx4: remove order field from mlx4_en_frag_info This is really a port attribute, no need to duplicate it per RX queue and per frag. Signed-off-by: Eric Dumazet Acked-by: Tariq Toukan Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c index 6183128b2d3d..b78d6762e03f 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c @@ -59,7 +59,7 @@ static int mlx4_alloc_pages(struct mlx4_en_priv *priv, struct page *page; dma_addr_t dma; - for (order = frag_info->order; ;) { + for (order = priv->rx_page_order; ;) { gfp_t gfp = _gfp; if (order) @@ -1195,7 +1195,7 @@ void mlx4_en_calc_rx_buf(struct net_device *dev) * This only works when num_frags == 1. */ if (priv->tx_ring_num[TX_XDP]) { - priv->frag_info[0].order = 0; + priv->rx_page_order = 0; priv->frag_info[0].frag_size = eff_mtu; priv->frag_info[0].frag_prefix_size = 0; /* This will gain efficient xdp frame recycling at the @@ -1209,7 +1209,6 @@ void mlx4_en_calc_rx_buf(struct net_device *dev) int buf_size = 0; while (buf_size < eff_mtu) { - priv->frag_info[i].order = MLX4_EN_ALLOC_PREFER_ORDER; priv->frag_info[i].frag_size = (eff_mtu > buf_size + frag_sizes[i]) ? frag_sizes[i] : eff_mtu - buf_size; @@ -1221,6 +1220,7 @@ void mlx4_en_calc_rx_buf(struct net_device *dev) buf_size += priv->frag_info[i].frag_size; i++; } + priv->rx_page_order = MLX4_EN_ALLOC_PREFER_ORDER; priv->dma_dir = PCI_DMA_FROMDEVICE; } diff --git a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h index a4c7d94d52c6..9d2c53ddb15c 100644 --- a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h +++ b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h @@ -474,7 +474,6 @@ struct mlx4_en_frag_info { u16 frag_size; u16 frag_prefix_size; u32 frag_stride; - u16 order; u16 rx_headroom; }; @@ -586,6 +585,7 @@ struct mlx4_en_priv { u8 num_frags; u8 log_rx_info; u8 dma_dir; + u8 rx_page_order; struct mlx4_en_tx_ring **tx_ring[MLX4_EN_NUM_TX_TYPES]; struct mlx4_en_rx_ring *rx_ring[MAX_RX_RINGS];