From patchwork Thu Apr 5 08:54:24 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hemant Agrawal X-Patchwork-Id: 37253 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CBE6D1CA35; Thu, 5 Apr 2018 10:56:37 +0200 (CEST) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0082.outbound.protection.outlook.com [104.47.0.82]) by dpdk.org (Postfix) with ESMTP id CA0F81CA14 for ; Thu, 5 Apr 2018 10:56:29 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=ZTSuRgbvHzzUmYabVZGUi/qjRENlrUvkSkcbsUlAips=; b=U40wAiiYMq4h1XGtlJCTpCZpO0AIR4fP7D/gnP6QukvHzpCnWusyL4W/79Eks2k5FXuBaDZ4c+cjR30xStTckyA7ZkDDAR9mzx1kXOF0lw7qxcxaTyPxQSNZpKawJUBPGUNTyA2D4oKM/hA0mHdnELmg+OnOzjQK41vdIKoK3cA= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=hemant.agrawal@nxp.com; Received: from bf-netperf1.ap.freescale.net (14.142.187.166) by DB3PR04MB0762.eurprd04.prod.outlook.com (2a01:111:e400:9440::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.631.10; Thu, 5 Apr 2018 08:56:27 +0000 From: Hemant Agrawal To: ferruh.yigit@intel.com Cc: dev@dpdk.org, shreyansh.jain@nxp.com Date: Thu, 5 Apr 2018 14:24:24 +0530 Message-Id: <1522918464-4586-8-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1522918464-4586-1-git-send-email-hemant.agrawal@nxp.com> References: <1522918464-4586-1-git-send-email-hemant.agrawal@nxp.com> MIME-Version: 1.0 X-Originating-IP: [14.142.187.166] X-ClientProxiedBy: MA1PR0101CA0043.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:22::29) To DB3PR04MB0762.eurprd04.prod.outlook.com (2a01:111:e400:9440::25) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: fa492d6a-c889-4404-05ef-08d59ad31e92 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:DB3PR04MB0762; X-Microsoft-Exchange-Diagnostics: 1; DB3PR04MB0762; 3:1KDw2OyMmAiKerLJJ82gCJGh4F6PWOxg+ioGB505nUNlF1yCxzLLwF+m+nFAV/F8HL6WQl+ivpY9hMO8jYo3WFuvW07k/2bDdrTj4T9J/TkblC4mUzpLKzpxuM0vfpYDGv0XzicFzW9fGo6iQjSsIDmYmsruPO4fTnbxTF9BDVDQ7skuFmMDzTZDIV6CCMkElPNLMojlCINvF7EstmOGFCasex4V/S757iTlPSDL69DcF2hwRcnlX41btorwX4lh; 25:mErVdAjTvG5nNKPLN7tvtrhjKs39tprbXz2WPnAlAhMlb+2l1xpNgsExS7+oXl6TTSqqhJtbQ2aQIPtuR+6cdNTVbmUUdVzIYoYhz55IguMHpwJuQEG8zY6E3dpuXonSOI0CNggK/ZE3v8B2dWT07jSAw08hJINE4Ev7oU/8UbHvPj1kE2fkISyt7KAnPbc1jsx9+jcXlomudVRzUVixx58D5kDxhM/6AIu2CyveIvPJu1TxJ04Z7tsSaF6KyD+mSnP/4a7nR2RwKVlNUE7xWg/0nGDnp0j2tDgXNbma0P91dteSEbIhNU6HntJOUOkbQMa1v5CVjtfr0/eOnm/nHQ==; 31:OSpGW1T0X/hJtFUPA/OuaLydcFncUYaa3ZJDFxfVN86xMzt7kN+LPO0wvguTR3UJUghcG+AhJfnKF/wmdloE6vqOHCKa5fc26JAU//5rlIiO/hVesArNoqvruykSmx8pzXD1jwXO6Nw9jGgChs20fE+rn0Rvov62VWZcVjWNLnLm5RDZQfKInXd3RRsJy5OqaJRwywYih/pbqurrxzy5JlwxqjqEbWeTUiRMIL2KjO4= X-MS-TrafficTypeDiagnostic: DB3PR04MB0762: X-Microsoft-Exchange-Diagnostics: 1; DB3PR04MB0762; 20:9yy+Q0LqZhrk82TMBL/9va5aK8C1yGboBZ0zSI2C7NFEmh1ra6quW7GtD33BMdybCRWWBCUNlqkOcSvlp0weZs/7ZsSpqmn1Lyly4yjvPnBIn+6+E6Koy19Rev1LbYo76xhNErURCK76tazbo0347kqQ5tFo6AOxt7fsoaMGMJryY+MkItakwqE9lcG8DfGrDFKGMc7UUabSL0wWAYtGVmEkw6s5E6qK6C9hYXs1RGj6xRFpXf4t46t2Nyoh3eU9ArywJK/fDru40MgEYcncEwahSHmAi4ERBGjJHasAwgVKUGGBwjrpzOBG9FlpQ5JZ5/uwdz4Eh9vdAhHHRAabKs5L/tbxZ3lTGSCFvxFYj0KntqBJhmGT9omvA8fJLwTbVCDfsgScqkHKbl1a1k5DMQjOhvM7kijjbrMib2BV/K9ieNZNM9Br/SZyhXvsHvT0FssD/yYdVfAH3ie85TcG/uGKhcJ6XUitUm/3xgp+J25o3uWY6FZSW8ZqappvrwiG; 4:MPhDBy3XWwbJav21fxwHuMHp26vS0HERMTCu2DHfzZRSNi+KGTAFvCuyCbtedALDr7jVWFYTpsFE0OHrde24eP6ypSbYq+TbMi6J6VCKWj7MxpSuB8iFq1GmBOVPd7fVv0qIscXsjhyt48kwbK5kRJ9vqrwMDfvJla59CLt+OByka38kAhWhyYEA7HmduDcwdlF61u6Y1k8ZL34LfSkwRR40x0eJWFqZgchE55BZvQ/5AwpWHJ+M/A0G62FbsXqaW90HcXW503rpZVHrjd90Gj6q9vmw5j0bDJSShFSr6rZcWYlKcLYACFJr2oopZgmB5fYy3JfiXH0G/NpJaAUhrmCmm4h7hFBpqC4A955e+ClfngcGt+z5+icps4q6KVd8 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(227817650892897)(275809806118684); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(3231221)(944501327)(52105095)(93006095)(93001095)(10201501046)(6055026)(6041310)(20161123558120)(20161123564045)(20161123562045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:DB3PR04MB0762; BCL:0; PCL:0; RULEID:; SRVR:DB3PR04MB0762; X-Forefront-PRVS: 06339BAE63 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(396003)(366004)(376002)(346002)(39860400002)(39380400002)(189003)(199004)(76176011)(81166006)(53936002)(6666003)(2361001)(2351001)(6916009)(25786009)(575784001)(7736002)(476003)(50226002)(86362001)(81156014)(486006)(97736004)(105586002)(26005)(6512007)(52116002)(3846002)(11346002)(8936002)(446003)(16526019)(106356001)(51416003)(8676002)(386003)(48376002)(6486002)(47776003)(66066001)(68736007)(5660300001)(956004)(55236004)(478600001)(36756003)(6506007)(2906002)(2616005)(5009440100003)(59450400001)(305945005)(4326008)(6116002)(50466002)(186003)(316002)(16586007)(83323001)(110426004); DIR:OUT; SFP:1101; SCL:1; SRVR:DB3PR04MB0762; H:bf-netperf1.ap.freescale.net; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB3PR04MB0762; 23:dE/5Xc87SIc8bg5VmZWWauWzfvYu5IfJu77dtRPRV?= dtjv1NtCcA5m/bXMn54aEMMzNXk4SEdCLIt0fVgnh+hHeez6l3CpJV4JCXnkl4n57Sz8AVXn1M6djXUxohCzyC0u7mVPY5BQ7W4kDi0B24vaguJZh3AZSJAWoETzwZGaP20GsU2DuZh3KERt8ljp9eVMlF3V0itPx5/MM+5qADY41R7GnYMibvaclo7ODDPpDezj5bD7yV69e7eYMi9xEG9H+ZeW732/b9oSQMHRREzeeY3C3ClPB2L1bXPVAeA8OUOnbG/TTHHsGc0GsdOl/kdPPwWMqP1yL4mc3ZzGV5BLrae8+qObRm40vq6DhUTCrAaH9XOFtNOxjx9SA8DqioGotHUstQPlt0+2DNgZYV7OkuQ8PpQnTu7WGDEYEzjWiYBqyEf39REq8nlyvhRQUIOMOEk2vCveW6e4vM5fss4ew+2wCAazm4ZfHfZmjFEth53b7/TLJcDLdi+tzF2FUt3nPJiIhrJ8JhKQjDQbZ+R3smurFMN2Zf6Fs636fQv7j9s09PFgOo/2el2t0h3h/QksJH2TVXSTsh5rwcDt8mci0aL/d7RXhHnr/5riEyX8hglSj7x0NxcL6OnutlCJvVevb3gOKKgUWuSV3gVB+5SONDarG/lfiq1n9dIjYVi0Sstkpsz4+qn+5KDzLEKS/35jxAmbHrd4bSeCR+k3zHT9//iru/LlGS/d5NqpebEj7jq63vZW6+C3081UlHNpkEiWYe7WX0okCfO7YHYB2oAgwrlQslV7Qzgl6yVKDdvKiyUGSTNUBmeeif64CCNVcZ9w7qp3Ao+K+prfg43YAGR23lwid/TZGZLLDNm37ui1PAWlK9U3JxkHs1TNbbAEsS4ZwfU0h6jCiKteg5N8X9nT7/Uw3T2wWJQfL7gV/JPl0wVce9wJPhlpF3LTcCC+Fs+J6PGOoGqAraYImDzF03kzVIclEN+HAgAQcL2Ri0zDzFPvTrQTpwMi54BP+83rH4I12GYbXmH0X07I/3jThnBzH7jHjlEPHKJuWFS+07hvIH3DOPr2cYS+46lpTBL3hBabrB+nY6ZERvRpr6Zi0jpKlFzADM/eYYdQgOLO9ZwCLsrPYZ7yv/3XAu0SQpK6YfhavfPfi1vYhoBooBSrffUm1Ev+q9rPLX5o/ltHHpiqPRmwmU69euB3QegnFRKWqi7XU1orRJkxIGX3YfJCiTWSutMPzun/k3lXoIqP9wPmeMoeFYXCE+EnaUt5KiC5xGtiVpLQk4GrpJWpWFQyWomsVMU7hxTTU6dIyKZG7J0xZwckfoJZvTkvbyqrT+k8GLkMT/2mcL4r0+UqmiCqBAiuA== X-Microsoft-Antispam-Message-Info: LRsUQKsGDpryIUDFfmCMMoxMCaOY+i5o3qpqhk8njdn+7UuGYTPXjQGXLEAqIxOHUKFIY2YD0DyJuFKya00OEX/60rrhJCVicHPCxoBK70C0pDenrFzD4auIrMAk7SZG1eeVu6hatoi/+k8bDrzme7bF0sowrg5uU2a2eDbUyZR1duAufezIL4c/qcvsfXD+ X-Microsoft-Exchange-Diagnostics: 1; DB3PR04MB0762; 6:sIq2szgp1nLxc6Q/GvXJaKBi6JQy8ZNhP5LouH1PHn23btuJAoKqtVE5A9So+PuPaaTxYHxsVXEt/XyoB1AVSKgYjZyRB1xYLzJq5tiuJt9U5O6nYT/t9PB8Z6892OiE2NBP/zcZLvxdBfkOPkqZMRNcOSNgvjl7Z5u5t5MfSQmOICdGYAlkGFNhZK0fWTUKLu4iCQzn2+N0vTrftjmcQJMj9tf5IXyNX07+fDPOFX7e7+Q50ciRgJK0uQZgyLwz58GjMF/dRcITsSRem1nmzYY9KFUW/E5ov2kl9TA54m0eVzeGmCOZQSLKK+VsMG1yNck/VMo9MT4tFchZCiLBjRYkbBCyUPEBngCQje0+rvfreh3gxLpuJprUkFfXwHIbs6SrGkOvI5BRV80w9ZdeEed8jSfx3jKzwxDLGEtr0x4NZ1JJBze2VxO1z5IOcHu7mWXWot1eKMyQlHwCVln23Q==; 5:55AeKEdpN9zMiCj+QgBYh8S4MFGkwvGrLBdLeGhihW/krcba8+gjIXAJiTRpC1U/GRX4+ypFeGgSWVaBfeTIXgqYrf6jgqmDO7XuZ8uxoWxyuYlJdNf6mkzi8jXCbOsAZ+kl2nuBhzip3IoERehG3enjToSctGvcc6VepgmeW4w=; 24:WKfnjiHG2uSX5aTFMFSutrDrsAJSyI6It/HoyLa0FdXoOO+c5XBQ1az2icgAPWbIAxJpC2h6+zs6en/5tnAmTxwbhFZgrLhOkoT5cHfSczA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB3PR04MB0762; 7:TwqsiJHUPn6p4e47ocgI6A0SwuGNsJEoS4nmpxjBB6rGB5V2VC5UQiHfvQ8jvJ9qRZqJgzRVZP4C1UHR+UlOhwA6uq+5Ud6i7DWfKHMGsNdJ4aidgoigPaPbfZGkHD33pxUp/gsoP0/eLdcB9ifI1X68tum9RFGe4tm+p3/+zXanp8k21+lndk5AgXsU7B9RO+TAD8mjWr4MCKm4sWsKQAECEQBoI3CS17BRqhHN1bkOPpIEwgxtkkVK0MLZuc66 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Apr 2018 08:56:27.4924 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fa492d6a-c889-4404-05ef-08d59ad31e92 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR04MB0762 Subject: [dpdk-dev] [PATCH 8/8] bus/fslmc: configure separate portal for Ethernet Rx 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Nipun Gupta In case of Receive from Ethernet we add a new pull request (prefetch) but do not fetch the results from that pull request until next dequeue operation. This keeps the portal in busy mode. This patch updates the portals bifurcation to have separate portals to receive packets for Ethernet and all other devices to use a common portal. Signed-off-by: Nipun Gupta --- drivers/bus/fslmc/portal/dpaa2_hw_dpio.c | 27 ++++++++++++++------------- drivers/bus/fslmc/portal/dpaa2_hw_dpio.h | 8 ++++---- drivers/bus/fslmc/rte_bus_fslmc_version.map | 8 +++++++- drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 12 ++++++------ drivers/net/dpaa2/dpaa2_rxtx.c | 29 ++++++++++++++++------------- 5 files changed, 47 insertions(+), 37 deletions(-) diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c index 881dd5f..a741626 100644 --- a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c +++ b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c @@ -350,7 +350,7 @@ dpaa2_affine_qbman_swp(void) } int -dpaa2_affine_qbman_swp_sec(void) +dpaa2_affine_qbman_ethrx_swp(void) { unsigned int lcore_id = rte_lcore_id(); uint64_t tid = syscall(SYS_gettid); @@ -361,35 +361,36 @@ dpaa2_affine_qbman_swp_sec(void) else if (lcore_id >= RTE_MAX_LCORE) return -1; - if (dpaa2_io_portal[lcore_id].sec_dpio_dev) { + if (dpaa2_io_portal[lcore_id].ethrx_dpio_dev) { DPAA2_BUS_DP_INFO( "DPAA Portal=%p (%d) is being shared between thread" " %" PRIu64 " and current %" PRIu64 "\n", - dpaa2_io_portal[lcore_id].sec_dpio_dev, - dpaa2_io_portal[lcore_id].sec_dpio_dev->index, + dpaa2_io_portal[lcore_id].ethrx_dpio_dev, + dpaa2_io_portal[lcore_id].ethrx_dpio_dev->index, dpaa2_io_portal[lcore_id].sec_tid, tid); - RTE_PER_LCORE(_dpaa2_io).sec_dpio_dev - = dpaa2_io_portal[lcore_id].sec_dpio_dev; + RTE_PER_LCORE(_dpaa2_io).ethrx_dpio_dev + = dpaa2_io_portal[lcore_id].ethrx_dpio_dev; rte_atomic16_inc(&dpaa2_io_portal - [lcore_id].sec_dpio_dev->ref_count); + [lcore_id].ethrx_dpio_dev->ref_count); dpaa2_io_portal[lcore_id].sec_tid = tid; DPAA2_BUS_DP_DEBUG( "Old Portal=%p (%d) affined thread" " - %" PRIu64 "\n", - dpaa2_io_portal[lcore_id].sec_dpio_dev, - dpaa2_io_portal[lcore_id].sec_dpio_dev->index, + dpaa2_io_portal[lcore_id].ethrx_dpio_dev, + dpaa2_io_portal[lcore_id].ethrx_dpio_dev->index, tid); return 0; } /* Populate the dpaa2_io_portal structure */ - dpaa2_io_portal[lcore_id].sec_dpio_dev = dpaa2_get_qbman_swp(lcore_id); + dpaa2_io_portal[lcore_id].ethrx_dpio_dev = + dpaa2_get_qbman_swp(lcore_id); - if (dpaa2_io_portal[lcore_id].sec_dpio_dev) { - RTE_PER_LCORE(_dpaa2_io).sec_dpio_dev - = dpaa2_io_portal[lcore_id].sec_dpio_dev; + if (dpaa2_io_portal[lcore_id].ethrx_dpio_dev) { + RTE_PER_LCORE(_dpaa2_io).ethrx_dpio_dev + = dpaa2_io_portal[lcore_id].ethrx_dpio_dev; dpaa2_io_portal[lcore_id].sec_tid = tid; return 0; } else { diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.h b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.h index c0bd878..d593eea 100644 --- a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.h +++ b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.h @@ -13,7 +13,7 @@ struct dpaa2_io_portal_t { struct dpaa2_dpio_dev *dpio_dev; - struct dpaa2_dpio_dev *sec_dpio_dev; + struct dpaa2_dpio_dev *ethrx_dpio_dev; uint64_t net_tid; uint64_t sec_tid; void *eventdev; @@ -25,8 +25,8 @@ RTE_DECLARE_PER_LCORE(struct dpaa2_io_portal_t, _dpaa2_io); #define DPAA2_PER_LCORE_DPIO RTE_PER_LCORE(_dpaa2_io).dpio_dev #define DPAA2_PER_LCORE_PORTAL DPAA2_PER_LCORE_DPIO->sw_portal -#define DPAA2_PER_LCORE_SEC_DPIO RTE_PER_LCORE(_dpaa2_io).sec_dpio_dev -#define DPAA2_PER_LCORE_SEC_PORTAL DPAA2_PER_LCORE_SEC_DPIO->sw_portal +#define DPAA2_PER_LCORE_ETHRX_DPIO RTE_PER_LCORE(_dpaa2_io).ethrx_dpio_dev +#define DPAA2_PER_LCORE_ETHRX_PORTAL DPAA2_PER_LCORE_ETHRX_DPIO->sw_portal /* Variable to store DPAA2 platform type */ extern uint32_t dpaa2_svr_family; @@ -39,7 +39,7 @@ struct dpaa2_dpio_dev *dpaa2_get_qbman_swp(int cpu_id); int dpaa2_affine_qbman_swp(void); /* Affine additional DPIO portal to current crypto processing thread */ -int dpaa2_affine_qbman_swp_sec(void); +int dpaa2_affine_qbman_ethrx_swp(void); /* allocate memory for FQ - dq storage */ int diff --git a/drivers/bus/fslmc/rte_bus_fslmc_version.map b/drivers/bus/fslmc/rte_bus_fslmc_version.map index b7db074..f519651 100644 --- a/drivers/bus/fslmc/rte_bus_fslmc_version.map +++ b/drivers/bus/fslmc/rte_bus_fslmc_version.map @@ -2,7 +2,6 @@ DPDK_17.05 { global: dpaa2_affine_qbman_swp; - dpaa2_affine_qbman_swp_sec; dpaa2_alloc_dpbp_dev; dpaa2_alloc_dq_storage; dpaa2_free_dpbp_dev; @@ -101,3 +100,10 @@ DPDK_18.02 { rte_fslmc_get_device_count; } DPDK_17.11; + +DPDK_18.05 { + global: + + dpaa2_affine_qbman_ethrx_swp; + +} DPDK_18.02; diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c index 7c80df6..d02d821 100644 --- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c +++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c @@ -1159,14 +1159,14 @@ dpaa2_sec_enqueue_burst(void *qp, struct rte_crypto_op **ops, qbman_eq_desc_set_response(&eqdesc, 0, 0); qbman_eq_desc_set_fq(&eqdesc, dpaa2_qp->tx_vq.fqid); - if (!DPAA2_PER_LCORE_SEC_DPIO) { - ret = dpaa2_affine_qbman_swp_sec(); + if (!DPAA2_PER_LCORE_DPIO) { + ret = dpaa2_affine_qbman_swp(); if (ret) { DPAA2_SEC_ERR("Failure in affining portal"); return 0; } } - swp = DPAA2_PER_LCORE_SEC_PORTAL; + swp = DPAA2_PER_LCORE_PORTAL; while (nb_ops) { frames_to_send = (nb_ops >> 3) ? MAX_TX_RING_SLOTS : nb_ops; @@ -1307,14 +1307,14 @@ dpaa2_sec_dequeue_burst(void *qp, struct rte_crypto_op **ops, const struct qbman_fd *fd; struct qbman_pull_desc pulldesc; - if (!DPAA2_PER_LCORE_SEC_DPIO) { - ret = dpaa2_affine_qbman_swp_sec(); + if (!DPAA2_PER_LCORE_DPIO) { + ret = dpaa2_affine_qbman_swp(); if (ret) { DPAA2_SEC_ERR("Failure in affining portal"); return 0; } } - swp = DPAA2_PER_LCORE_SEC_PORTAL; + swp = DPAA2_PER_LCORE_PORTAL; dq_storage = dpaa2_qp->rx_vq.q_storage->dq_storage[0]; qbman_pull_desc_clear(&pulldesc); diff --git a/drivers/net/dpaa2/dpaa2_rxtx.c b/drivers/net/dpaa2/dpaa2_rxtx.c index 532de94..d1cfe95 100644 --- a/drivers/net/dpaa2/dpaa2_rxtx.c +++ b/drivers/net/dpaa2/dpaa2_rxtx.c @@ -481,14 +481,15 @@ dpaa2_dev_prefetch_rx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts) struct queue_storage_info_t *q_storage = dpaa2_q->q_storage; struct rte_eth_dev *dev = dpaa2_q->dev; - if (unlikely(!DPAA2_PER_LCORE_DPIO)) { - ret = dpaa2_affine_qbman_swp(); + if (unlikely(!DPAA2_PER_LCORE_ETHRX_DPIO)) { + ret = dpaa2_affine_qbman_ethrx_swp(); if (ret) { DPAA2_PMD_ERR("Failure in affining portal"); return 0; } } - swp = DPAA2_PER_LCORE_PORTAL; + swp = DPAA2_PER_LCORE_ETHRX_PORTAL; + if (unlikely(!q_storage->active_dqs)) { q_storage->toggle = 0; dq_storage = q_storage->dq_storage[q_storage->toggle]; @@ -500,11 +501,12 @@ dpaa2_dev_prefetch_rx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts) qbman_pull_desc_set_fq(&pulldesc, fqid); qbman_pull_desc_set_storage(&pulldesc, dq_storage, (dma_addr_t)(DPAA2_VADDR_TO_IOVA(dq_storage)), 1); - if (check_swp_active_dqs(DPAA2_PER_LCORE_DPIO->index)) { + if (check_swp_active_dqs(DPAA2_PER_LCORE_ETHRX_DPIO->index)) { while (!qbman_check_command_complete( - get_swp_active_dqs(DPAA2_PER_LCORE_DPIO->index))) + get_swp_active_dqs( + DPAA2_PER_LCORE_ETHRX_DPIO->index))) ; - clear_swp_active_dqs(DPAA2_PER_LCORE_DPIO->index); + clear_swp_active_dqs(DPAA2_PER_LCORE_ETHRX_DPIO->index); } while (1) { if (qbman_swp_pull(swp, &pulldesc)) { @@ -516,8 +518,9 @@ dpaa2_dev_prefetch_rx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts) break; } q_storage->active_dqs = dq_storage; - q_storage->active_dpio_id = DPAA2_PER_LCORE_DPIO->index; - set_swp_active_dqs(DPAA2_PER_LCORE_DPIO->index, dq_storage); + q_storage->active_dpio_id = DPAA2_PER_LCORE_ETHRX_DPIO->index; + set_swp_active_dqs(DPAA2_PER_LCORE_ETHRX_DPIO->index, + dq_storage); } dq_storage = q_storage->active_dqs; @@ -583,11 +586,11 @@ dpaa2_dev_prefetch_rx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts) num_rx++; } while (pending); - if (check_swp_active_dqs(DPAA2_PER_LCORE_DPIO->index)) { + if (check_swp_active_dqs(DPAA2_PER_LCORE_ETHRX_DPIO->index)) { while (!qbman_check_command_complete( - get_swp_active_dqs(DPAA2_PER_LCORE_DPIO->index))) + get_swp_active_dqs(DPAA2_PER_LCORE_ETHRX_DPIO->index))) ; - clear_swp_active_dqs(DPAA2_PER_LCORE_DPIO->index); + clear_swp_active_dqs(DPAA2_PER_LCORE_ETHRX_DPIO->index); } /* issue a volatile dequeue command for next pull */ while (1) { @@ -599,8 +602,8 @@ dpaa2_dev_prefetch_rx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts) break; } q_storage->active_dqs = dq_storage1; - q_storage->active_dpio_id = DPAA2_PER_LCORE_DPIO->index; - set_swp_active_dqs(DPAA2_PER_LCORE_DPIO->index, dq_storage1); + q_storage->active_dpio_id = DPAA2_PER_LCORE_ETHRX_DPIO->index; + set_swp_active_dqs(DPAA2_PER_LCORE_ETHRX_DPIO->index, dq_storage1); dpaa2_q->rx_pkts += num_rx;