From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0069.outbound.protection.outlook.com [104.47.41.69]) by dpdk.org (Postfix) with ESMTP id D5EFDFA4A for ; Tue, 17 Jan 2017 14:20:27 +0100 (CET) Received: from CY4PR03CA0002.namprd03.prod.outlook.com (10.168.162.12) by BY2PR0301MB0741.namprd03.prod.outlook.com (10.160.63.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.845.12; Tue, 17 Jan 2017 13:20:27 +0000 Received: from BN1AFFO11FD045.protection.gbl (2a01:111:f400:7c10::191) by CY4PR03CA0002.outlook.office365.com (2603:10b6:903:33::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.860.13 via Frontend Transport; Tue, 17 Jan 2017 13:20:26 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com;nxp.com; dkim=none (message not signed) header.d=none; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1AFFO11FD045.mail.protection.outlook.com (10.58.53.60) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.803.8 via Frontend Transport; Tue, 17 Jan 2017 13:20:26 +0000 Received: from bf-netperf1.idc ([10.232.134.28]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v0HDJ8mT021741; Tue, 17 Jan 2017 06:20:22 -0700 From: Hemant Agrawal To: CC: , , , , , , Hemant Agrawal Date: Wed, 18 Jan 2017 00:22:43 +0530 Message-ID: <1484679174-4174-23-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1484679174-4174-1-git-send-email-hemant.agrawal@nxp.com> References: <1482988612-6638-1-git-send-email-shreyansh.jain@nxp.com> <1484679174-4174-1-git-send-email-hemant.agrawal@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131291328264883029; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(336005)(39450400003)(39860400002)(39380400002)(39840400002)(39400400002)(39850400002)(39410400002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(36756003)(305945005)(77096006)(38730400001)(85426001)(92566002)(5003940100001)(33646002)(2351001)(50986999)(76176999)(8936002)(97736004)(50226002)(81166006)(68736007)(47776003)(8676002)(105606002)(81156014)(106466001)(189998001)(104016004)(356003)(110136003)(6916009)(50466002)(2906002)(2950100002)(626004)(54906002)(4326007)(86362001)(6666003)(5660300001)(8656002)(30001)(48376002); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR0301MB0741; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD045; 1:oo8TaMpcqK84RMU+Om6NnwcnFJubEHWgu/MDuJ5EoHJtJHnnd7muEvJkPa8q9leJYrZHM7xUxabpqn97hMTxTcsqxgWnsLeqoXUPzUlIbHOTjBlo+LKdi3frCGvujT9lHDDCQZ+J2Z6t8QrjnpJ8p9lFh2HsNrkE+u0Y25JLsnSFXNOBYsObbecnkY4+KuDC1Mxi5FKkyGdoDiwg1CsKVEZ0qv3z1NFbQvRwMW4SE6WEFlelkmMQfo33bI4MkhXPH2IxYEq344cpY3gKWJzKv4lHqQwdKcjcq/gIuRCMlOLO1VOf+a3+8piSlgZcZxoMWH3Stu9zMk1egWejC/N4llI2hoUqjS5ZbNpXx71HHRJhqcaE6y/7eKVg09DrnV7Mi7QKg1kXvyBJkCHuu6b3ylgrUpM4f9xZjOUbuaJDj929KSFQhx/wyJX8SRVI6+MzV+kfSbyiU6ozLR3sDvH2CCuxKr35p6XhFWGaAmfBPCU5bj/Xl3OooVqTt7CRM1PFyHkMal2fPIuJkpeP6lbdKLHdbtpWwjdL0cnQA2hYS9CWA0LUFxx7nl+8ZMb3RV1H2xwPgvPkW+LT1nCwbQZrbKaxGqxyzW7tMQiNmk8yg1T9HxQ97mcNcrH35Px6cwoPZzsY9zGayxBQvZ9Nb5sQgtxQ8FBZn5EgUAeXGa6ZcVEXxbyNzrHm0dCbVwChtKnm6JMtYGLMHeJ7lUtGJbvC6TVxomsekjcb/UhU4KG+KMfIflyHZ2PxY5aeqtg3y9cP MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: 81914235-6487-4e5c-e9fa-08d43edb99c5 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BY2PR0301MB0741; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0741; 3:s/nJJg1jMbmJnBXgbpYjGfFIj3OHJ28qM2p5D2g/BSKTuU+SqSXThYbHb/EqhyYSWDAFe0Qj8b/taiG2bH8vHO66/TwEYbzA7Jxr8exD75+hgJ/5dBlHFDkguwnM+vmmRt555E6haOIXKbu3cp9gaE7Zn7DGhCsO7Opkpoex2Dg51DDxVvWVLHS4gbHzmMnHCYqGpHY8usNVy21RECllpb4MKPnrLOJ5dxUlxvHtOzsc265zXQ6K0db/PINqdnxHOjZhh34a+XmBOfm0p6J3BlwpIp3IWhBBCbrq2M81h4p+ABIzFJFdE6On77f1WgvFY+yHxZl6Y2tAPGc2x22Q064jI4Y63oouG4Efeb7TtMOdjkmzzzjJ0Ky93J6gNZns; 25:7kb4wMtx4uKYKc2XFlgX67sjAS8QmvR5agYKIegQR9mD0gFEZTY7CVJUdPDR9OXnSv0xfR5zUPsK0RyfpYfi6nn0evR76S3rcAqO/LqL8vapl6Dzce7iqreDfXp+CkDPzF29r5pRTD6SZ7jEz5klUH9p/ihlKBqa5OmS6+SuNM+sYTEXXso6lXbuLwfK09xtZZmRn+O6HOfoWgX6qtZFiOeDL2Zuy8HE+/CQQpDTT+RmtpOUIFGEtDiiyxqHRebMGvIIqIcjfsMrREA3rTFoynBY+DRGOibaEZZn20qAQoU7wpprI+w9OIYbY7SnbgZpt7L8F6Zs0vsA6gHwXAEf603DAzIAZVtTyNMV6XHHaj3hJryqZwfZ2bA6EMqeQ86xFSkASQfNANw8TaidUdvt71Vdmf1kj+rPezchur86/ctEO2ewccF9gBXwIQYRNHcNuZz2bl+TyDoy3D/pc2P7lg== X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0741; 31:CLTfq5+puolQzIZmqA6qwisxgnMBn2FdSegDsAzoMksN1BEBHNHfqnZo/QNZe04G/XzMz7OG0ghzUdOgq/Q8U4SA8+OC+tBnZ7UA/lkV2Bg79cc2ExN0UyUsSBWHUso2fIz9a1DAbgYylNihNZwohTWAXFiuyKeFQQx9DLevAENgk5yfiYXD+FdAOlywFP6G1wjsl88Yg/y3VVSfzdTnPx4/+d3UcQSL7qIXe38VpFq+kZRfV/Ii9u+xFsnjZMU4TMenmhM59xycIvOTp2tnTPJZPFYPuBQyrbQ8vwjnv/E= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(275809806118684); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095060)(601004)(2401047)(13015025)(13017025)(13023025)(13024025)(13018025)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6096035)(20161123565025)(20161123563025)(20161123556025)(20161123559025)(20161123561025); SRVR:BY2PR0301MB0741; BCL:0; PCL:0; RULEID:(400006); SRVR:BY2PR0301MB0741; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0741; 4:zyTj2WXRA+tHPd5Q7u4z4m04AEahv3eLs4uElEeRzI/vUN9uE4ZHz4RjFTWtD7OkBcYkeMdMUe59Erhfmtl0hSzXTGjPCYYQb4MUETtVjL6/0Xr/ELBo5GcJn0SoAmRB+z5PpaBwwF21fKZkUZGEZUDm7v4d7BhZkn7Nwn7uZqTS8/mXuBkTGgHR2XpF1ue1apjsMS6CaDVjLsoiA+R/y8U2qmHp2la20z9CjKhLu1zy4iJiBBkkNT8xf/p7l2xwI63WcmRe7Hys+YWhjuZC+lNQ5vTnx/4NEzWpgcy+nS1ILbo3DYI7IkieCXJi+XN78K8bh+beN5YtUDWn58xwR8uM4G0H1xedFRdXzln6hFIseS1T7EjlwcDXqJodGbZYZ7z0Cn9o/BaTThTefjOrpGUtOl4qhRO+0O3AU0HCTNTMYTAfkyNHHN+lCnl3AWG0O6K2y/y5v6dAk8OAVPIDa3eayDZA0aP72PGIfyn0lz9jYSGY7zIHX+gEMJAn253pZHxWpm92i13a4rkpMSGyyEyZdsHvWrhHW5/5HWcluLz/SgMWD9Fi6qJnNasMn+fKWzxU4OmnK452PkHpqEPhvMgbBTcRg6M0ai1zEahv3vcctmLOnysHpAEE0q7p8ZoK/76JWydVoVX5HNkhD7FMLuk9Am5wZyAKuQZCdiXDcfco9tBpOxKDol6TkD/GAR8EmrCAmYDcTEQ3X3X6xdpihmge5p0P5rIkmo3YVSlVS2Mk6v4/Njvr13t3KBZRuZCNpufBsr9Msi215/hQmb8PXA== X-Forefront-PRVS: 01901B3451 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR0301MB0741; 23:02l/QrrZyO3mS3yZIuDvV4xWhM+uN44VNxOlwYu?= =?us-ascii?Q?RmBVLlRsCFCsPxEAhOKmqkc4XhIgjBVYS4UHmmNe72JMzKs7cyBT3nSxl6Zj?= =?us-ascii?Q?pN4OfSpailWUvfJ9/VeFBYpeNqgUP8WnHL9vPMVrDnjw6Rh2AAT2LMzjsOlD?= =?us-ascii?Q?RfZlQo/JQc6cGn2MSimBuvdhXKhiWKskQxS2Xhq47GlUMskd+wRSm3ARIPBl?= =?us-ascii?Q?n+evoxPV54oNJuo65ryi9lKYhoy+NeR00dktXNBv4ikvikof1YwscENsfVoN?= =?us-ascii?Q?BkDYSPok9IxdsnAvwe4ZKFJ1bRnlii0yy5jngZ/PE8jqEhGHm/M9yg83dQJr?= =?us-ascii?Q?KwG7/vUzpAN50n1vcTAwSmJEp6IQN9RmksALAvxBkXuK+Cncw8RO/eve2PSE?= =?us-ascii?Q?CmsgQtEFa8WkR/bA/vrHoLltHdZQRvu3OqtZRTYTWM4BTkXDEjyN3prV2SMi?= =?us-ascii?Q?G57q1u1ckSrfkpG5j8ybDEaT93pTPlaOcJMxMed9Usi+PwpFSySfR8d2o4Q9?= =?us-ascii?Q?2NsZ1HHvF2XprdjdajsA7WBFZq7J58gmcy20fCFa17tJ4WGgkVlFkiwAFH8y?= =?us-ascii?Q?fGAJvL/YXIyfDqyZcaflg73l0nQlsV3+7J2naxdX1/omVmIXhb6nZeePib6L?= =?us-ascii?Q?mvQubKQ/FPXyfeO6RNFkHyksxtHrDoKCG2plKsiBEXuHikMFvC4ZRmcjvCxU?= =?us-ascii?Q?kZ92SMS6iW/1Ov+NjWhq2ucdKDXEmBT9tRNal1+uCkV5xtEcxQW89Teoky5L?= =?us-ascii?Q?aUKbnStwdh5xlsLA2oQg5eaPQ+OKVqSsxzFIzXKGdp1k6sITlsmsvaUQQbFG?= =?us-ascii?Q?gAUlhjdpNm/1fbG9p+oId9S9JlDhvqfil+oES6BjXPDE0UBy154/M1pBo5b8?= =?us-ascii?Q?8TpBuzXr5hDwoS7tjFCDwaVx5lZJJikY78UygpxbmA4x4eEnHIsfm5UYqgc9?= =?us-ascii?Q?WXbkagy7U2zW8Z5nxrM9+FGy8+agmUVo4fv2DCSDc3Wi1Y+UvjprgjAnZz96?= =?us-ascii?Q?tPxjaJoMHT5pet5lPMBRHMCCtrF2ZiJINAbdE10GfvuXY6R2GEwISi/g56qk?= =?us-ascii?Q?ePT7/7qs+Shg+WGOqbLlk5BEkDS/eVfbE57BVEkPsM6rpULic55A9SrDdgZf?= =?us-ascii?Q?IkV20nTs4qXDI95Dl0F6Y2Q+kQ9p2zbc7AFJZCKJ9xSiDomTQ5FCo7LheLLf?= =?us-ascii?Q?DJGtDPRaFAmPO/MNmp4BsV8CY9aDmhtx+BeaZF/2g2gjBul9nA6jUypsau4i?= =?us-ascii?Q?eYKGBnj9ep4yLYrUO/VB10FyDnPlk9dbDEOVPpECcsFPG9zs8KNDFmsRdOiU?= =?us-ascii?Q?6lw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0741; 6:oKRDPpfUJjAkLbxvxdhJ5BrrIOXByK4F8u0pVHm7G8B3y+MLtIT2CLULPfEYWfoO1zq3gYNOEilnnRPMO/ApLK2OZU7U3yQkggDTibMxzfIGRNRKt2DlZ59VneR/Dn58ySJpc78ZLBF+1Whbct5xn2LqSLfiZ1A2GqyEZQR5C3+QMhWkHUDIiw5LOpyKDnxhn/rHF+uZ/ntDRy/rcaNq1hNvSSvuwdvv7IrHb/khBBqFL7XOGkZo8p+RLzy0gaXq19OpwkuearzZ4G6DJxTCce6L7PQzpGJ/truucho2Et0DYFDuPvG2e4fm3V1RHBIN4jDtiY9yO6dahMJc0eDllQNmokqllZLdjuwHmOmwHrXpkabj9JewwdPsQC8xvQC5w8N7F0TOKgYaJUcpuLMVJiwTOwGXXzNXXRPJ99xW8lLEpiDnIVmCSg0fKPjeZ4Ml; 5:Q+DrwZldbTUAgsi9aRSjv8duJsYjXy3kj5mOEoF6wCEzEjf0gnfNm70HO6Gvq3QfjPTE3ZESPPVzHeU5uWabMIJAeFEWRJDnDwR/XF+UsfK321Jle3OzVPtohQYQENLLoyOXr/yPVo4ckskVz9ZQsuSIr32GH4HyR+9dHE/O7N0bMhQ2zTHPCjAIZ7u+RvAw; 24:2X1ig02Z/gP2FZ3Bl1elheOcdH8K+3t7tL1fCFa8zfhcnZeRO6AkMvbW/H1Xqev+aXvbQWwLDB2n28W7RmUm+pYnoC6WabW0meeZNw6zJmg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0741; 7:Qdl8W91dVzA4D6lfTgVmeiuz+Fr5C+Xn4wroJ3FPokVaC7jkJEPd6eIYBLpTAp3VJt81pFLW/xn/Wk+f+GyYzDDgD42ZO63VE3l/tE8r+zyV01xejQ/NwhCix1EandY43Me9KP6bBEFackcxMALy5KE9Spo4KkjM+bd/aC20NRs3HFc4cooBNI59qj6JyLXpzDcq1YTYDUntgWe5wy6SKeklrAGmXkVWAT4cOo9X+65ilDdgvwp2AjaCJWtZuqkXnWs40u/5QXU3qNxMtBu5dqPYp1VrZZU0eWdU3uFCOuxVE9UR9Af+ExR6XxjmxUEZCBtOnTbhlJunvmeFClc4VfQfJOehzdpoUXRAWnYGL/VFgLYmezcE6iz+9YKiLUYk/01HcoifTlCL3Pb9qYjUaEfPLIHZNw6WkymTj7RfczHoK7ihHDgri4Y/hk1LenbFeDpBEMhgiaJNTjnmFukKvg== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2017 13:20:26.3011 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0301MB0741 Subject: [dpdk-dev] [PATCHv4 22/33] net/dpaa2: add support for l3 and l4 checksum offload X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Jan 2017 13:20:28 -0000 Signed-off-by: Hemant Agrawal --- doc/guides/nics/features/dpaa2.ini | 2 + drivers/bus/fslmc/portal/dpaa2_hw_pvt.h | 6 +++ drivers/net/dpaa2/dpaa2_ethdev.c | 72 +++++++++++++++++++++++++++++++-- 3 files changed, 76 insertions(+), 4 deletions(-) diff --git a/doc/guides/nics/features/dpaa2.ini b/doc/guides/nics/features/dpaa2.ini index 20152a0..d50c62e 100644 --- a/doc/guides/nics/features/dpaa2.ini +++ b/doc/guides/nics/features/dpaa2.ini @@ -6,6 +6,8 @@ [Features] Queue start/stop = Y RSS hash = Y +L3 checksum offload = Y +L4 checksum offload = Y Linux VFIO = Y ARMv8 = Y Usage doc = Y diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_pvt.h b/drivers/bus/fslmc/portal/dpaa2_hw_pvt.h index b4f243b..71361a4 100644 --- a/drivers/bus/fslmc/portal/dpaa2_hw_pvt.h +++ b/drivers/bus/fslmc/portal/dpaa2_hw_pvt.h @@ -37,6 +37,12 @@ #include #include +#ifndef false +#define false 0 +#endif +#ifndef true +#define true 1 +#endif #define DPAA2_DQRR_RING_SIZE 16 /** min_rx_bufsize = DPAA2_MIN_RX_BUF_SIZE; dev_info->max_rx_queues = (uint16_t)priv->nb_rx_queues; dev_info->max_tx_queues = (uint16_t)priv->nb_tx_queues; - + dev_info->rx_offload_capa = + DEV_RX_OFFLOAD_IPV4_CKSUM | + DEV_RX_OFFLOAD_UDP_CKSUM | + DEV_RX_OFFLOAD_TCP_CKSUM | + DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM; + dev_info->tx_offload_capa = + DEV_TX_OFFLOAD_IPV4_CKSUM | + DEV_TX_OFFLOAD_UDP_CKSUM | + DEV_TX_OFFLOAD_TCP_CKSUM | + DEV_TX_OFFLOAD_SCTP_CKSUM | + DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM; dev_info->speed_capa = ETH_LINK_SPEED_1G | ETH_LINK_SPEED_2_5G | ETH_LINK_SPEED_10G; @@ -253,8 +263,13 @@ memset(&tx_conf_cfg, 0, sizeof(struct dpni_queue)); memset(&tx_flow_cfg, 0, sizeof(struct dpni_queue)); - tc_id = 0; - flow_id = tx_queue_id; + if (priv->num_tc == 1) { + tc_id = 0; + flow_id = tx_queue_id % priv->num_dist_per_tc[tc_id]; + } else { + tc_id = tx_queue_id; + flow_id = 0; + } ret = dpni_set_queue(dpni, CMD_PRI_LOW, priv->token, DPNI_QUEUE_TX, tc_id, flow_id, options, &tx_flow_cfg); @@ -303,6 +318,7 @@ struct dpaa2_dev_priv *priv = data->dev_private; struct fsl_mc_io *dpni = (struct fsl_mc_io *)priv->hw; struct dpni_queue cfg; + struct dpni_error_cfg err_cfg; uint16_t qdid; struct dpni_queue_id qid; struct dpaa2_queue *dpaa2_q; @@ -338,6 +354,48 @@ dpaa2_q->fqid = qid.fqid; } + ret = dpni_set_offload(dpni, CMD_PRI_LOW, priv->token, + DPNI_OFF_RX_L3_CSUM, true); + if (ret) { + PMD_INIT_LOG(ERR, "Error to set RX l3 csum:Error = %d\n", ret); + return ret; + } + + ret = dpni_set_offload(dpni, CMD_PRI_LOW, priv->token, + DPNI_OFF_RX_L4_CSUM, true); + if (ret) { + PMD_INIT_LOG(ERR, "Error to get RX l4 csum:Error = %d\n", ret); + return ret; + } + + ret = dpni_set_offload(dpni, CMD_PRI_LOW, priv->token, + DPNI_OFF_TX_L3_CSUM, true); + if (ret) { + PMD_INIT_LOG(ERR, "Error to set TX l3 csum:Error = %d\n", ret); + return ret; + } + + ret = dpni_set_offload(dpni, CMD_PRI_LOW, priv->token, + DPNI_OFF_TX_L4_CSUM, true); + if (ret) { + PMD_INIT_LOG(ERR, "Error to get TX l4 csum:Error = %d\n", ret); + return ret; + } + + /*checksum errors, send them to normal path and set it in annotation */ + err_cfg.errors = DPNI_ERROR_L3CE | DPNI_ERROR_L4CE; + + err_cfg.error_action = DPNI_ERROR_ACTION_CONTINUE; + err_cfg.set_frame_annotation = true; + + ret = dpni_set_errors_behavior(dpni, CMD_PRI_LOW, + priv->token, &err_cfg); + if (ret) { + PMD_INIT_LOG(ERR, "Error to dpni_set_errors_behavior:" + "code = %d\n", ret); + return ret; + } + return 0; } @@ -454,7 +512,13 @@ */ priv->nb_rx_queues = priv->num_dist_per_tc[DPAA2_DEF_TC]; - priv->nb_tx_queues = attr.num_queues; + if (attr.num_tcs == 1) + priv->nb_tx_queues = attr.num_queues; + else + priv->nb_tx_queues = attr.num_tcs; + + PMD_INIT_LOG(DEBUG, "num_tc %d", priv->num_tc); + PMD_INIT_LOG(DEBUG, "nb_rx_queues %d", priv->nb_rx_queues); eth_dev->data->nb_rx_queues = priv->nb_rx_queues; eth_dev->data->nb_tx_queues = priv->nb_tx_queues; -- 1.9.1