From patchwork Thu Dec 19 16:59:08 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Herbert X-Patchwork-Id: 303624 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 4106E2C0085 for ; Fri, 20 Dec 2013 03:59:16 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754638Ab3LSQ7M (ORCPT ); Thu, 19 Dec 2013 11:59:12 -0500 Received: from mail-vc0-f202.google.com ([209.85.220.202]:35765 "EHLO mail-vc0-f202.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751035Ab3LSQ7L (ORCPT ); Thu, 19 Dec 2013 11:59:11 -0500 Received: by mail-vc0-f202.google.com with SMTP id hu19so27511vcb.3 for ; Thu, 19 Dec 2013 08:59:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=date:from:to:subject:message-id:user-agent:mime-version :content-type; bh=1pzXqmsXq6gumm7LffWoiqeqJ0KhIgWFEdKY2ID5vcM=; b=Asbed6j/pQi5MG9Naetzc/giprq6Ojtn9axSSKbtKZ4MaQT78QCzBHAfw0nobjrK7/ BckI8CT5Y4aombf6nv3NC1RqY4UnNzHn2PSeumM93DFtbdDQgPvicxamkRkew18+HjaU KYzuyYiNM5c/Wh4hYNeHTQkRrrBktedQbNCF6YhG+26zQIqSmirUoeRtVp4PUJMxcS6S PUJVF5XqIOslqNRUe0tYAaAid9wWYQWdGVCjSgqoZY2HUSlf5r1Z8/67Hpzpwr+vgAXX gfmDhjfvHuRLDRC6inU0A4NIWfeGasxX2eDtlmPTjEPKK//J9QNFjMrneTehgsti7Adt BvkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:subject:message-id:user-agent :mime-version:content-type; bh=1pzXqmsXq6gumm7LffWoiqeqJ0KhIgWFEdKY2ID5vcM=; b=G3k3Y1ZH+N9ST66a5CRPsTa+KLy8kp6mQvWCrNrShaoSLni0PkJPvXsWFthubing5o 2gxWxFScwcIrm6J3hAlN1aRR0bouX7KqUQ4jv5qTGqbwk8qqfRwni8LxsqMXbiBQPMZz 3wXR/Xx1Qk41swEizj6rsE5ysZpry1h+5CntlrnX3Cw66Ieh2WhIzh+rrSvR/nrMDIf5 ZGT8vb5ases/vS58UZ9cyKnpVtebHJOlMtb863zu0qpwt2PMoS35xlksDDrRC2i78Xfw e3X2akh3wRKTcrcpioq8PTNCYQtskgSZoth4pfI4n9Qurf99Vf14a47s3g351bWkn5Uh IVLg== X-Gm-Message-State: ALoCoQkIGxonNuWGJjj4WYYvYLml2Sj7RLo2KNZjOeTKkf93MsXAbHGRGTsLFH/YsIl3nsj9eV6/1/XXgGMZz5ANJMbMm+Z3BAehbl7Sz8GqABC9GK9NWckm9sInwkeT+HF93bLktsTbxBM4obvVWjHzC54C9QZAd+wi21GwAuB5yepEobV00I5dU/ujSSyEY8Sk0Xmy7ZC/iKeem3s1Bk6IHmMK99fptg== X-Received: by 10.58.39.202 with SMTP id r10mr1287390vek.12.1387472349822; Thu, 19 Dec 2013 08:59:09 -0800 (PST) Received: from corp2gmr1-2.hot.corp.google.com (corp2gmr1-2.hot.corp.google.com [172.24.189.93]) by gmr-mx.google.com with ESMTPS id v64si1427491yhm.3.2013.12.19.08.59.09 for (version=TLSv1.1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 19 Dec 2013 08:59:09 -0800 (PST) Received: from tomh.mtv.corp.google.com (tomh.mtv.corp.google.com [172.18.82.128]) by corp2gmr1-2.hot.corp.google.com (Postfix) with ESMTP id 888F55A41D4; Thu, 19 Dec 2013 08:59:09 -0800 (PST) Received: by tomh.mtv.corp.google.com (Postfix, from userid 60832) id 0A167200B8C; Thu, 19 Dec 2013 08:59:08 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by tomh.mtv.corp.google.com (Postfix) with ESMTP id E4497200A23; Thu, 19 Dec 2013 08:59:08 -0800 (PST) Date: Thu, 19 Dec 2013 08:59:08 -0800 (PST) From: Tom Herbert To: davem@davemloft.net, netdev@vger.kernel.org Subject: [PATCH] bnx2x: cleanup skb_set_hash Message-ID: User-Agent: Alpine 2.02 (DEB 1266 2009-07-14) MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Save pkt_hash_types in tpa structure. Signed-off-by: Tom Herbert --- drivers/net/ethernet/broadcom/bnx2x/bnx2x.h | 2 +- drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 23 +++++++++++------------ 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x.h b/drivers/net/ethernet/broadcom/bnx2x/bnx2x.h index a1f66e2..a6d8406 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x.h +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x.h @@ -472,7 +472,7 @@ struct bnx2x_agg_info { u16 vlan_tag; u16 len_on_bd; u32 rxhash; - bool l4_rxhash; + enum pkt_hash_types rxhash_type; u16 gro_size; u16 full_page; }; diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c index 787fef6..37b203b 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c @@ -354,7 +354,7 @@ static inline void bnx2x_update_sge_prod(struct bnx2x_fastpath *fp, */ static u32 bnx2x_get_rxhash(const struct bnx2x *bp, const struct eth_fast_path_rx_cqe *cqe, - bool *l4_rxhash) + enum pkt_hash_types *rxhash_type) { /* Get Toeplitz hash from CQE */ if ((bp->dev->features & NETIF_F_RXHASH) && @@ -362,11 +362,13 @@ static u32 bnx2x_get_rxhash(const struct bnx2x *bp, enum eth_rss_hash_type htype; htype = cqe->status_flags & ETH_FAST_PATH_RX_CQE_RSS_HASH_TYPE; - *l4_rxhash = (htype == TCP_IPV4_HASH_TYPE) || - (htype == TCP_IPV6_HASH_TYPE); + *rxhash_type = ((htype == TCP_IPV4_HASH_TYPE) || + (htype == TCP_IPV6_HASH_TYPE)) ? + PKT_HASH_TYPE_L4 : PKT_HASH_TYPE_L3; + return le32_to_cpu(cqe->rss_hash_result); } - *l4_rxhash = false; + *rxhash_type = PKT_HASH_TYPE_NONE; return 0; } @@ -420,7 +422,7 @@ static void bnx2x_tpa_start(struct bnx2x_fastpath *fp, u16 queue, tpa_info->tpa_state = BNX2X_TPA_START; tpa_info->len_on_bd = le16_to_cpu(cqe->len_on_bd); tpa_info->placement_offset = cqe->placement_offset; - tpa_info->rxhash = bnx2x_get_rxhash(bp, cqe, &tpa_info->l4_rxhash); + tpa_info->rxhash = bnx2x_get_rxhash(bp, cqe, &tpa_info->rxhash_type); if (fp->mode == TPA_MODE_GRO) { u16 gro_size = le16_to_cpu(cqe->pkt_len_or_gro_seg_len); tpa_info->full_page = SGE_PAGES / gro_size * gro_size; @@ -728,9 +730,7 @@ static void bnx2x_tpa_stop(struct bnx2x *bp, struct bnx2x_fastpath *fp, skb_reserve(skb, pad + NET_SKB_PAD); skb_put(skb, len); - skb_set_hash(skb, tpa_info->rxhash, - tpa_info->l4_rxhash ? - PKT_HASH_TYPE_L4 : PKT_HASH_TYPE_L3); + skb_set_hash(skb, tpa_info->rxhash, tpa_info->rxhash_type); skb->protocol = eth_type_trans(skb, bp->dev); skb->ip_summed = CHECKSUM_UNNECESSARY; @@ -848,7 +848,7 @@ int bnx2x_rx_int(struct bnx2x_fastpath *fp, int budget) u16 len, pad, queue; u8 *data; u32 rxhash; - bool l4_rxhash; + enum pkt_hash_types rxhash_type; #ifdef BNX2X_STOP_ON_ERROR if (unlikely(bp->panic)) @@ -989,9 +989,8 @@ reuse_rx: skb->protocol = eth_type_trans(skb, bp->dev); /* Set Toeplitz hash for a none-LRO skb */ - rxhash = bnx2x_get_rxhash(bp, cqe_fp, &l4_rxhash); - skb_set_hash(skb, rxhash, - l4_rxhash ? PKT_HASH_TYPE_L4 : PKT_HASH_TYPE_L3); + rxhash = bnx2x_get_rxhash(bp, cqe_fp, &rxhash_type); + skb_set_hash(skb, rxhash, rxhash_type); skb_checksum_none_assert(skb);