From patchwork Thu Jan 19 13:24:00 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hemant Agrawal X-Patchwork-Id: 19804 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 B2420FA60; Thu, 19 Jan 2017 14:26:37 +0100 (CET) Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0073.outbound.protection.outlook.com [104.47.41.73]) by dpdk.org (Postfix) with ESMTP id AA2EBFA45 for ; Thu, 19 Jan 2017 14:26:04 +0100 (CET) Received: from BN6PR03CA0050.namprd03.prod.outlook.com (10.173.137.12) by BY2PR0301MB0742.namprd03.prod.outlook.com (10.160.63.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.845.12; Thu, 19 Jan 2017 13:26:02 +0000 Received: from BY2FFO11FD047.protection.gbl (2a01:111:f400:7c0c::104) by BN6PR03CA0050.outlook.office365.com (2603:10b6:404:4c::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; Thu, 19 Jan 2017 13:26:01 +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 BY2FFO11FD047.mail.protection.outlook.com (10.1.15.175) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.803.8 via Frontend Transport; Thu, 19 Jan 2017 13:26: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 v0JDO4fB015351; Thu, 19 Jan 2017 06:25:58 -0700 From: Hemant Agrawal To: CC: , , , , , , Hemant Agrawal Date: Thu, 19 Jan 2017 18:54:00 +0530 Message-ID: <1484832240-2048-36-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1484832240-2048-1-git-send-email-hemant.agrawal@nxp.com> References: <1484679174-4174-1-git-send-email-hemant.agrawal@nxp.com> <1484832240-2048-1-git-send-email-hemant.agrawal@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131293059611118716; (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)(39860400002)(39450400003)(39400400002)(39840400002)(39850400002)(39380400002)(39410400002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(54906002)(85426001)(77096006)(8656002)(2351001)(68736007)(50986999)(76176999)(189998001)(8936002)(8676002)(5003940100001)(81166006)(81156014)(36756003)(53936002)(38730400001)(97736004)(48376002)(50466002)(6666003)(33646002)(626004)(2950100002)(50226002)(2906002)(6916009)(92566002)(47776003)(356003)(575784001)(86362001)(104016004)(305945005)(106466001)(105606002)(110136003)(5660300001)(4326007); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR0301MB0742; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD047; 1:gCjea6iBT9pwxGzbXr/i361FQ4tzvRHmcnFoZdMoax2bZ6kSem2tHxbsNzYjUrANylkv0NoOsb7XrTDjKs5plHJ/gRrmhuy29dq87f4CaR543ZCSo3eZOL64vHwYslhPscDX9lNHLr54q/UOczYquoVFImTnbtUk69I4+81+XB2+NocFEWpytVreR7TZByJetXf4+6K2rjOP1pjHTtJY9ojUISXrJ8W3/ymTjt00kAHpKmBLCKjPJAxrWYKU5KXWm2n9NfVw9Zm5fDTGaOpJuJaR2JJ01NlmQmlQKa1DF/Vtv4hwi1Oxd6EHBFPar3UXNnpfPkH1N7B29UubhdqMyIloODPI2K+3Tnq99JIwks20b5VRo7h/n9t1Rg0/8LtlU/+BKvy6XBoYYDagMRxNhoNwkHkPgwH5rPMU1zu0OrTs6Y4JEhMKyV3opdd3siOmSd3O5iJ2KgwUqJ5sNZUAyPc5mbLyCbPpslNxNybBFP1v5xnHDudvKX9P8M/L6Oam89brthHHvoRdeWyUt/ob81Kpx8L/4+mSim3aVQ2DUGTzebVZQYZbOJN2pB+53FgvYjSgNcxgB2FYrPEU6GIieSu4jy96bex/pAOYQd1O6Tje/YSVp8jF0fOIi9IpxiAOZ8sBzlRO/qYVASW3aHSCRSOOvHCZHCneDxbZ24Sq07uO6qkRmTWu0gbc3+qmViOwTx4rl0XuboVxw/zb2dDpds7GmJxKPnNiPhkQLdPcnUM3a133sFCLKHAwin7NRwqH MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: e29f8723-ded8-47da-eb21-08d4406eb60c X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BY2PR0301MB0742; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0742; 3:ZoL1z7rx4O74owZAW3HOYv/kiEwn0U8uoDlCVVq2JTB3VRQZ8O7WB32ISkx4e/8Z6J8dHnko5dNdmlDSZ+tWi9SCzhK4sKosXMNbrVwzRio7XtIU2675wt3rqofEoQG6IUGsmet58KCHPr59wdowHRUulsBgnMcpAuq6UUydTuXJP5Ca112IUtSkpH0qVOqCsKrLQRsDuNEtt/Pc/PfflmorIzpb5CQM2PdSM+AcJWhgx5Wx/KnpVtnp4BNU14e87/Ug8BxbH1XEo5NUDbuppt5CXds0cARe6jqix4ZgIk7ye1v8/+t16A68ACzQIMOWgoc8twbA2q56Wu+XrF02WjVISCeG8rSQtQ9MXVNz8tsb+B2eNROgPmZI4T5m/omX; 25:x4Pv6uWoYXgTy5RLBHoPWf9m+Keh5mz751njSVa1EcnsgXY0dgZgRT7x8aELJHV1VxlZHL7ZSMa994Y3WVj7/DpyhMeJa+hiP9f1EWTNDIRfYSb0ov9McbMo3rPE43efu9EIBfYklz4eAad2ctDF93G8Na3wS6nRGsdLstg1vyh2qawAEzCcXaX2Bo0n5pmRTT2P5DR93hn9rbJBHvOzovBubIvtDHVCKL0nq2MRESW5MkV6ko8r0ukkLa3DE+gwsFIgTdYR5v/9CozI5Q7MTQiaTQB8GU51lDHiLR2JBFlNNv8SGuJoP1lWex0OWcIyGBV90RIlaaDIL0eHJJqcqmXR+SviQMaYZ7XE5+li7uGJ3abZ+xHzBf/6vlqjcBENM5861jfh+OBAJy3zyeDWnlbKku9apwKvcXVZB4NOnv0DsVFhhQyAADgPB8IA21UuRmsOPr8nFLB77bAXPJUEjA== X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0742; 31:1ZfOCfR0CsuLX9uR/KQ0rQMgiYMG844BX0KVUXEnWY7g2jhzdz6yBoPesBsZV6x7NP+5LuxYmmTrtUdZG33k1lXa88AN3S+ZA2wEYjXf+Ir0mWOehdFI5exSei9neqgSEyUuJyZOeqJAN/lcenalDwpGQpyya7akyL1c4cbaA68R6iMFTYBMI0XuAcfO4FXnFgvgkDIG7lkJXTWi+/dsUu75/qa2ybBawlOpaPgaBWaMUHXBxdjX4v0pr5oOU7TsTVbglX+NL/P1Vow0u5BL3R0KVUq/3bktnT6zSJx3XKA= 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)(13023025)(13017025)(13015025)(13024025)(13018025)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6096035)(20161123561025)(20161123559025)(20161123556025)(20161123563025)(20161123565025); SRVR:BY2PR0301MB0742; BCL:0; PCL:0; RULEID:(400006); SRVR:BY2PR0301MB0742; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0742; 4:WOUKTkXNRGEf9oWoW1yPKczuQb+FdbKgc3bQHvgg75iGblxpfdTPH95NaWentsiNs8sXz0bRpE+0UF37jzZCkR+NmArhxBIuphX9mkCwSFCfydhpHb/MC9EAU56TZIR7IQjIUh/5jGRDmE0IHPYkV4ax9pBOpklTCLR3JCGyX8Fd9E8oN7LpgP1kibBpXGkIyNAfvhiHwhfJeydvR3sU5jqzPWF9ES3ueihx65qh8HgOPQbytKGAC4JgpWu2O8FKXNA3EBlg2IUunoIsUBkd5hMTNXz8OgoJ0Vd8ybMoq0e6DwjItCiwtbQp6uPNJWiLW7xfg64lmFdjOCSSJKEH0ImgW8vVd3g5oKnNAGcXcp2JVmIlHgWUsaS75feD9vIjs+/UXvUPJdsaU81bD98VyQNajxzQBf2VReH75W3LzsRMYuxPEmU0TbDJ7zwpEdiJMEwNVQwrImZ2JcLDo5amQGM4dhRPN+0F60tlRQs+G07FF804IO3P91R9EFUXXjW6FGX2Tij+B3pUQjvu37RB+nLVtXRARWiI5D/Jk9VdhHu+U2dblWToqcOa6fY7ZPf/EW7ER2EbkuFoHgsiu49/crkoU3niLyXfIydS96RockN+5RNfuhyJXCYo1vcnFWhEEVBRno9Hz2KtqUK/c3RP165xhR/5zLNxVwtgkNy7GOPYwYijWsXW5C09rB87DuMQyS1tLjMzE76SGaMK6v3H4aa9DRoT9wdaKw0FeNMCF+xMlZR7fdxkRZgoj/pEqaFlcvkgbXoaB+a7AG4M3F7MLQ== X-Forefront-PRVS: 0192E812EC X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR0301MB0742; 23:/gAd5ZIxSqXeVm2U3ajcm0bzmcW7iq5XIrF18bi?= RYrbYaA4rcRUVH/61EGKJiUU9q6pDEeMmESI6qnOFwAMtF36Ec6nJgETk8cCuIVeXrpSqyeMazjeYPa/oNsuAkNzjpyZ1YQmGaC+XbBA3KbsdoYJbI5YmuWk6ePYd21YzNinTh/odRHP+Nh2tTesFcAkQNKEuhi+hn4PmqZeBqh/qfS+Nl870mHBE4G50dO/kH2eompBkdNfVyXm7yU3eJfzAtBgqp9+lghvL/svoiFbjnw90/NoG4G4ALIr4RKUloJuYZEp7TN4CqlFbMAhjeZfHhoKiJCck2H3J6icE8hGl2agDym9iHED6LhcuddZ4EGFE5OoJoXms64WnvtejIVWdMWNYJP4fhqV9uSgc/xWUtPvOgbYP+2D9Mwne5DiNPjE5f0+z5i1UiO2yd65U4P5dj1aw6sm6DyfYwTomREv5nBr1XRXTpIWBAJhdl/NGGzD8J1q6I1HkpIaNaZKiEtamni9x3fqBqi0oJndIUCWbu4fjNnyu0QKLqD21Hgn0i+M2ZiZZPc4xoZYFUcoGkvFvhmSFo6lEyVUIbeCfC28UKllZEHSYMd64EyTyQKSXCgUwbCVMJKWAvbT37O98cj6IxNRC0qodQYzkf79xw3Dhdx1i2w3LmHtoYi02rdMmvvZjggVbMecSzOepoFeru+TLj6/QpAAiuJmWV7shXSCOHXRRfKPLJgNsNnJ7VQxaf0tPNyLksoAxRmYz+RH82KZxknyanYtUxu0TlZ1gddqMcrQYa3JDJnoCTrhkM/1q3Gv0mKdrnksy/O9/GI5DfBwCNp+EWDGu1jScoKnIW2UoB7bYEbxFWsXoiViPJUEkXvuQd9djTh/Z5IMOwlgZaTRkbmB1UAgg8s3foQxFSVtXt70w3CFRwYyFzVt9v0DRWjpDevKvTDjc04JuAOvoP7UFr2Wg6lJvktBghAwARdwpMR+Q7IM7QlmKh1LPxbnmbBi2AO2/ozA+n6JzaPn3OQPUgrZ9z82VTdeA07qUgkATmwKbyUkMb5L4DJMZ/hrb3tKr9hyT3K8XoMalo/W64mJm4MSiPT7MflDnfSFExDnbBT9ZtYHmUYuJvzkb1eV+pKnIpFA9BeK58oS/t4uRnHtC8csP7MrOt3C2BoRhocAkc5cYQYmcbF6dTlukBtaQAVwwyDlB/hybkMg2wae/o/eV2iThecsPdwsxr7U+YD+K3Ja6Pj46KohaVidPA8Nb0CNrOAolAhy4bnnXkpZYZ5ZFBuxZQnbW3iewFCposoCSwYJnaY005voZDys8rUYYU4HYi+VwxtAGbq0kONBp0Kp5 X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0742; 6:3ftBinh0otjsuPrAm2pfuDA4s6veul8AxXErhaXmK+VBQMt3jh6P+TBeUOPjPCAzpzMxOF8NkYOwikP01zrE8BgkKXT71xOw80bUo3eAPdpjnx9o4vRsJvyaG2101aLLdKKE5n5FnsPOzdhB75YUojv9g77RTNQBSZsotC4iq80oagGiyKF68ZV5NZb3TmnnIGaUKw+O58bv5EBNmh+Lgnu9D/5C+2DOGnHRcfxbU6lWW0NiqNQNtxoKn8qu6nZexyyrcPVmwmqQTPW7Tdd1kNs5yo6QPmjNEzD9X74++YHIVPVgqhgGXLzrCqfComr47C7U2Js9o1YvLqkV1M7oklZ+QAmC2DtLq90aUjgRg/+hM9NU+egeTHrdNnG3sDB4OZbZjx8AVh5JsdQ3wPuZVbLoWirzE1fx7oTm5+fUa0TEV9o1mmwxHPJQbB9KWbK8; 5:2GFvmRwhGANI5eTlTcZngR+yGa+N+ncK1VIWx5YHwEPXLAsWDooVxBtkmfUNCxkP6JbB4QKAyJGTfo1wYySZu1GmAEYF4OxsyiLaGKCF+gIG6OqhURUSTZYrvyQuWwnyKCMKlZRBikjY17yquzGdvqWg3CSKPm2LZiSFP3vMRMxaxLdIUdCQslnSTRan+/Jl; 24:LpJh+fzzvofCZiyHfBnZg6sHiXok+PYA82qnY2Gs7H3Z4KzPbeI4RaAXPGbdNsvOzhFdFSSmsvOwXUtqF2vj4x55SmLHPohpbdsQlbj1nn8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0742; 7:XASOKVMvf1AdV17bhLvqiIr0f0Xs9SjZcAgC+biGNO8hSHYlh2kKghLNOYfs1M3by45msdnrUL5ZctvJg2twlEYEA/GhAqKL9abilAmapdVSyeZv+/uj6KP153Xlc7eNn0z8hyIMBdJYloXWV2+NsO38cohX85IDdOyrVcRGAXErO0BkIV0OB3OETynSwYHkbM1q+eck6mHM3pDNmVvXJ64ImErG52L6Gr8zDnXeJ9InzDYv2WOuQ5al25EbADDfwE5vBHndNd4oUT8ca/Bgcyq3F3fNvYHYmbMrl6YZTJdBoK0sS5egO9zbkQC6p+gzw0yc2ve1WnQpJoJ8b7Y1QK6odSThHPPmxk+4Fwj6K7qNPm2eXNUNm0m9oteHBksxN8YhO66JFFlGdH0xAVsUy+DgYrUVuloOQCUTE5ycbSzKEyfBrexQ4EEu5kAkK1DBPXx47s4E4Da9BSCx+5t9ig== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2017 13:26:00.9090 (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: BY2PR0301MB0742 Subject: [dpdk-dev] [PATCHv5 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; }