Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/46327/?format=api
http://patches.dpdk.org/api/patches/46327/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/1539076076-19786-7-git-send-email-anoob.joseph@caviumnetworks.com/", "project": { "id": 1, "url": "http://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<1539076076-19786-7-git-send-email-anoob.joseph@caviumnetworks.com>", "list_archive_url": "https://inbox.dpdk.org/dev/1539076076-19786-7-git-send-email-anoob.joseph@caviumnetworks.com", "date": "2018-10-09T09:07:39", "name": "[v4,06/23] crypto/octeontx: add global resource init", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "ce9085823c06336305a9d49dafaf560b1d7691e9", "submitter": { "id": 893, "url": "http://patches.dpdk.org/api/people/893/?format=api", "name": "Anoob Joseph", "email": "anoob.joseph@caviumnetworks.com" }, "delegate": { "id": 6690, "url": "http://patches.dpdk.org/api/users/6690/?format=api", "username": "akhil", "first_name": "akhil", "last_name": "goyal", "email": "gakhil@marvell.com" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/1539076076-19786-7-git-send-email-anoob.joseph@caviumnetworks.com/mbox/", "series": [ { "id": 1770, "url": "http://patches.dpdk.org/api/series/1770/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=1770", "date": "2018-10-09T09:07:33", "name": "Adding Cavium's OCTEON TX crypto PMD", "version": 4, "mbox": "http://patches.dpdk.org/series/1770/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/46327/comments/", "check": "fail", "checks": "http://patches.dpdk.org/api/patches/46327/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 8A7DC1B174;\n\tTue, 9 Oct 2018 11:09:06 +0200 (CEST)", "from NAM05-CO1-obe.outbound.protection.outlook.com\n\t(mail-eopbgr720088.outbound.protection.outlook.com [40.107.72.88])\n\tby dpdk.org (Postfix) with ESMTP id AF7451B170\n\tfor <dev@dpdk.org>; Tue, 9 Oct 2018 11:09:04 +0200 (CEST)", "from ajoseph83.caveonetworks.com.com (115.113.156.2) by\n\tBN7PR07MB4897.namprd07.prod.outlook.com (2603:10b6:406:ef::26) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.1207.28; Tue, 9 Oct 2018 09:08:59 +0000" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=AjOovx7TKI/qkUVWA4SxcSlynLZ9JDATee/6HPpbemE=;\n\tb=j2Z7u3HHyGX7Ywv0RmWa7s+Kdfg/cUQ/WepwKxj1klgg0QPBqfLw6qP16gtXcKOLNg6IGp+1R+CU10f/DriN/D0rHEzK5AbvQGYgBZdV/nTW1A0kTH9iv1S1PWUYu8cZFf1rtbmgp7Xnc88HObnVGDLQ3aAOFgiCNLr1PnvHyUI=", "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Anoob.Joseph@cavium.com; ", "From": "Anoob Joseph <anoob.joseph@caviumnetworks.com>", "To": "Akhil Goyal <akhil.goyal@nxp.com>,\n\tPablo de Lara <pablo.de.lara.guarch@intel.com>,\n\tThomas Monjalon <thomas@monjalon.net>", "Cc": "Anoob Joseph <anoob.joseph@caviumnetworks.com>,\n\tJerin Jacob <jerin.jacob@caviumnetworks.com>,\n\tNarayana Prasad <narayanaprasad.athreya@caviumnetworks.com>,\n\tAnkur Dwivedi <ankur.dwivedi@caviumnetworks.com>,\n\tMurthy NSSR <nidadavolu.murthy@caviumnetworks.com>,\n\tNithin Dabilpuram <nithin.dabilpuram@caviumnetworks.com>,\n\tRagothaman Jayaraman <rjayaraman@caviumnetworks.com>,\n\tSrisivasubramanian S <ssrinivasan@caviumnetworks.com>,\n\tTejasree Kondoj <kondoj.tejasree@caviumnetworks.com>, dev@dpdk.org", "Date": "Tue, 9 Oct 2018 14:37:39 +0530", "Message-Id": "<1539076076-19786-7-git-send-email-anoob.joseph@caviumnetworks.com>", "X-Mailer": "git-send-email 2.7.4", "In-Reply-To": "<1539076076-19786-1-git-send-email-anoob.joseph@caviumnetworks.com>", "References": "<1538744363-30340-1-git-send-email-anoob.joseph@caviumnetworks.com>\n\t<1539076076-19786-1-git-send-email-anoob.joseph@caviumnetworks.com>", "MIME-Version": "1.0", "Content-Type": "text/plain", "X-Originating-IP": "[115.113.156.2]", "X-ClientProxiedBy": "PN1PR0101CA0004.INDPRD01.PROD.OUTLOOK.COM\n\t(2603:1096:c00:e::14) To BN7PR07MB4897.namprd07.prod.outlook.com\n\t(2603:10b6:406:ef::26)", "X-MS-PublicTrafficType": "Email", "X-MS-Office365-Filtering-Correlation-Id": "11a56ae2-fae9-4751-acd8-08d62dc6db87", "X-Microsoft-Antispam": "BCL:0; PCL:0;\n\tRULEID:(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7153060)(7193020);\n\tSRVR:BN7PR07MB4897; ", "X-Microsoft-Exchange-Diagnostics": [ "1; BN7PR07MB4897;\n\t3:g6YYC+kqtNNQTUzD6/15G+j23TGgURk/DIFIg3OWyeyvZMPZbhCpOqle+LH2Yv3Vgct6Cwq1vUBsl3KgH/ehB/gYZjaAvhmXC0TZKnmhcT3Q+H8irJ3+BufbZIbvY6CGgY9H2mOmKDXzlblpRyAGVBgSZKRophSNloa1lGpvMcCnJlBAPnjrE/lnYNfF2oaqYCtXvniUdwoBE+8xpcBmKRdUz9tcIvM3VYgC9H/eOteLqdmbWyC90MV7qv4384Qf;\n\t25:6FbtaDZe8RLl9TGOustFZW6WQ8/03HvpIVZu4NZQB6CPDwWyT3Gr67vsQz+LsMHO5yjKNLb69gz98z4FsPijeD/h6I+6Gzlxjdw/AAUYc2k7nUCfvdp2s2M8TcUF8AhVg3F7EFIfSeLUpI95U15jYh87nIzQIAti32Eo6MZwg0nCltVn4lcCcds6LyYta2+dORuTdbqgHPao0piyip3giHi7iSpiGX0RSvfRxpai/dzyG76dwkHdm9xtdbhiPvW2j232XPCLG0f7d94kXppMB5yGmNaGDa0GGCrndZ8vjQSagfI7KAp3KrUlvz08Zck4p+YNzPMFtVU+6drpA+K4zw==;\n\t31:yptNZJQb6UJbf4mEL3/6107oEiVSHkrhtwnVmDeZf1+eIr3mHvmIv1jhERzHoMPiHbMZb2Ub2nGJLweDncI3zfzxeK9Uw/7NjBb0muyAv5OpaIvsD2/yccLxcH/1tTFwlIws6XD4ho4RNuO5NSnC9uV/+RQDD/Ou9P+URTSBHdGZ8yyxRXgl4cEP2G2ppoMm89GstUK6aNYqsZ1o7UG4W3a+d/L3+mk9lx/f6SUTk8E=", "1; BN7PR07MB4897;\n\t20:DsEA0vxF5f8fVmm8DtxpMSfeoQsUp3VgFdPFYBEdpxiWo5+nEm9mn4ETqCtWxIZIQvLXe5RDlLPelWqfP3QVCDRv1K+91FRVuN35RE2d8y/YyU+1OUTBkbhdvR3Xh4SgeKyPgwlr+dafWqWGU1Q6e53fv0Tq9ThEr8K813FtBwrnbbK3UzGT9zDPWxx+sDsJYi7qRSS8DT+varMqbZIpFVsv9f8alBBd5RGfkDz108ebrgfLOXB8VpYi3l1Pt4OfyooCMn47RZeKrWwtsRAtHqSwHPIXVUgns06XzV4WzklfriUjt0cY0M1v2ao8LLXgU+yg3jplaqYB2jhkaoF+BBfH1+tKJ5QpBke8hywlScoAzNjlXE/vpy4LF0TqmEwErOw4UfsyQlZpJzrlayVquFgmhW2uYm5FHTTaqc0UH6Vd/6yRHzfkXgk1Cu3IwNNtWvLjIMvtImjWisY8ODPEmCNAiMypHWld5ScWMZpibReBYZ+qZ+MLfEkx06As2+o6XnrcyQ8N46Yn5muk+/arEDFKV3LXg3LTSzZeY0PnlRjAQXuB05C44ijvkfhtcEqp9ysGXGakhJABMdeN0mDBRYTv3MO+mIYvFjfmAFujkTs=;\n\t4:Zy+tSgEh/mQHCwUEfqGChc9WJkoncjmwDKj9Ie+3F5oSMZo3ROP2G0v1kaNKxQ0P7cCHj3PbU3ZJVlaivMEdDqYJan1wkgbwLqrRgL3EO+qR5Ny+bgx8pLkmPX+RNMmOrg4T/9e22LgdNmLuxXyAJtUVU69GjObY1oZ++k0/HWwNKT5DQpmos8Cjgcs37YbUdvqNESr+BQxN3aExtowM+2zXpSoGXYwMq5W5ULRSDKaQaVM0QAVq/e/BDlGKPIoUPbex75BeWeHG+SpuNko8ZQ==", "=?us-ascii?Q?1; BN7PR07MB4897;\n\t23:zMTbAOBPSMjHnabjIx4wxKeT+RyOhakyIdplB1tq5?=\n\tsrk/mV4fHgLepX0huCZjnt68tY3iEfHQqWGPIItEeYh+HEOj8+E4Qs9kGlE/xpb8la2CX2U2j5Uqo0TzLSlsTF3PexwxSmZmFL2NDZahmowQEqawLLswvUqnNYOpXbtyLIFVhfmU2H8+gwGyUETz62KOo2KmVWtbd+QyCmYx2X22MQOGOKexUO7xGo6oxZvAsdy7TdTIUmnIKHM+1MfQAQ/+uIjHd95lJbjVbwx865skLZlYMupS12IUwfFTit6pGdgMmFvIKpfsbkmwQpeQ0gyzFMXSrPhYSWVGHgjpHhMJWFVOE0sWhX2GFR0xI8nOhcaZpJCQaOLElZlX6aDiXKQ+s2cqbA5MiE2jQSgM5jnY7YLCB6T/opVMdhSwd3SfN+HhfbMASbOOmtqlsC3aC/z94Y+SNwFf7J77tZ75sEtXSumLFMRJWOZO1wt0gGYokbYvzAoQi1JWKpxNs29MJxPA7oSYOCS+dFEaaLcpq4KUPEtvGJKj0UlKnLiZn09mmbe6eKmD7gCmOL0i9qMpT70SvHMJZ6Ulfe9fMcpAhREKxJfSpTZR77TLwI5DNsar1kID9NikaFYkHE+N4aNzR4IBKQhKT8ptk6sPnOBmIv/grFkjDYND7GKRkERbGLq9OzDwQZONvg7MM4ZNa4V5pzqI0VW0v2jn8dTnjU97X0hQWQAliKyShmRmC5+Rsv+L7TuJQ7Ojmg2o7YKZf4LCVciMIMvcAaKmxCWKvfwAmLzslFGu4y6nysUM9c4CBLS04vW8qU9tOFRDeg9cc5EDa+PiqKkPVCLiJCGy8K7cGRudnASVXz2WMhgZ1kxEhiX3WUWcDPz0KA0FP4jiqVzd0n5fk7IBKRFG3ZMLVxo7CWYesdEfhmqP96AH1eTtA+Z14RG8XsCyBzlOujTTB+VfmPzzStSmoPv6yxHdfB0zhUql6BjsERtvRYeryBBApSa2TVD4BOak/vakvebGfLIgxtBzCQsLJ89RPCSlbHa/CzDYgdOHX6rJLDJ4F5AnYkGJg7p8N+xJF0hHYKHV4IWSisbsS+9o1tsSclD8UrI8z9hEOKkC8meKcMmtGCxN8TwmhjA0eWJu3ZJZFOYeYijjDviv9iH8jXD49RVtXoKzv9ZF3DgIodqlo3OeEyEp+Oqqormbs61q1dJMVy/RlR/5hNzzf578qf6kS9YTO1NfX4ZXCesbw+bXayC5Y8iq3xglDbaHScyQbTpJqlMt1LA7uZWBkPS5XQkaepOfQNBhrjcLA==", "1; BN7PR07MB4897;\n\t6:ofBEwDxdHHpEbDkV/4Oa7Q68RFDj5F5HzsSqU64nb4J/qXXgW3ejUTHevxMgmMBDGsJBvwiCeqxPwaOu4OOTJ3wgfkILsxOpvdlNrlplQCLakTYx92zJdHgdU0edQslMAcfIbEWy5xVg0W6hlScEebqEn+jwgqvsuKaO+IwioDREplmnZPbJ7Rad96+5/0jiS+qWhdJcvSk0ApAmKp87+1CPXmY8Xe5EzmQyh+9MPgiVHvD+M7rn494tWR044oXtoI8/kBKh7HQQcKJAn3S6PeOSJsVkyYjoyhHYsCsh060tsH8+EMboj9jLiMw8xfTRrL+Rd/6+U2bIPo0jk/f1DwZ/4H8bYu1P4TCscX2c36FuMmYunnLAUk7QaUknuDOhnx1kVykxqOBFFtDQyWQuESxJoDF07I201+lcIaOjGrku+ORvtrp3I+BKWKlKPwiaeA6QESNsns9Honv616aohA==;\n\t5:QibA2L3NQCpDnMen8uHG54QJYYbmIpj2pbhBa4PFfKJbyS5wdehcOt80qGaIFyqVEWoKi7XP2mXupAVcQrr5wC0QDuVaXb/X6kHRJ1q4cpZHflE9/9r2q40aig1zDyinKYYExE/fct1+Ut8p8Ep8bkDJIR3MymwPa9cnLXwILXI=;\n\t7:COew1h75vq9ZCTg4j2K+yjr7JL4YeI6P71cWS6YNgNygjCaIHfZiWvF8N4TfHsZggrtlvnkmh0Y6KgWYP5/iFfnIZWFoDrV2630/0xnLsGn4aKIezEr5Z4LWXIhJOPpaIs63yk047Uyv+TNH9p3vmcASAQwp5x5q5HWunMgH1ytUVhKjYIVR9qTbD4UpQuZrsPZsUEMK5IEDDsCIQxkgUbWB4QSsfCCTb94XekfJdpJTErgIhSrfpKg3hdCK2WsP" ], "X-MS-TrafficTypeDiagnostic": "BN7PR07MB4897:", "X-Microsoft-Antispam-PRVS": "<BN7PR07MB489749E25D5F735580B1F470F8E70@BN7PR07MB4897.namprd07.prod.outlook.com>", "X-Exchange-Antispam-Report-Test": "UriScan:;", "X-MS-Exchange-SenderADCheck": "1", "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(93006095)(10201501046)(3231355)(944501410)(52105095)(149066)(150057)(6041310)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(20161123558120)(201708071742011)(7699051);\n\tSRVR:BN7PR07MB4897; BCL:0; PCL:0; RULEID:; SRVR:BN7PR07MB4897; ", "X-Forefront-PRVS": "08200063E9", "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(396003)(366004)(376002)(136003)(346002)(39860400002)(199004)(189003)(42882007)(47776003)(106356001)(6666003)(186003)(5660300001)(26005)(68736007)(16526019)(8936002)(25786009)(6116002)(2906002)(81156014)(50226002)(305945005)(81166006)(7736002)(3846002)(105586002)(478600001)(8676002)(54906003)(110136005)(48376002)(16586007)(14444005)(575784001)(6486002)(6506007)(50466002)(316002)(53936002)(386003)(51416003)(52116002)(76176011)(11346002)(6512007)(44832011)(446003)(36756003)(55236004)(956004)(2616005)(486006)(4326008)(66066001)(97736004)(72206003)(476003);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BN7PR07MB4897;\n\tH:ajoseph83.caveonetworks.com.com; FPR:; SPF:None; LANG:en;\n\tPTR:InfoNoRecords; A:1; MX:1; ", "Received-SPF": "None (protection.outlook.com: cavium.com does not designate\n\tpermitted sender hosts)", "X-Microsoft-Antispam-Message-Info": "cUU3Idy0DL8kWejwJ3utNESYXVF9yWxykgAcv6wp0c7qzbkSo760RFR9Bn/mik2o1Of6R8c7R4Pyu6GMTJXdgphFcR2WRNoot4gGuTshle6eoVvcX3fygKAfATLBR099XxBSV7kzgBZUN9vDv/rvu8Z5my+Pdor+Y1g2Nrfw55jzjTsbxTiXr2/GvJ8lA/YMJ1A27KnmqLEIanQithn35Y3ShhHQv1ObOzstF7GCmHd7waCgUnfbTjIlsdVqPFDYMFAUgX2/mg7xSeMJRIzixH2IgSmyHAZc2N48anFWOq8V8+AREPSjvuGrsdiZIr0NSh36PppUGxMqYO8DGDb1JP7upppbfplc5CpQjsxyTzc=", "SpamDiagnosticOutput": "1:99", "SpamDiagnosticMetadata": "NSPM", "X-OriginatorOrg": "caviumnetworks.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "09 Oct 2018 09:08:59.6317\n\t(UTC)", "X-MS-Exchange-CrossTenant-Network-Message-Id": "11a56ae2-fae9-4751-acd8-08d62dc6db87", "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted", "X-MS-Exchange-CrossTenant-Id": "711e4ccf-2e9b-4bcf-a551-4094005b6194", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BN7PR07MB4897", "Subject": "[dpdk-dev] [PATCH v4 06/23] crypto/octeontx: add global resource\n\tinit", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "Adding initialization of global resources. This will be saved as\nmetadata in cptvf and would be used by common code. Exit path for\nfailure case is also added along with the new routines.\n\nSigned-off-by: Ankur Dwivedi <ankur.dwivedi@caviumnetworks.com>\nSigned-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com>\nSigned-off-by: Murthy NSSR <nidadavolu.murthy@caviumnetworks.com>\nSigned-off-by: Nithin Dabilpuram <nithin.dabilpuram@caviumnetworks.com>\nSigned-off-by: Ragothaman Jayaraman <rjayaraman@caviumnetworks.com>\nSigned-off-by: Srisivasubramanian S <ssrinivasan@caviumnetworks.com>\nSigned-off-by: Tejasree Kondoj <kondoj.tejasree@caviumnetworks.com>\n---\n drivers/crypto/octeontx/Makefile | 1 +\n drivers/crypto/octeontx/meson.build | 3 +-\n drivers/crypto/octeontx/otx_cryptodev.c | 3 +\n drivers/crypto/octeontx/otx_cryptodev_hw_access.c | 11 +++\n drivers/crypto/octeontx/otx_cryptodev_hw_access.h | 3 +\n drivers/crypto/octeontx/otx_cryptodev_ops.c | 90 +++++++++++++++++++++++\n drivers/crypto/octeontx/otx_cryptodev_ops.h | 3 +\n 7 files changed, 113 insertions(+), 1 deletion(-)", "diff": "diff --git a/drivers/crypto/octeontx/Makefile b/drivers/crypto/octeontx/Makefile\nindex d755441..1808244 100644\n--- a/drivers/crypto/octeontx/Makefile\n+++ b/drivers/crypto/octeontx/Makefile\n@@ -16,6 +16,7 @@ CFLAGS += $(WERROR_FLAGS)\n LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring\n LDLIBS += -lrte_cryptodev\n LDLIBS += -lrte_pci -lrte_bus_pci\n+LDLIBS += -lrte_common_cpt\n \n VPATH += $(RTE_SDK)/drivers/crypto/octeontx\n \ndiff --git a/drivers/crypto/octeontx/meson.build b/drivers/crypto/octeontx/meson.build\nindex 4c5a40c..7f65476 100644\n--- a/drivers/crypto/octeontx/meson.build\n+++ b/drivers/crypto/octeontx/meson.build\n@@ -5,6 +5,7 @@ if host_machine.system() != 'linux'\n endif\n \n deps += ['bus_pci']\n+deps += ['common_cpt']\n name = 'octeontx_crypto'\n \n sources = files('otx_cryptodev.c',\n@@ -12,5 +13,5 @@ sources = files('otx_cryptodev.c',\n \t\t'otx_cryptodev_hw_access.c',\n \t\t'otx_cryptodev_ops.c')\n \n-cflags += '-DCPT_MODEL=CRYPTO_OCTEONTX'\n includes += include_directories('../../common/cpt')\n+cflags += '-DCPT_MODEL=CRYPTO_OCTEONTX'\ndiff --git a/drivers/crypto/octeontx/otx_cryptodev.c b/drivers/crypto/octeontx/otx_cryptodev.c\nindex 43933dd..269f045 100644\n--- a/drivers/crypto/octeontx/otx_cryptodev.c\n+++ b/drivers/crypto/octeontx/otx_cryptodev.c\n@@ -104,6 +104,9 @@ otx_cpt_pci_remove(struct rte_pci_device *pci_dev)\n \tcryptodev->device->driver = NULL;\n \tcryptodev->data = NULL;\n \n+\t/* free metapool memory */\n+\tcleanup_global_resources();\n+\n \treturn 0;\n }\n \ndiff --git a/drivers/crypto/octeontx/otx_cryptodev_hw_access.c b/drivers/crypto/octeontx/otx_cryptodev_hw_access.c\nindex 369d62b..e8a2b0b 100644\n--- a/drivers/crypto/octeontx/otx_cryptodev_hw_access.c\n+++ b/drivers/crypto/octeontx/otx_cryptodev_hw_access.c\n@@ -236,3 +236,14 @@ otx_cpt_hw_init(struct cpt_vf *cptvf, void *pdev, void *reg_base, char *name)\n \n \treturn 0;\n }\n+\n+int\n+otx_cpt_deinit_device(void *dev)\n+{\n+\tstruct cpt_vf *cptvf = (struct cpt_vf *)dev;\n+\n+\t/* Do misc work one last time */\n+\totx_cpt_poll_misc(cptvf);\n+\n+\treturn 0;\n+}\ndiff --git a/drivers/crypto/octeontx/otx_cryptodev_hw_access.h b/drivers/crypto/octeontx/otx_cryptodev_hw_access.h\nindex 73473ed..6e5731a 100644\n--- a/drivers/crypto/octeontx/otx_cryptodev_hw_access.h\n+++ b/drivers/crypto/octeontx/otx_cryptodev_hw_access.h\n@@ -142,4 +142,7 @@ otx_cpt_poll_misc(struct cpt_vf *cptvf);\n int\n otx_cpt_hw_init(struct cpt_vf *cptvf, void *pdev, void *reg_base, char *name);\n \n+int\n+otx_cpt_deinit_device(void *dev);\n+\n #endif /* _OTX_CRYPTODEV_HW_ACCESS_H_ */\ndiff --git a/drivers/crypto/octeontx/otx_cryptodev_ops.c b/drivers/crypto/octeontx/otx_cryptodev_ops.c\nindex 3bf6cd2..68c6b92 100644\n--- a/drivers/crypto/octeontx/otx_cryptodev_ops.c\n+++ b/drivers/crypto/octeontx/otx_cryptodev_ops.c\n@@ -8,11 +8,69 @@\n #include <rte_malloc.h>\n \n #include \"cpt_pmd_logs.h\"\n+#include \"cpt_pmd_ops_helper.h\"\n \n #include \"otx_cryptodev.h\"\n #include \"otx_cryptodev_hw_access.h\"\n #include \"otx_cryptodev_ops.h\"\n \n+static int otx_cryptodev_probe_count;\n+static rte_spinlock_t otx_probe_count_lock = RTE_SPINLOCK_INITIALIZER;\n+\n+static struct rte_mempool *otx_cpt_meta_pool;\n+static int otx_cpt_op_mlen;\n+static int otx_cpt_op_sb_mlen;\n+\n+/*\n+ * Initializes global variables used by fast-path code\n+ *\n+ * @return\n+ * - 0 on success, errcode on error\n+ */\n+static int\n+init_global_resources(void)\n+{\n+\t/* Get meta len for scatter gather mode */\n+\totx_cpt_op_mlen = cpt_pmd_ops_helper_get_mlen_sg_mode();\n+\n+\t/* Extra 4B saved for future considerations */\n+\totx_cpt_op_mlen += 4 * sizeof(uint64_t);\n+\n+\totx_cpt_meta_pool = rte_mempool_create(\"cpt_metabuf-pool\", 4096 * 16,\n+\t\t\t\t\t otx_cpt_op_mlen, 512, 0,\n+\t\t\t\t\t NULL, NULL, NULL, NULL,\n+\t\t\t\t\t SOCKET_ID_ANY, 0);\n+\tif (!otx_cpt_meta_pool) {\n+\t\tCPT_LOG_ERR(\"cpt metabuf pool not created\");\n+\t\treturn -ENOMEM;\n+\t}\n+\n+\t/* Get meta len for direct mode */\n+\totx_cpt_op_sb_mlen = cpt_pmd_ops_helper_get_mlen_direct_mode();\n+\n+\t/* Extra 4B saved for future considerations */\n+\totx_cpt_op_sb_mlen += 4 * sizeof(uint64_t);\n+\n+\treturn 0;\n+}\n+\n+void\n+cleanup_global_resources(void)\n+{\n+\t/* Take lock */\n+\trte_spinlock_lock(&otx_probe_count_lock);\n+\n+\t/* Decrement the cryptodev count */\n+\totx_cryptodev_probe_count--;\n+\n+\t/* Free buffers */\n+\tif (otx_cpt_meta_pool && otx_cryptodev_probe_count == 0)\n+\t\trte_mempool_free(otx_cpt_meta_pool);\n+\n+\t/* Free lock */\n+\trte_spinlock_unlock(&otx_probe_count_lock);\n+}\n+\n /* Alarm routines */\n \n static void\n@@ -31,6 +89,20 @@ otx_cpt_periodic_alarm_start(void *arg)\n \t\t\t\t otx_cpt_alarm_cb, arg);\n }\n \n+static int\n+otx_cpt_periodic_alarm_stop(void *arg)\n+{\n+\treturn rte_eal_alarm_cancel(otx_cpt_alarm_cb, arg);\n+}\n+\n+static void\n+otx_cpt_common_vars_init(struct cpt_vf *cptvf)\n+{\n+\tcptvf->meta_info.cptvf_meta_pool = otx_cpt_meta_pool;\n+\tcptvf->meta_info.cptvf_op_mlen = otx_cpt_op_mlen;\n+\tcptvf->meta_info.cptvf_op_sb_mlen = otx_cpt_op_sb_mlen;\n+}\n+\n int\n otx_cpt_dev_create(struct rte_cryptodev *c_dev)\n {\n@@ -78,6 +150,20 @@ otx_cpt_dev_create(struct rte_cryptodev *c_dev)\n \t/* Start off timer for mailbox interrupts */\n \totx_cpt_periodic_alarm_start(cptvf);\n \n+\trte_spinlock_lock(&otx_probe_count_lock);\n+\tif (!otx_cryptodev_probe_count) {\n+\t\tret = init_global_resources();\n+\t\tif (ret) {\n+\t\t\trte_spinlock_unlock(&otx_probe_count_lock);\n+\t\t\tgoto init_fail;\n+\t\t}\n+\t}\n+\totx_cryptodev_probe_count++;\n+\trte_spinlock_unlock(&otx_probe_count_lock);\n+\n+\t/* Initialize data path variables used by common code */\n+\totx_cpt_common_vars_init(cptvf);\n+\n \tc_dev->dev_ops = NULL;\n \n \tc_dev->enqueue_burst = NULL;\n@@ -95,6 +181,10 @@ otx_cpt_dev_create(struct rte_cryptodev *c_dev)\n \n \treturn 0;\n \n+init_fail:\n+\totx_cpt_periodic_alarm_stop(cptvf);\n+\totx_cpt_deinit_device(cptvf);\n+\n fail:\n \tif (cptvf) {\n \t\t/* Free private data allocated */\ndiff --git a/drivers/crypto/octeontx/otx_cryptodev_ops.h b/drivers/crypto/octeontx/otx_cryptodev_ops.h\nindex 3f2d829..ac88fa5 100644\n--- a/drivers/crypto/octeontx/otx_cryptodev_ops.h\n+++ b/drivers/crypto/octeontx/otx_cryptodev_ops.h\n@@ -5,6 +5,9 @@\n #ifndef _OTX_CRYPTODEV_OPS_H_\n #define _OTX_CRYPTODEV_OPS_H_\n \n+void\n+cleanup_global_resources(void);\n+\n int\n otx_cpt_dev_create(struct rte_cryptodev *c_dev);\n \n", "prefixes": [ "v4", "06/23" ] }{ "id": 46327, "url": "