From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 631D8A034C;
	Tue, 18 Aug 2020 09:22:29 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id D07D41C00D;
	Tue, 18 Aug 2020 09:22:27 +0200 (CEST)
Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com
 [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 69C821C00D
 for <dev@dpdk.org>; Tue, 18 Aug 2020 09:22:26 +0200 (CEST)
Received: from pps.filterd (m0045851.ppops.net [127.0.0.1])
 by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id
 07I7BqF3009196; Tue, 18 Aug 2020 00:22:21 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com;
 h=from : to : cc :
 subject : date : message-id : in-reply-to : references : mime-version :
 content-transfer-encoding : content-type; s=pfpt0220;
 bh=6cj2s5CkyW86G5EhgfGI24LHQjpTMA86tuLQzwG8yKI=;
 b=DYvYjKX6Nysgl1GCZfkLn186IRYdjI/jqSaoAsHuSLyWDYl19pDI8Vzmlh51YIIieU4f
 gZSz76I70kuhEXw6r19HlW0VOQkp4moCHBIqqDpq6Ta4AaHcSqUnKpKJI1xGkIOC/jMR
 X62bvwDCfvnRFgvdED7QzGUx//waiimqur+J2MlCghBw/E75Jy/Hf3oOOukMQhsJ96KN
 TH93pNFMLL1/m/BQvjWklUxBrjTLV6P/RRByvB9Znq0N0DqsWUnvc3AXceLP5B1DT33K
 5/oWLjkXdGX6PomTLpp9bYJl30SCZ1fTKJZ4VKSdp+jYoHkKpGJOm/aCzWWo69WgFub5 Dg== 
Received: from sc-exch04.marvell.com ([199.233.58.184])
 by mx0b-0016f401.pphosted.com with ESMTP id 3304hhhb86-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT);
 Tue, 18 Aug 2020 00:22:21 -0700
Received: from DC5-EXCH02.marvell.com (10.69.176.39) by SC-EXCH04.marvell.com
 (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1497.2;
 Tue, 18 Aug 2020 00:22:20 -0700
Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com
 (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.2 via Frontend
 Transport; Tue, 18 Aug 2020 00:22:20 -0700
Received: from localhost.localdomain (unknown [10.28.34.15])
 by maili.marvell.com (Postfix) with ESMTP id 9CCD53F703F;
 Tue, 18 Aug 2020 00:22:09 -0700 (PDT)
From: <kirankumark@marvell.com>
To: Jerin Jacob <jerinj@marvell.com>, Nithin Dabilpuram
 <ndabilpuram@marvell.com>, Kiran Kumar K <kirankumark@marvell.com>
CC: <dev@dpdk.org>, <thomas@monjalon.net>, <ferruh.yigit@intel.com>,
 <arybchenko@solarflare.com>, <orika@mellanox.com>,
 <xuanziyang2@huawei.com>, <cloud.wangxiaoyun@huawei.com>,
 <zhouguoyang@huawei.com>, <rosen.xu@intel.com>,
 <beilei.xing@intel.com>, <jia.guo@intel.com>, <rmody@marvell.com>,
 <shshaikh@marvell.com>, <qiming.yang@intel.com>,
 <qi.z.zhang@intel.com>, <keith.wiles@intel.com>,
 <hemant.agrawal@nxp.com>, <sachin.saxena@nxp.com>,
 <wei.zhao1@intel.com>, <johndale@cisco.com>, <hyonkim@cisco.com>,
 <chas3@att.com>, <matan@mellanox.com>, <shahafs@mellanox.com>,
 <viacheslavo@mellanox.com>, <rahul.lakkireddy@chelsio.com>,
 <grive@u256.net>, <lironh@marvell.com>, <jingjing.wu@intel.com>,
 <xavier.huwei@huawei.com>, <humin29@huawei.com>,
 <yisen.zhuang@huawei.com>, <ajit.khaparde@broadcom.com>,
 <somnath.kotur@broadcom.com>, <jasvinder.singh@intel.com>,
 <cristian.dumitrescu@intel.com>
Date: Tue, 18 Aug 2020 12:51:42 +0530
Message-ID: <20200818072143.2189928-2-kirankumark@marvell.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20200818072143.2189928-1-kirankumark@marvell.com>
References: <20200808143631.1704756-1-kirankumark@marvell.com>
 <20200818072143.2189928-1-kirankumark@marvell.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235, 18.0.687
 definitions=2020-08-18_04:2020-08-18,
 2020-08-18 signatures=0
Subject: [dpdk-dev] [PATCH v3 2/2] net/octeontx2: add rss hash level support
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

From: Kiran Kumar K <kirankumark@marvell.com>

Add support to choose rss hash level from ethdev rss config.

Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
---
 drivers/net/octeontx2/otx2_ethdev.h | 4 +++-
 drivers/net/octeontx2/otx2_rss.c    | 9 +++++++--
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/drivers/net/octeontx2/otx2_ethdev.h b/drivers/net/octeontx2/otx2_ethdev.h
index e9efe52bb..953445ecb 100644
--- a/drivers/net/octeontx2/otx2_ethdev.h
+++ b/drivers/net/octeontx2/otx2_ethdev.h
@@ -119,7 +119,9 @@
 #define NIX_RSS_OFFLOAD		(ETH_RSS_PORT | ETH_RSS_IP | ETH_RSS_UDP |\
 				 ETH_RSS_TCP | ETH_RSS_SCTP | \
 				 ETH_RSS_TUNNEL | ETH_RSS_L2_PAYLOAD | \
-				 NIX_RSS_L3_L4_SRC_DST)
+				 NIX_RSS_L3_L4_SRC_DST | ETH_RSS_LEVEL_INNER | \
+				 ETH_RSS_LEVEL_OUTER | \
+				 ETH_RSS_LEVEL_INNER_OUTER)
 
 #define NIX_TX_OFFLOAD_CAPA ( \
 	DEV_TX_OFFLOAD_MBUF_FAST_FREE	| \
diff --git a/drivers/net/octeontx2/otx2_rss.c b/drivers/net/octeontx2/otx2_rss.c
index d859937e6..194f4e8af 100644
--- a/drivers/net/octeontx2/otx2_rss.c
+++ b/drivers/net/octeontx2/otx2_rss.c
@@ -323,6 +323,7 @@ otx2_nix_rss_hash_update(struct rte_eth_dev *eth_dev,
 			 struct rte_eth_rss_conf *rss_conf)
 {
 	struct otx2_eth_dev *dev = otx2_eth_pmd_priv(eth_dev);
+	uint8_t rss_hash_level;
 	uint32_t flowkey_cfg;
 	uint8_t alg_idx;
 	int rc;
@@ -339,7 +340,9 @@ otx2_nix_rss_hash_update(struct rte_eth_dev *eth_dev,
 		otx2_nix_rss_set_key(dev, rss_conf->rss_key,
 				     (uint32_t)rss_conf->rss_key_len);
 
-	flowkey_cfg = otx2_rss_ethdev_to_nix(dev, rss_conf->rss_hf, 0);
+	rss_hash_level = ETH_RSS_LEVEL(rss_conf->rss_hf);
+	flowkey_cfg =
+		otx2_rss_ethdev_to_nix(dev, rss_conf->rss_hf, rss_hash_level);
 
 	rc = otx2_rss_set_hf(dev, flowkey_cfg, &alg_idx,
 			     NIX_DEFAULT_RSS_CTX_GROUP,
@@ -375,6 +378,7 @@ otx2_nix_rss_config(struct rte_eth_dev *eth_dev)
 {
 	struct otx2_eth_dev *dev = otx2_eth_pmd_priv(eth_dev);
 	uint32_t idx, qcnt = eth_dev->data->nb_rx_queues;
+	uint8_t rss_hash_level;
 	uint32_t flowkey_cfg;
 	uint64_t rss_hf;
 	uint8_t alg_idx;
@@ -399,7 +403,8 @@ otx2_nix_rss_config(struct rte_eth_dev *eth_dev)
 	}
 
 	rss_hf = eth_dev->data->dev_conf.rx_adv_conf.rss_conf.rss_hf;
-	flowkey_cfg = otx2_rss_ethdev_to_nix(dev, rss_hf, 0);
+	rss_hash_level = ETH_RSS_LEVEL(rss_hf);
+	flowkey_cfg = otx2_rss_ethdev_to_nix(dev, rss_hf, rss_hash_level);
 
 	rc = otx2_rss_set_hf(dev, flowkey_cfg, &alg_idx,
 			     NIX_DEFAULT_RSS_CTX_GROUP,
-- 
2.25.1