From patchwork Tue Jan 17 18:52:54 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hemant Agrawal X-Patchwork-Id: 19593 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 4DF97FA68; Tue, 17 Jan 2017 14:21:06 +0100 (CET) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0042.outbound.protection.outlook.com [104.47.36.42]) by dpdk.org (Postfix) with ESMTP id 9C6B4FACB for ; Tue, 17 Jan 2017 14:21:03 +0100 (CET) Received: from BN3PR0301CA0048.namprd03.prod.outlook.com (10.160.152.144) by DM5PR03MB2475.namprd03.prod.outlook.com (10.168.233.21) 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:21:01 +0000 Received: from BL2FFO11FD029.protection.gbl (2a01:111:f400:7c09::129) by BN3PR0301CA0048.outlook.office365.com (2a01:111:e400:401e::16) 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:21:00 +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 BL2FFO11FD029.mail.protection.outlook.com (10.173.160.69) 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:21:00 +0000 Received: from bf-netperf1.idc ([10.232.134.28]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v0HDJ8me021741; Tue, 17 Jan 2017 06:20:57 -0700 From: Hemant Agrawal To: CC: , , , , , , Hemant Agrawal Date: Wed, 18 Jan 2017 00:22:54 +0530 Message-ID: <1484679174-4174-34-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: 131291328604459119; (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)(336005)(7916002)(39850400002)(39860400002)(39450400003)(39400400002)(39840400002)(39410400002)(39380400002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(36756003)(38730400001)(48376002)(86362001)(6916009)(54906002)(50466002)(85426001)(305945005)(4326007)(104016004)(189998001)(76176999)(50986999)(97736004)(5660300001)(81166006)(575784001)(2950100002)(8936002)(6666003)(68736007)(50226002)(5003940100001)(47776003)(2906002)(81156014)(92566002)(105606002)(77096006)(8656002)(106466001)(626004)(110136003)(356003)(8676002)(2351001)(30001)(33646002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR03MB2475; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD029; 1:PVvZH4Xe16oApugRMf0L7Zfz3HUcGZjPlJ50Qc88BAlIO1i2fFiKorJz3oLMgg7115YdP4Xmij/YEvGp1jRXKHSt7T4aI/wXtcszr+GVjZkdnApZDTQMjPBWXzugEaTnm6JxKe+vOYaxVN5u2ACdtq8DWC9tzglXYn4iPU4BojzUG9m2S+Wxu8/KFS+hJcoQaURrYJ8nNibk7AhKUGl8G7X8wW+VqtyaDFXgkECAmwGOO5BMjuh73RNdsk+c1St7p5jSjknf9R6VPV1sDiWe+pgrR2H/5my0bi1BcDAydN5CgsycUfi+ZfWB9jGcnImE+C/UQcUn7lKoQ1DribTaWGTv5lMj/YC4104l1yTqoX4IgUDI72/TZdt+U+udVFh4wBSbanWp0h9A7vMPuoYcLWyewfsMTbmoW0yjRHc1Y6SRhMM4IXWr5WwVo6hIFN1PS6AAis/p+OoP4X3oB0igWOqhqEEucfctoUQrz7j5QvmhPQh/a7KM70hIA8SBi3POVof35Re1ITMpjQQdQwuw5IhRjfMzhrDIXjv6ntAHCGHxKiAnQxp5+gdGF75Vk96wkD5WJEg8eSCr/kgQmCRbYXXGYtQiT0PEd+1t6b22mLfbqdsLSD40H11LtX9FFgQe6+i9cHrv9AUWOCoX7gV0Iuec/WHIuBq632jbe2dauXVDYLLupXHcmYbBh/lOPAJS8q3HmJoXpnpi5WX3f/UhoDyWSouEltR58tInrBX1lPHv//oObcLSGIu3SL4MP9e0 MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 1da83a64-65b5-4cc2-d06f-08d43edbae05 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:DM5PR03MB2475; X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2475; 3:+9qngzaNYlTFfd+Ng7ZYO49KSpVRi+jQrb4zgzKpRhwMXJGVy/7r5cmaPjWZ5cjE8IkFJuDPnoqSiofx8uTdaieN/qri77gXoAY2EGfGuU8GUEZhkndzyXp5ph9rS0eI9tTU2sxhaO5qd25f+XE/OcEqrZ/043BY53qzWJoUGLfKlZgmIneR3HZKUC1HaAzfhyo0+EYkw1wb/utofYJIS3AkGvu0E+iQKCxGK2gzD6QIaWIPRMUyjZE0iJNysAKmdYXND5lIxFqdK/dUR+WmcPsBBVPo/Go600Ujvm81Muj30KZHHDODm4VdV14j7QbNCg4UA948Rbns4mqh+P0YMjoUHErgfI1zWZT9Qxe4rEAOT+Cq3XnK8cUinQrNkraP; 25:wys61gCDjCuji1TWTOXLDqRC1WfEMNXD4SUSQgd46aUsczaPoedeWKJF22A5SWwlCLCNpK1LXgWaTJHz4GrrBqlK7HYdOyS6kk9bdXSp/anNhfiSub/uq1ook8pQPuSURHw6EOVCvUQ8nBzDd3hVhBSx3A87hk6rTMf/3cDvjEcQlfscOSvE9j0zLkeg22sG5IrUcD+yokGCTPekgxU8AI71+9iWzzW8Qyd/+YhURnGu3f6fP7wBJZWktn7eQwEyX1BZ1GUbCkZaDgQOwUlG8XsdrVrbIlUYSkMgZPlRNu0GDKLreAfIJ0efMMy7FV9TmQKLeS2k9zZGNUHwrlhJ/SCi1gULgNb/Q0gwPe5zuIuzDVA+mrnCWnA0oNhft7xNk7xkilcBM/3hf28/HnVQYncAFtff5EZBNXeVf8Ulda6t1pktgZLEouZuPffGKlocUovi8s0UezzbguOPBnVEYQ== X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2475; 31:/7V4XGq2TIttK3LQZLFa2y0tOlxAE86V5MEWjwsvHRIc0uxIVXY67KIZ0scKY79yIQT1eHG4z8IXz4yOravwEBXZcS5xTRKIRGpFItUgCgTVoHd4f/TSUP1aUXAqTt+V6ZtPoY+EugfkIZ7DdxXJNZyGGjdg61wPqgkDTjJedzyMaHCONzQ2+gZzWgtMfGV0sKI5lqEEtOAk+5YdINH8IH7It3Ypw5HUDLgc/Txwe3KkXR4RC/Pd4/gpf949i0zFaB2k65uaCZ54QPjxoT/YAQ== 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)(5005006)(8121501046)(13017025)(13023025)(13024025)(13015025)(13018025)(10201501046)(3002001)(6055026)(6096035)(20161123565025)(20161123563025)(20161123556025)(20161123561025)(20161123559025); SRVR:DM5PR03MB2475; BCL:0; PCL:0; RULEID:(400006); SRVR:DM5PR03MB2475; X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2475; 4:lrlTyFO8yrLzoMtm9gDzsBk4SGKprPMumBUTKbo/1+qu9m8XfdnMm2E02Ik4N4/LmWPJ3EMcK6eOTfvffICKVub4/QG6dBvm9L68hKCDwn+xTjsKTfcKdZ8r5LPM65WTU10RW/ac1MeRZl4wuN+IXP/eJranMSuoM2B8wqcrgMVAcmd5sZoROuIRrm7fdkzqHALYdjegs+ksHynS2q3OblXg2KXSsKeIey5zZ0LvSeeUVfh6+JJ9g2IyIc7I621jq2L1Fmyrqf0QfTkADZIf5XD9kGvyKTbrWenayXtXH9DVD3p242Y3nBgttMNhTro1+VjsrV6dSdLej54y87OhCWA3V6RFUpYxTpedCKn1sQjCrDILcPmlB+xc8YCXKUv9OxEFWfL5PHeeZ8Q8jDX06ZtgTgDzqEcHTg7fd14uS4G+JvjFpJ1jbxlb9RPhLIJTe5CV/GkYC8wXQOwFig9CS6rSvH1rTWMNLRnTHFecFspz0r0p59EdOvcwwcT9I3mDlnXU25YqPk865YtHnwsvFXwTOlyM4TtNNR3Yn+Ak857w3NcAMwXghCdd0V5uk2RPG534LQdzs3TPND2WwTJzvDfLc/06od0yFxyP5eammcNbKOw4DTQ4aJV7aE/bU4Nkh8ZYeMoQmrQzdOAf7rm1oG0lRccztW5kvFhWhAnGAw3Hbo1jfJ/oTPzrtOpy37tFrCIubRCZVAKPNiDKeB9sX6fbh5lWjs4Zf7XYWV1RqwLgsJMEJjuQeemGgmplgXmoT1/EJdqIDit/VUKk8x0m1A== X-Forefront-PRVS: 01901B3451 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR03MB2475; 23:Js9ZuFC2CtKOrdk16CL5W4uq6UxVza4+V3eZJemeM?= FPnwxilrf/KpDTk8wRXgexV2lw1hvSr72ONGf1VJp8T5bveFZ7YXbFbvcg48uy3XkL5NHK/gIjsLFii6YlnGGDMBbUDjQeOPdE9x0pIndgYwfMWhaJDuCV2+YBdPZz60ycxMaspCdTd8g+8ohbECKgHb9y5Yj/ZnJwpw6xTfpvHxR0BByrtfasCK0vfxvC7Y/Kw3z/0Gr9Ig61nLTJSsjeGiMGf+8UMRsPBEVqKZv7YWNh+6Vtki0dejDNp3S8XWAwZSROWizs1x5YfPvQr5Kl4WVMGd4S23U1v1/sbbbopPyJn4vYV4bg4ezVQzOrbpGnbyajzzNo2pwg8MHzGlLfHhkHcRPJlkCN1F3dxeumlItYKxEgm+WTcIJIVMRGGLeW2lnxRCe5YR9f9aK559FTH7+G4rGR1YdDqgF2Rj7aCB6V4NGFpoFRXtFkiYm44nvUSuGRBGTAOVWcda2ECzSe4bsj/vcKdYAFh9c5O9YMVf7hanmt4sCY28Zn+7qSrud6cFLlrIZ4kXFpLg0aZOF9FD6uoKGvlvFTewS4UbDGgISuGm7phOsMFnLg1jFLybaVhshxketnN9GX3PTLdrMcd7RZzWqU/S6igLdcPY+De+w+jy1X88JKHt74Y6U5cua67P7y6IAj/HSJSf3oEfHtCSGkCjrnrT72CG1L3iwlPT3II89RvgrDKKypPc1bhcEEuFFMj8nQOpzg0W/onMYhOg02S58TSaJ/xK3jVji0ynsullM1iPq8am5oJjmkrR9l7F+ECWkHI8rYHYUBwR8dV2JqKS+FMPgVfGSLjEhOhmAopkUfUIxQg+5BVrOSyL/oJZldzq//M6XVkV6HtT4ixXD6rdIqoIxtp4OcK4jJlC0IQJBzJ1dZe3YbK1b/vCDzec0JhH4ORkhqHB32XvG2gE17uYfcqRIk/KjLnrKNIRYX30zVM79EAAZ93ULV0DLsYAEkkgd27uoFZZhcIv4dJDUG03s5v8dWZ2q4agca8i6wCV+SrpGTR38HJyNxLKeYl/VT99McHINrVjaQ860Dz5vz9v07TcqOYrONZxxtXpAmvdWTtcFhnUa0JsvKi0fNfGyRBWX14O/3Rrv6kni9qeocryF3okhTixT9uyy9s1JrbQvaD2ayND7L6I5erav1NVFn0W9sb0A2a3LPG7zZbhnDZwd3up4E7gVsvtWRiB67efNmMExwL02GAHp3Hg7hW1YoZU/onTIXhJjcgbrxM7hHnWCUAejVPJQAuJ6c4FFZTxEGnH/caGAoJHYVtppPPel2n+ltKJ6p7UvyqxFzI X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2475; 6:H06ri8xWQgTpps8mg9Zky6PmUidfgHbxcrqSNCmguBfmXfh0TTz1clczlomxarK+5oeXrGrbfNK3LhJe9BmwFUSiqHL7Eoc6TyPh2UbMr1Q/aS3Dt9nV48r0e2QQ0ytAgMmnEyx3eUcH7TwQHtGHysvRZL/IzbYPDR1Mb63SsED34VN+W8BECBi3eMYvcvBE2QyEP2sXvR6mjTwbKMYpXSK/sq4X0svxQi7T5JTIy/B9dvmOm6v9OcUvAjUWteYG4w+vSjhT0JGKfqtegrdJJgtG8NWh3z5spJB9wzfQBcA+3RjL9FUDrgkr/AibA09yTxVbZvSKlGmPJFKS68qf19fZUhp/9o/swoPvezqakh91yYO4iiaUV1y5XiuXrvXKO/hUNdlMu6ey/NyAu/Q8yGU35VNtsL+UKWClUbXAd3k4fgpbN6vJT7vvikPJBb8d; 5:ArL6wSplZZRBqoDZgTnE4DkHdBNambghc7LLGPQXaj+8AoGN09kdxcWz7iLLXZcWLFyTMU++COnMy95muzQq38GJ8yQ7PPKAdIhEbeLuNRM2kPoP9aLEef6IWH0eaPkofhtfAxxz1iLMeFuXuR1vh6lMYJbU4xMSgttDiRYMvdACXqecUFYwsjuqORVcTmbQ; 24:qiUgNTjXOKj/JwFEH0UEiU265xekM8Kz465IDsvMK5jx2VoQRr9JheU5IPkj0c8fEGV0xhOvWz5e+wFL1S8atygOV8HXCH8s1PVF7Lh5dK4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB2475; 7:Tzkn+5HVRP43S52syh7UXkhq7RTFFpBHKZBd1aJHAKfaMxuYye6kvQg373IuA3asczH2ZVIcD88S8v2A4R3gYhD5UYbhMjvyQCPEwN/K4S95YWEYcVISSblbJH3yIhohuHUA5FZ8MtxuWRBq4eVPVUINy9HEmFV6YYNcYzepRArquIepICsTjBEyOVADcYUYM72lglDtsPvNMTaMmQncUhFkD0ITRHbF8C5Va/RNQ0xN8I6xyppuUViurBc5jywLO1frnXoD86UO26VwbEIbHfNNARQnSl78XG0SMot2/XlXNCEhEK4VuEkUNtckN04Ca6IGsCC58z+gMMKda5BRHgzOggQUiSsTSTmiwe2LCxq11BqN3c6teuv+lpEkHGVibEamsU874vNdk6sAgu1CugxWXzyVeB6A+y3wkjwZUaiQ5/MBVluoodzpxKEHNlETbsDehaaRFf7AOOOILNxlUw== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2017 13:21:00.2431 (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: DM5PR03MB2475 Subject: [dpdk-dev] [PATCHv4 33/33] drivers/common/dpaa2: frame queue based dq storage alloc 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" This patch adds generic functions for allowing dq storage for the frame queues. As the frame queues are common resource for different drivers this is helpful. Signed-off-by: Hemant Agrawal --- drivers/bus/fslmc/portal/dpaa2_hw_dpio.c | 32 ++++++++++++++++++++++++++ drivers/bus/fslmc/portal/dpaa2_hw_dpio.h | 7 ++++++ drivers/bus/fslmc/rte_pmd_fslmcbus_version.map | 2 ++ drivers/net/dpaa2/dpaa2_ethdev.c | 8 +++---- 4 files changed, 45 insertions(+), 4 deletions(-) diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c index d7de0d5..55b5ad7 100644 --- a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c +++ b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c @@ -407,3 +407,35 @@ static inline struct dpaa2_dpio_dev *dpaa2_get_qbman_swp(void) return 0; } + +void +dpaa2_free_dq_storage(struct queue_storage_info_t *q_storage) +{ + int i = 0; + + for (i = 0; i < NUM_DQS_PER_QUEUE; i++) { + if (q_storage->dq_storage[i]) + rte_free(q_storage->dq_storage[i]); + } +} + +int +dpaa2_alloc_dq_storage(struct queue_storage_info_t *q_storage) +{ + int i = 0; + + for (i = 0; i < NUM_DQS_PER_QUEUE; i++) { + q_storage->dq_storage[i] = rte_malloc(NULL, + DPAA2_DQRR_RING_SIZE * sizeof(struct qbman_result), + RTE_CACHE_LINE_SIZE); + if (!q_storage->dq_storage[i]) + goto fail; + } + return 0; +fail: + i -= 1; + while (i >= 0) + rte_free(q_storage->dq_storage[i]); + + return -1; +} diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.h b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.h index b1a1b8f..f2e1168 100644 --- a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.h +++ b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.h @@ -59,5 +59,12 @@ struct dpaa2_io_portal_t { /* Affine additional DPIO portal to current crypto processing thread */ int dpaa2_affine_qbman_swp_sec(void); +/* allocate memory for FQ - dq storage */ +int +dpaa2_alloc_dq_storage(struct queue_storage_info_t *q_storage); + +/* free memory for FQ- dq storage */ +void +dpaa2_free_dq_storage(struct queue_storage_info_t *q_storage); #endif /* _DPAA2_HW_DPIO_H_ */ diff --git a/drivers/bus/fslmc/rte_pmd_fslmcbus_version.map b/drivers/bus/fslmc/rte_pmd_fslmcbus_version.map index 17befc7..bccdc75 100644 --- a/drivers/bus/fslmc/rte_pmd_fslmcbus_version.map +++ b/drivers/bus/fslmc/rte_pmd_fslmcbus_version.map @@ -4,7 +4,9 @@ DPDK_17.02 { dpaa2_affine_qbman_swp; dpaa2_affine_qbman_swp_sec; dpaa2_alloc_dpbp_dev; + dpaa2_alloc_dq_storage; dpaa2_free_dpbp_dev; + dpaa2_free_dq_storage; dpbp_disable; dpbp_enable; dpbp_get_attributes; diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c index 183b5b1..695ee61 100644 --- a/drivers/net/dpaa2/dpaa2_ethdev.c +++ b/drivers/net/dpaa2/dpaa2_ethdev.c @@ -49,6 +49,7 @@ #include #include #include +#include #include "dpaa2_ethdev.h" @@ -170,9 +171,8 @@ memset(dpaa2_q->q_storage, 0, sizeof(struct queue_storage_info_t)); - dpaa2_q->q_storage->dq_storage[0] = rte_malloc(NULL, - DPAA2_DQRR_RING_SIZE * sizeof(struct qbman_result), - RTE_CACHE_LINE_SIZE); + if (dpaa2_alloc_dq_storage(dpaa2_q->q_storage)) + goto fail; } for (i = 0; i < priv->nb_tx_queues; i++) { @@ -196,7 +196,7 @@ mc_q = priv->rx_vq[0]; while (i >= 0) { dpaa2_q = (struct dpaa2_queue *)priv->rx_vq[i]; - rte_free(dpaa2_q->q_storage->dq_storage[0]); + dpaa2_free_dq_storage(dpaa2_q->q_storage); rte_free(dpaa2_q->q_storage); priv->rx_vq[i--] = NULL; }