From patchwork Mon Dec 19 20:54:13 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hemant Agrawal X-Patchwork-Id: 18194 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 BCB60FB17; Mon, 19 Dec 2016 16:23:09 +0100 (CET) Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0083.outbound.protection.outlook.com [104.47.32.83]) by dpdk.org (Postfix) with ESMTP id DCF9DFACB for ; Mon, 19 Dec 2016 16:22:32 +0100 (CET) Received: from DM5PR03CA0003.namprd03.prod.outlook.com (10.175.104.13) by BN6PR03MB2467.namprd03.prod.outlook.com (10.168.223.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.789.14; Mon, 19 Dec 2016 15:22:31 +0000 Received: from BY2FFO11FD027.protection.gbl (2a01:111:f400:7c0c::115) by DM5PR03CA0003.outlook.office365.com (2603:10b6:3:118::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.789.14 via Frontend Transport; Mon, 19 Dec 2016 15:22:30 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) 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.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BY2FFO11FD027.mail.protection.outlook.com (10.1.15.216) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.789.10 via Frontend Transport; Mon, 19 Dec 2016 15:22:29 +0000 Received: from bf-netperf1.idc ([10.232.134.28]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id uBJFKMhx029110; Mon, 19 Dec 2016 08:22:26 -0700 From: Hemant Agrawal To: CC: , , , , , , Hemant Agrawal Date: Tue, 20 Dec 2016 02:24:13 +0530 Message-ID: <1482180853-18823-35-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1482180853-18823-1-git-send-email-hemant.agrawal@nxp.com> References: <1480875447-23680-1-git-send-email-hemant.agrawal@nxp.com> <1482180853-18823-1-git-send-email-hemant.agrawal@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131266345505895833; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(7916002)(39450400003)(39840400002)(39850400002)(39380400002)(39400400002)(39410400002)(39860400002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(305945005)(50226002)(77096006)(8676002)(36756003)(626004)(189998001)(85426001)(38730400001)(5003940100001)(76176999)(104016004)(92566002)(8936002)(50986999)(81166006)(81156014)(8666005)(575784001)(86362001)(356003)(106466001)(33646002)(97736004)(68736007)(2351001)(2906002)(48376002)(69596002)(50466002)(6666003)(105606002)(2950100002)(6916009)(110136003)(47776003)(4326007)(5660300001)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR03MB2467; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD027; 1:+c1Th39m95bb9QoJwzxVHFppvB41CssLQtexMaPqcO5GnwbWYrSDR3ohGKI9yzSPNc6bL2sBzqbkCYdGYNrGapUpvopB8E+8CRfVJFzXRaTHRgRZ6+rVhBd8jbJQrmUxsj7pBgxlbUF6ibClmlntgy5im371rRxJ3CdrzLudKiASEtuT/kwqb5TrHdRY6kg7wFVSwM95bEUy8HLUw1Sg97AhdkDDAmciWoIZNa1fMaFxPGRO1D5K88+Z2aenhKm6Q01b3UqP8Ha74Rn8CQUzN7yLWfaBk+L/m1rXk+x8UrRXwtFmOVXWkR+J7nwHZ6zF5TdWIrmhuvA6wJNH197zZkS8zUaQk7vOXdsQ8U3q26cjIXs5A9mdyIdg1auepCgJeGx82s0U/qrSfw5yARnKPzZbz+p7cMqLfwhPT2OCqp5FStfVcjusUB9lJTYh3g0+zS1VK671w1F8gSc04H8VwrtFT0AkJIkH181dyYhrTe2J642Cbqs8TM2+6mT6gwicsmebQpxa9S/QWX0Z5zsKcRnMnhMNuX8J4PSeLtxdQiZx4tdtZrgiR5PZTOEs0tlCkOhnx0o/D0oE54DKxphKy7Dtbnm+ScNOsYZt4I1MPDpxYtHDgIlgMDYVy23RCMu1Qem4+4VnElsUlhR8jZHXJ7LgGtp/w1BUKtaTKZ5v/7C8PEs1bS9YwSqPqF/6SF78U3BeFxDL63ZRywhm88XIFWydtsh/eMsZMgj5YDIr6BU+f6AfrVYC2XaiNRXHs7fXsnQo9ga1Y09+/BNoAx8+8g== MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 22cef494-f461-4751-b599-08d42822d94e X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BN6PR03MB2467; X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2467; 3:Q3QvNalDqCte0f1/hOWtxgVSI8o2+py8LKjDyvUj8ppGKFq7Of/RwhpakLfOmXQNsFxK7gb9esXIybcKHNZOONDp9ChT5p0fpNa0iFVJ3Cu9rAszSZ855EFvve+yK5yfOAmrd0ddzr3fcvGrOdAbEvXsYEBj9d5NnBHdDHnpWlPizRcfkIf5gD921bYVB7BDh2Fd4tbTho0MKVXKNtZCzv3ZI4Uu4JKQfGI9wOBA15piclKJny1zgdhMU8KLXWdkjjSrO1L09CHcO7uoSwnxfKZEbnt8UqnPkfPqGS6B9plA69odwM03t/JgatGWTZ38u4ZzFmm07jc77Bk3GtWg2e9ggagVWW0LLBWH91zMvVZUqwhyPYhO/XlmOHR5IYUH X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2467; 25:zMKRNOllqk+vy1LMnhxR4wp14bwXJIhlGdgt58PWd5dWfbmFkEOxi1Yd9JL2RqSInWinLLv8aO81S0zPVxSVzAmW6ie5/sDKm9XBvP66kDnuuTvmixCuTTNlzj+ruiG+G62+0X4uqFggXpoJ9g+zn60zQfg+COD/zRAZ4uTLoXHUVY1OQEw4MpFRBH7kaheE9z3NzO954ekYj2xTDtlueZl3nlXaFGkAj4gUCEC5NiE9vdCdQaUtohKvBR6E1E/VRZ5qjG74ob+BXARSJDT6LLgkYqYZYeViGD1Fc7MxLI1cHmuh92TNpAUgQHHYN6VHJI2lsvuRoIMGqkaOGQASt0HcSn5RmkcFmaavoZnKiOWq22yAF61Pb7uv6kwMeedctwjj7lrHPRAtZGwZfNgUXYi2cU1SnyA2lrsBoDKgRws8wrpCYtograXHQASjz5IuDP3hg+ZtvpDZV4jcl5uMmBG0+c0iTQiDE6ApP1n3EJS8qbN2bTG4uSgEaPik/YuCVNKiJTbskP8gVQ884hjC5TXeXFoxX2tXalvNMXaK52UWI6J97p1bX0PrnB24ffFK3FJ5HHoVMhIma2Fv+ESiK4CvlkuETOYgDnyG2skRbzyaaUS+mumDXY7iJzEKSpWwbM2wZAzhgjWEmS0qezXxSXXvFTVsJ+8LEJSRHa6H6RnjEjfYTtS+RmSQNtmkrNktn+s6KJL6TcvDOrTvD10KD+wnft7nAk7ROedgofC4r2kkxZu2SjgmUhs2VKlT7DZY4w3w1DzGwqcVfr6WYSDGAw== X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2467; 31:x7ZxbFkCOa9l9y99MzIw8ELxabv493fJPfpffVURiXuxlnVpHVxeJRC6H9FhDGs9qjFOPJ8J3EmAqrzrnrkf3Iu8KjdKCC4J0pbXLLeKtUHfwt01JlUov+ZJuqdHSmL16KSTjHcYeRlzi8daryGjC4wnJdN3LWILRqbSPRyRVze09lpjmBdvsDSdrHpbB7DsF9OifQHQfE9bjHbDaQnTS6yh3XKYwqikImcaizHiKZ9ObFTfqcbVsnMIaj+8fw2uuoh28OBEtqM2NVl+iW3rCA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095060)(601004)(2401047)(8121501046)(5005006)(13015025)(13023025)(13024025)(13017025)(13018025)(10201501046)(3002001)(6055026)(6096035)(20161123559025)(20161123565025)(20161123563025)(20161123556025)(20161123561025); SRVR:BN6PR03MB2467; BCL:0; PCL:0; RULEID:(400006); SRVR:BN6PR03MB2467; X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2467; 4:79PLtvBz1Mf/2C8S2EpkStool/wM9b4cWSL5m9Vm/uJslz9hO/AIRS9+cFmkEFm7xrMjv5eRUOPtJ3w3/DLeOPT9oy/vg8PM5yb4rXVztiArLP3R8IdzJ7N5p+mwhCX74bCenBnpEaWduaOOyu5cafymS0bI8WR5L7UsU25tMLrArLM1gAhTQL/h1110tKoFPa/wlLbEkSUHucJPfVkIBga6Nd8bYqLUzwAwbEYJlugAJE8szEByFpLBZTZpPf6XnbQFK6d66q0sqNLC/F5ARlnW/UOweeiv7yK+Zjjr8TTfJAQDWO7tywBh9iStWJM00eN+3xKf/mOmzCTFlNFTiIbhs9hkjQ2UF2TLEDy9BvtuUA6CRuTCPEGMQYzdc0BC1X0fvamPlOocH+hrpzEC3Y7lQDP9rkuLagjAP/ZncdnwWzv+O0CUCsa0pQmnN+Xupo9k8du65jjLUoBODETiFib/9REC3kE6U0W+S4pzDh8F68vSCULTMiwQpeq6hci6tQlAgi3NVHW0TokM5iJCPRjI5zJOcIA+cm0TKPUXyxia/7GmyklgVcjXb7YN1xH7F1Ut3nZ6u3vHYXP4ynADKx+ND45NGIfzkUbJtw7VmBlJ1uM3ORbuQG+NngBp00OQt+0s3w9hmyHaG1Q1/YIa6hIYEHI5gBJ79tZSCAXrPGmABIYJa0rZ7nkoQXQKtLsp/xe0RA11EawIaG7s8DqvgICMqdslgKU/TcGjjzt61dEeHGo3w7FhJA9gJ/ft9Jrz X-Forefront-PRVS: 01613DFDC8 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR03MB2467; 23:AqiEeCnSru4FAxS7IWDRauNLxrTYN1qSILssdc+Fc?= tsNY7SPwxQA26tVtFv3oxuEqWpy2EuDRH/8oDJ23kQ58hRGspy+wg7atG0Bld82wOljGmvkFiwTwJUJWZ4kUXxc9dD4NWJs3oqfa1cE/vukHMy8xcDbqbdZD9yBljn4fFOkNKbMqvmRe2YDBa06kXlG+wRfOJSBpWrzg7sbr2Be4pkcK6zvK7Iu2b5P9UYoDMmd+3ocTBsWKmt208M1Gacs/bi6zStIcrXbpOFfiQQ7LkZ47/PWqUH4p1xWyRkz9EVSiPMNB9uAd3kZgxWio43P5vK+4v2q1hYPendMXpSHlPPgGsmM75ihxlJdN9sm56x/Vqb1xASfSnEHH5M14qQHMBTwlVazJQxwSoXnqG5bNDm1M2jT/UNWs9V8qP2iwVk5u4LYW8Sw1ZWgxgi4O2peqv47g3/ur2rtNjCz8th7Yv2gxYPMLQQATkrZpAGAceQRzoNNYszYBIzFT6K58nsioOe6ThNBk9h8TN07DtOFni/G3R92GD5C8L/gAIzA7MsvXtEqfBr4r3rHNoaa6DJqZhyN92a6MoHHVLjyvHUHQKsBlTLdWjinLGZI+1SCfLT+kVqOwAb8vj7bRylwld65N4EeyrSzTO6R1ERNNsNBG00WTmZgtdBZZwPLdyiZKUS5Su/qqCKa++m39eOJ9odPE8piIw1rl1nSNR4Y5Q+304a7wSGG3g5SxMdebeBXyb4rtX3WYSycLbthDKoP9+GgJ+3I/2ikG68G5IaJXdwBkKbmcpLGv18HecwQdvvIY3+9KHXU54GqOzhT9Foc0OIKwtigQDF6iCVrKDnS9qtdJrF4uI+xPO0Qq1o0HG55123/W2RY1ySt1FFbR0py6G0ALf1K4HDN/zBE5t1uKM5DVGrBcm6iS6RrLZtYqrPV4FOhNGMMjgi1i2o/8jgnE7vnPcIn/UiolCEcUU58PU9zyFiqWKtD2oqsCD2OxnQs51RwLOGBsvkKuxShndLuHYn5NDlsirmnCzKOMEzGJiDe3OTbqcH9fgA9Z12SbKg2Vhl/hXqECWba7HFLgcw6cEnIiHiULiJ8uFojJaMIXUiNQuQKC7a1DezJ1Owclv0+b8Btm0PxOMK65072GHXjY2hieZbSlqaJ1Cmd04jbMZGTItCCw/DNDmDMO6nyRSWbrYcxLOuKa0agEAXggiy9Kq9VyIGikSi5K84KC9s3cDEv64NoDennrqDisE5YaRy99Z0Zh+Otjizy/2BhnwVCA5Y2V80t1osch6cS+pK8CroVbx3cqxjcTily0c0tt2l7nII0da7Ew4euSrESJcihzAeF X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2467; 6:uL42p1GeSJ990duCI5s2YJm6+pffwDtE1r36RPXWAqxIqZltT8eScAnHpZFviOwKlO8xZ1c43DawfcV91Y960m/62vCbSaJXN1lsOcP1097C0iUWBDNQtnwSWJnK13vMPRW/tQ1XuURwEqBYR7Ndgc2mimztfF5S9fKIC2wu35I4ZS8hSdjidumpa+MEqfEij8cF7PqyJlHajJw2Q6GgGMa0uT8yMFkhOJw1on+U6ScWf/yJ76Bj6FzXb/kOsHTR7JlZo5iPz26vLvqQaBFSehLhpUA5AkeFvEL0A85puibNDcERrw1aN9yYsrDA18sqO42YWRBvJURnA+mcmF9PfvdIRtXjLNOCvfMPU0PGpEUHdDdSR4Bp95g1xjMuC9YN+pgzPg2P+1/FoRAnt1KYNm0FFEJ8r8alTG4XEvmEhYrWqh6Ht5PQR/sK41+EpOPB; 5:zIjNu9s0w6mbxAsuyxUY3Ni2ThHvJVFxiBR/QD0DC2fIzeiQQMUfpfHgIJbz+1Fm6kV8sI+x+fORkrzo6LwhQmcxwFpdNpOkqVbQKFJlTFPr2a3PcrzLbWp0rFmgpK73VHwduEMXWnw0nWLFuaG91siZwdVfhJnun98I/oU3BXcPQj1SS7nkFU5xVPk9nr+G; 24:yQMvuBlmBqPVo6y+xst336UoWYFW6iyQDr1wjLqLfXa20ozBFUWgiXgl7oxd3vIlH5nFGKbdxwL5hZTMR8Yj2PRrI9bNZABYfHEjNpmcSLI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2467; 7:GrC2lZMipMG/mGEzcToTBkNciQG6N0LKrssP6/op1iCchtFDJIJl4XkoElOkQz8ImBSh/XHazm13kOIgKLrnGRj46Yp/KuM6qfhd3h+5l2SFQqBULx8wBdF9Nq3E9w718dMtJD/DPU8LrxrQPKY+FWeumiZvghv1EX+Rdi6OjFFVX6zITNYiquBiJIlUV3/W3TCe6vLDfBcY06bzln8skAQyWHG5E4C9J5wr2YdTzVwnp06HKarWDPkRGeor3DlI10F2XYwsXtNMEj4Ne6g14upazCnZSV6iA6aeJL5hIs4Rqu/SInOmVf53w59hAH46LT5SQbYcbs72eH/RWa7KOaJqzXHP6mgmPB0iSkPQFL1qF3yvMyDdnxeHQ60W4blYpjecvieF6dn/+ea8SJSNDCdrtyuu3k6or0tHwASs4/m2GJ0PMEDHlL3P6CLP9bqS+g+31ktXTKTDW5BFFHgMbw== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Dec 2016 15:22:29.9655 (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.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR03MB2467 Subject: [dpdk-dev] [PATCHv2 34/34] 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/common/dpaa2/dpio/dpaa2_hw_dpio.c | 32 +++++++++++++++++++++++++++++++ drivers/common/dpaa2/dpio/dpaa2_hw_dpio.h | 10 +++++++++- drivers/net/dpaa2/dpaa2_ethdev.c | 8 ++++---- 3 files changed, 45 insertions(+), 5 deletions(-) diff --git a/drivers/common/dpaa2/dpio/dpaa2_hw_dpio.c b/drivers/common/dpaa2/dpio/dpaa2_hw_dpio.c index d7de0d5..55b5ad7 100644 --- a/drivers/common/dpaa2/dpio/dpaa2_hw_dpio.c +++ b/drivers/common/dpaa2/dpio/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/common/dpaa2/dpio/dpaa2_hw_dpio.h b/drivers/common/dpaa2/dpio/dpaa2_hw_dpio.h index b160c0f..4d871c1 100644 --- a/drivers/common/dpaa2/dpio/dpaa2_hw_dpio.h +++ b/drivers/common/dpaa2/dpio/dpaa2_hw_dpio.h @@ -64,4 +64,12 @@ int dpaa2_create_dpio_device(struct fslmc_vfio_device *vdev, struct vfio_device_info *obj_info, int object_id); -#endif /* _FSLMC_DPIO_H_ */ +/* 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/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c index 3a90e7c..43ae4cb 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; }