From patchwork Tue Jul 24 15:05:32 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shally Verma X-Patchwork-Id: 43313 X-Patchwork-Delegate: pablo.de.lara.guarch@intel.com 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 512FE322C; Tue, 24 Jul 2018 17:06:09 +0200 (CEST) Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01hn0239.outbound.protection.outlook.com [104.47.33.239]) by dpdk.org (Postfix) with ESMTP id 020622C15 for ; Tue, 24 Jul 2018 17:06:06 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8PLwY3uA9RBL7Cv47dhu1cQqmCDTHT9mGS0CKBMa8xA=; b=ll2mTa4GDWZcAiOUSTPTavqghwlmyDZK5W9hcZR1gbiIdetxal76NCPxrAp4Oyg1LT5jJxHRDhSIIpW7MGKEFXZUks180TDoVDb422QEC8PY3ITD+XCeZl70M5+7lXREFKUrcbeAaDlF+52Pmg21z6XAcaEKz7JNnXESJJJH2V8= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Shally.Verma@cavium.com; Received: from hyd1sverma-dt.caveonetworks.com (115.113.156.2) by SN4PR0701MB3646.namprd07.prod.outlook.com (2603:10b6:803:4d::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.973.21; Tue, 24 Jul 2018 15:06:03 +0000 From: Shally Verma To: pablo.de.lara.guarch@intel.com Cc: dev@dpdk.org, pathreya@caviumnetworks.com, mchalla@caviumnetworks.com, Ashish Gupta , Sunila Sahu Date: Tue, 24 Jul 2018 20:35:32 +0530 Message-Id: <1532444736-26801-2-git-send-email-shally.verma@caviumnetworks.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1532444736-26801-1-git-send-email-shally.verma@caviumnetworks.com> References: <1532444736-26801-1-git-send-email-shally.verma@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [115.113.156.2] X-ClientProxiedBy: BM1PR0101CA0014.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:18::24) To SN4PR0701MB3646.namprd07.prod.outlook.com (2603:10b6:803:4d::12) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d7773c28-a4d1-4691-94ea-08d5f176fa9f X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(5600073)(711020)(2017052603328)(7153060)(7193020); SRVR:SN4PR0701MB3646; X-Microsoft-Exchange-Diagnostics: 1; SN4PR0701MB3646; 3:fN0u1LMXm8Gagi4Zk5Gd74PBsQ7syeouXm5MIeJMAwqZAGq5XCMgdBh9K79vGJfQPCUWiK/jwOE/CatabxRdOoYeH6Kqs6jR2Pd2S6Ofdr+tQnhkrWrRuNs1qaDE8sTKVM+xyoGJBMVttvnBcP8WBtWaXW29F4XHnw8VpwOlw19uFhcn99cYKp6BHDdTnl5/3qkp4kZCUZ0IKK/y/tqAdlJBADwOeJOVP93CBDm+rbTg9jchE5e0Tf3NU1JZt2IB; 25:sTvrHhEi3mU9JgZlF8fRQ92Y2te/VrI27kwrkbwewdtS09B1prsHcuOKdohpZHq7kk+zuCk+YJLCLUhWN8JYXkTxVlNLiir4I9MOk52RN3aLaMOTbUIiy4zOvN3nSP8U76//PW0fOGGcdqLT2NLlJSFU0O50Kc4Xf+qYKTGxqP70+tjzA/qu3ffPla1yLrw+if7+zrd/OmHKJF3auBB3XNZYVQGXqLpG4TIs9GiFuTzKxsx5CHifMEwV/ZPKlM+5rMpZnGUx47pWLz9mM3qEn/bCLgeil3JayIOgz/tHzqCYtv8WHwSNVjZh2YJ7RVflVozPQGGRDtyuAhEiGJAU+g==; 31:FrAtk6kqV2ShhzcWde0xQOixsUKjYobL8QtfNuau0IUD93VFvIobbPPSv5mtD2H7WeRLmZ8wU8yv9KF2EkH4iMLRSDFTl+xEKBIHFtQHY9xcXxog2nF5TIZ3uu8GZjMcr7/Qr46ee6FIoB+zg6U7Ps2SQsIhv/kJGi7jfW7Vg8GvusmQCVXBxBPjpfQg+Ss59Ic72eouUSSHDFenewSdy1SfwK1zZ5EuQ6pbBLGrycY= X-MS-TrafficTypeDiagnostic: SN4PR0701MB3646: X-Microsoft-Exchange-Diagnostics: 1; SN4PR0701MB3646; 20:VK6A86j/IXkKAfRgAh4rSEqyHfryQBF8AisStDg9I5thkhiBKnpD5TLXrwaTFJsyVBd7dV2Sr0Xf7lf2Y6pNnM/SR18jreu3rLsjMHyKVOt0axF5CX5my86QCOVUN9j5ea0MLifJzDIhjBqpOkN3Dgs71M9uRDoUj4iXe1x5pnDyQDY9+O2F5LtsNu4f2DcjJdhBFGfMOA3kVvo5zyGOuY+zxpm+dmVguGrqzJMk4V5tWCfyynOLBnnPqEBV9r94kDH9h/G5ATRJGUlK37DWh07FgB9B1rvnVDrblwgUFbAYVFe2hCfsXC+DaZKfiCBfvZsoF/Ctogzi2A+1fj5L1jOiI6XNiPSRr4kHBujPTuCYbUzZN7KGYDNLmfBEGDXv3n2CH3g4xt7ep+10ok0CTQy7imAkiSrFJtR2O5ApmKlUTTH0euk+XBW3gx5VSe4LqfWyYt+np3ZsRbGPOjT6q2Mv+cu2rXW3uNx52XMFe4W41Pu3juLmMVKTGUWGwpPhdI6vSS74VhfdPXV+3nVEctve81EZBdkQKHXdcoJkgNXTpqiCvbxF3KXVd37ZA15vqsq57qoq7mRQ7VA1GBynoLillw50rjBYNevdBbG4UEM= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(66839620246622)(228905959029699); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(10201501046)(3231311)(2232096)(944501410)(52105095)(93006095)(3002001)(149027)(150027)(6041310)(20161123562045)(20161123558120)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:SN4PR0701MB3646; BCL:0; PCL:0; RULEID:; SRVR:SN4PR0701MB3646; X-Microsoft-Exchange-Diagnostics: 1; SN4PR0701MB3646; 4:JDcNRB63pVqAck8CKRdlnXJvqkVzBaz+2dWTWgXd+zLB+VTRjEXPBZ5LfsJwcJNg9Nv0dDuQM6VaY+TcH4k7m3RuRk8/OPgg7vNj+P4ADVYzzo1gRmtiiaAthfvcVTSGvWu5xyGg6CJr7ZVObOJHuSwERs8oe5aFNiSsbrpz3MAQUNx8GrumLAk9YCYtFk/j0W9RgX91/a98v+CJN+Cl4DAiJX1vw0Jb7q64vA1sXP8VAxbPtmn2ZcILZP/DLYpd/eRK/TKoAAlk+Ln3rKMGnFqtkUyrAfW9jNVvN8i+U1lzyg3HMvvSd4CCdHHKRqbnhezt+EYrZlYbIFoPLGS24MHjrnG+Y+pldgtGKC96IDg= X-Forefront-PRVS: 0743E8D0A6 X-Forefront-Antispam-Report: SFV:SPM; SFS:(10009020)(396003)(39860400002)(366004)(346002)(136003)(376002)(199004)(189003)(14444005)(26005)(2361001)(6506007)(55236004)(386003)(486006)(2616005)(2906002)(3846002)(36756003)(16526019)(956004)(6116002)(186003)(50226002)(68736007)(5660300001)(11346002)(4326008)(107886003)(478600001)(53936002)(476003)(52116002)(76176011)(51416003)(446003)(72206003)(48376002)(6666003)(575784001)(97736004)(25786009)(42882007)(305945005)(2351001)(69596002)(54906003)(105586002)(106356001)(44832011)(6486002)(53416004)(66066001)(6512007)(316002)(7736002)(47776003)(8676002)(8936002)(81166006)(50466002)(16586007)(6916009)(81156014)(59010400001); DIR:OUT; SFP:1501; SCL:5; SRVR:SN4PR0701MB3646; H:hyd1sverma-dt.caveonetworks.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN4PR0701MB3646; 23:6DYUvT9lOxK3HYGx6q0DSVPN+juLNjnKu69hYQs?= Y7fzHqD9xcysn/2j63AqADFapE/+HgFhlFS8YOG4JT6CYZsxUxA0UKWadieuG+ujv4rMds/gjD65SuRwEqo67AoAQfc7HfbyQ03SOPsDWghOaVaO67wUvTDvY09AbDMCnyxrkV3I2XkLk+YMENBep8oOHY33KBh8EmKMx8bMyfqc01VNsJuTLu2wlIAiMcXscc56JIFfEnZazolKmrz6HBPloIUAyuhVM2X9OTCNZ2HFasezAETYbHDB8q1F4924pXv98MD2P93o0Fm9KHqtOaTp0ZYHWY8XGOfpjHvoE+dZu5ZzUpXroje0358dGKB/HaBXef0BGwK5FQhABisxFEKsxS1OjaPrP+7kgkbiXpauMcld+qkHsPoMJFqC4BrxLaDd7NAO/CI5mp9v7dUyK0cu2A5xKHkH+YN6dxgkePiBQOQ7MxZ0qj2adorZ5dym7yWxPRkpVuPuzP4SsCLuCLlU6X9AHtJfuy3x1jE477DtjVkJh0KZFCwHVEDr7ElgA80p8Yg3712DJ43argOimRRkubqdP7BmHW51+qjiyqPUwbgPV7zK4KgAX7sNpAJsTjkCrGNQy5MHo6zIWg/vlyJGnDU+8ppixwF73j32949vyH4QKelg91dtEC+RnUm5vZoa/bqmdHS+YBL8Mz0YQxaODv9sKhHbjq7LC2C2kJXzBFkcmO90J7Q5SEHKQ8KLQgeyIM31dOpCH3y6EhFzCEzukC7U+2om1P8D7RyFRpkZCpxWF7jL9SrfBEo+8+rcK1hWopaE1Bs/YSHRNo/K4NyhrgrQ4PTa8MUKawrgYF2pZMM77SnE+1XjB1YqooRLT2glY0ueKsPqXfxeuIo4oCRpN6aW6fu55Gu9jzCys5/wzcWRFZjNFU1JRoPZh3riZoL+fLTHah1ouDBcIo0PxoScRtgyGA9W9YQwdkVV9d7TasbwO2LNr+XNVY37neQCgIRm/5TCz3/vaQSIzom3MFG2Hj1vdxEz5bh10wVyEy0r5KevLAnbOFBSUPTRHF3aukrkhYH6kad5MV0EmxkstQ40km+Sqw3cehbA/PTFwdIU6vsb5DWVVlWkfm2syo+86eYKEIt9IlH2zcntACgMO+nXvLv6YHU/s1bkIMuMbtlx+9Llur9DKY/jnDcolDJra4BPnGB00yhYjiDjTRMF2rvFAoYNroUX+2IDyFZiShNKl8bJg8vlNPerUtm8b6P3OQmeYFRNeUkmnX0Wzlsf1R9xf3GYoH7iNpFbxPBgBcGPPWPSIPbdJtlTEJDiY2SWlc//W3NC+P6xdCXHblDx/cWpymv4W5pTNCYd+vAtHMCa8HLihrLM6H55Kbd0zOqTKuq5x+OuyTMCKiLGAb5Coj43Nt7RUJbHQllWM3u7QZyTnrOXxNPxkik107VCmvur03M78bnHChISuj0FpAhIV8CuN X-Microsoft-Antispam-Message-Info: 3XrJyIzVKmSRq0Ns8It8KzyKxBM8FTdonztYewa2Le0WCtm78q2U1SMO+Rmo46bB/J2DGzK0TJNNACoNaVOgi4/t+qJoWxnjdJbhEyaXdzht/3oP+UUXQ74UCoJBvuKFtK53l2n75y5BySD9x8EwK8Urknvv0IxQ6EjjAwMTGqq+YEepbx0WfabjbabraNq90+x2u6N351LlaNfabPTLpuzTy9dACx3A2kw+8iSOD/JkR9vWdtd9xhIGRsbbLur6kWaTeuewd3DrlEi9705YKiEqK4jX/bPhwiV709wNrwjBy5Vd0GiHla1NqDaQik5BKxMD9TpQyMns8ssmymuRunyxntbgwKIjabd6iZDoRuuPqxfRxqGqWlvq/mzdMVH0ZDPIrUT4DQxNKL8h0scUFsqReVnQjznI70zP65TwlmywMPCb7mevSbltMN0nWK3PpbAqrUZBQ3JjA8CoO1Md+H0bT8N/4XbqRk+Pve+rTSF8anrgTiZ1mNX4Weuu1R0/x5fnjM8LqpQ2pxnu3TTjBbYwCdDu5JAc3OwspfjKoIEg08l+M60xiW0kAvZ3hjkh2HS6Nzx9ibXbfBp1iVhLnHx0H0h65WhX6I73bgX6rNekdPtS3K5JoajL7CJ5DFtloDo1Z5uQWcCMue32Su809dx905C+KlDZb44y09LBl/6JDoINcSp9pRO3tFOhJo5V6TmyWNO+FOtkn3lPIIAhpg== X-Microsoft-Exchange-Diagnostics: 1; SN4PR0701MB3646; 6:h14t6TTmR8LR3p1igvsH+aAuOLj71njrchHV2OOXTdf+Z+E23MhuYMQ9zqhGGNwywb57P7XuQ/HDCXtQz6czjkxI+Nrir0RewypY35J539E2JSG2GKQZH3cf+7jL7JBDirjfK2cKGOM1quX6x0xr2UUQZjSJ7XbLFXexMNxwp3gTQZG+ICOvTNdYGqwLPEiuk1r6IEaufz1OsGVXke0CbDtRLn1PYsrSkVs1zaj1AujoxsR/Xq0AtZh2GaCGEvr0nuKxC/4xCZ3Imhvk4fg9Q9XlYyQeJSoWg2dmkrokxal8I7GKZsmcM7WXYnmtJshEQ+OjDDpEaveJEJvymv7y0Ghk26rEPinq8mryd0wOMTu9kwHEE4CypEOYD97geaLh+CL1Nk7PX6BedTJZ6QTuEccK7D0Hxi+IMh1lFxYJbbvKdqgT8vWkQUAAFE2bF4kok6K+1fWjtPIat524tzo/ew==; 5:NiJuPTMU85HsqNIBLPE1IW5vjrjkA4pnHKfP6+XTe05XfsFPf39lG52aua9KoclB0sUF6eB59W4VDkX+IPkPFvhUfatKTLrldJYsz/FhrSQDmenaMNAt3sPwQG/htbcAHXjDKhzGgUYORfwRo959XCHf5x5qvmtY8PkO6sl0Fi4=; 7:C0dtiDOfIqgJe+QxLpME2J1AZvAUL0t8AEVu7w1L/fqWvkB9eqcd6bNwgc+Vg/EtSPzTjR+zWNB2R3vqHLOx7Oj5ft0tltT4datSwMK9KinmcyOwLHOE48tixGen8xzctf2zQTnaZC5fAsswRx9/ZpngBhrEDpA33VSb52x0OxPckLjINlMnKCmJbye9gk+NwlyvgLIMKE75gMB9IQVdY6t948YjNGxX77bzijlRHccXU7zLX4wGI4Jlw3L8Or7n SpamDiagnosticOutput: 1:22 X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2018 15:06:03.3564 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d7773c28-a4d1-4691-94ea-08d5f176fa9f X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR0701MB3646 Subject: [dpdk-dev] [PATCH v5 1/5] compress/zlib: add ZLIB PMD 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: Ashish Gupta Add initial PMD setup routines in compressdev framework. ZLIB PMD appears as virtual compression device. User would need to install zlib prior to enabling this PMD. Signed-off-by: Sunila Sahu Signed-off-by: Shally Verma Signed-off-by: Ashish Gupta --- MAINTAINERS | 3 + config/common_base | 5 ++ drivers/compress/Makefile | 1 + drivers/compress/meson.build | 2 +- drivers/compress/zlib/Makefile | 28 +++++++++ drivers/compress/zlib/meson.build | 14 +++++ drivers/compress/zlib/rte_pmd_zlib_version.map | 3 + drivers/compress/zlib/zlib_pmd.c | 87 ++++++++++++++++++++++++++ drivers/compress/zlib/zlib_pmd_private.h | 32 ++++++++++ mk/rte.app.mk | 2 + 10 files changed, 176 insertions(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 7b2414d..ca27c6f 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -872,6 +872,9 @@ M: Fiona Trahe F: drivers/compress/qat/ F: drivers/common/qat/ +ZLIB +M: Sunila Sahu +F: drivers/compress/zlib/ Eventdev Drivers ---------------- diff --git a/config/common_base b/config/common_base index 6d82b91..662da4d 100644 --- a/config/common_base +++ b/config/common_base @@ -583,6 +583,11 @@ CONFIG_RTE_COMPRESSDEV_TEST=n CONFIG_RTE_LIBRTE_PMD_ISAL=n # +# Compile PMD for ZLIB compression device +# +CONFIG_RTE_LIBRTE_PMD_ZLIB=n + +# # Compile generic event device library # CONFIG_RTE_LIBRTE_EVENTDEV=y diff --git a/drivers/compress/Makefile b/drivers/compress/Makefile index 592497f..1f159a5 100644 --- a/drivers/compress/Makefile +++ b/drivers/compress/Makefile @@ -4,5 +4,6 @@ include $(RTE_SDK)/mk/rte.vars.mk DIRS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += isal +DIRS-$(CONFIG_RTE_LIBRTE_PMD_ZLIB) += zlib include $(RTE_SDK)/mk/rte.subdir.mk diff --git a/drivers/compress/meson.build b/drivers/compress/meson.build index 2352ad5..d2ca8fc 100644 --- a/drivers/compress/meson.build +++ b/drivers/compress/meson.build @@ -1,7 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Intel Corporation -drivers = ['isal', 'qat'] +drivers = ['isal', 'qat', 'zlib'] std_deps = ['compressdev'] # compressdev pulls in all other needed deps config_flag_fmt = 'RTE_LIBRTE_@0@_PMD' diff --git a/drivers/compress/zlib/Makefile b/drivers/compress/zlib/Makefile new file mode 100644 index 0000000..bd322c9 --- /dev/null +++ b/drivers/compress/zlib/Makefile @@ -0,0 +1,28 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Cavium Networks + +include $(RTE_SDK)/mk/rte.vars.mk + +# library name +LIB = librte_pmd_zlib.a + +# build flags +CFLAGS += -O3 +CFLAGS += $(WERROR_FLAGS) +CFLAGS += -DALLOW_EXPERIMENTAL_API + +# library version +LIBABIVER := 1 + +# versioning export map +EXPORT_MAP := rte_pmd_zlib_version.map + +# external library dependencies +LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring -lz +LDLIBS += -lrte_compressdev +LDLIBS += -lrte_bus_vdev + +# library source files +SRCS-$(CONFIG_RTE_LIBRTE_PMD_ZLIB) += zlib_pmd.c + +include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/compress/zlib/meson.build b/drivers/compress/zlib/meson.build new file mode 100644 index 0000000..3f0a77b --- /dev/null +++ b/drivers/compress/zlib/meson.build @@ -0,0 +1,14 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Cavium Networks + +dep = dependency('zlib', required: false) +if not dep.found() + build = false +endif + +deps += 'bus_vdev' +sources = files('zlib_pmd.c') +ext_deps += dep +pkgconfig_extra_libs += '-lz' + +allow_experimental_apis = true diff --git a/drivers/compress/zlib/rte_pmd_zlib_version.map b/drivers/compress/zlib/rte_pmd_zlib_version.map new file mode 100644 index 0000000..ad6e191 --- /dev/null +++ b/drivers/compress/zlib/rte_pmd_zlib_version.map @@ -0,0 +1,3 @@ +DPDK_18.08 { + local: *; +}; diff --git a/drivers/compress/zlib/zlib_pmd.c b/drivers/compress/zlib/zlib_pmd.c new file mode 100644 index 0000000..505502d --- /dev/null +++ b/drivers/compress/zlib/zlib_pmd.c @@ -0,0 +1,87 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2018 Cavium Networks + */ + +#include +#include + +#include "zlib_pmd_private.h" + +static int +zlib_create(const char *name, + struct rte_vdev_device *vdev, + struct rte_compressdev_pmd_init_params *init_params) +{ + struct rte_compressdev *dev; + + dev = rte_compressdev_pmd_create(name, &vdev->device, + sizeof(struct zlib_private), init_params); + if (dev == NULL) { + ZLIB_PMD_ERR("driver %s: create failed", init_params->name); + return -ENODEV; + } + + return 0; +} + +static int +zlib_probe(struct rte_vdev_device *vdev) +{ + struct rte_compressdev_pmd_init_params init_params = { + "", + rte_socket_id() + }; + const char *name; + const char *input_args; + int retval; + + name = rte_vdev_device_name(vdev); + + if (name == NULL) + return -EINVAL; + + input_args = rte_vdev_device_args(vdev); + + retval = rte_compressdev_pmd_parse_input_args(&init_params, input_args); + if (retval < 0) { + ZLIB_PMD_LOG(ERR, + "Failed to parse initialisation arguments[%s]\n", + input_args); + return -EINVAL; + } + + return zlib_create(name, vdev, &init_params); +} + +static int +zlib_remove(struct rte_vdev_device *vdev) +{ + struct rte_compressdev *compressdev; + const char *name; + + name = rte_vdev_device_name(vdev); + if (name == NULL) + return -EINVAL; + + compressdev = rte_compressdev_pmd_get_named_dev(name); + if (compressdev == NULL) + return -ENODEV; + + return rte_compressdev_pmd_destroy(compressdev); +} + +static struct rte_vdev_driver zlib_pmd_drv = { + .probe = zlib_probe, + .remove = zlib_remove +}; + +RTE_PMD_REGISTER_VDEV(COMPRESSDEV_NAME_ZLIB_PMD, zlib_pmd_drv); +RTE_INIT(zlib_init_log); + +static void +zlib_init_log(void) +{ + zlib_logtype_driver = rte_log_register("pmd.compress.zlib"); + if (zlib_logtype_driver >= 0) + rte_log_set_level(zlib_logtype_driver, RTE_LOG_INFO); +} diff --git a/drivers/compress/zlib/zlib_pmd_private.h b/drivers/compress/zlib/zlib_pmd_private.h new file mode 100644 index 0000000..d26a740 --- /dev/null +++ b/drivers/compress/zlib/zlib_pmd_private.h @@ -0,0 +1,32 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2018 Cavium Networks + */ + +#ifndef _RTE_ZLIB_PMD_PRIVATE_H_ +#define _RTE_ZLIB_PMD_PRIVATE_H_ + +#include +#include +#include + +#define COMPRESSDEV_NAME_ZLIB_PMD compress_zlib +/**< ZLIB PMD device name */ + +#define DEF_MEM_LEVEL 8 + +int zlib_logtype_driver; +#define ZLIB_PMD_LOG(level, fmt, args...) \ + rte_log(RTE_LOG_ ## level, zlib_logtype_driver, "%s(): "fmt "\n", \ + __func__, ##args) + +#define ZLIB_PMD_INFO(fmt, args...) \ + ZLIB_PMD_LOG(INFO, fmt, ## args) +#define ZLIB_PMD_ERR(fmt, args...) \ + ZLIB_PMD_LOG(ERR, fmt, ## args) +#define ZLIB_PMD_WARN(fmt, args...) \ + ZLIB_PMD_LOG(WARNING, fmt, ## args) + +struct zlib_private { +}; + +#endif /* _RTE_ZLIB_PMD_PRIVATE_H_ */ diff --git a/mk/rte.app.mk b/mk/rte.app.mk index 1590838..5b7c684 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -228,6 +228,8 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += -lisal ifeq ($(CONFIG_RTE_LIBRTE_PMD_QAT_SYM),n) _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += -lrte_pmd_qat endif # CONFIG_RTE_LIBRTE_PMD_QAT_SYM +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ZLIB) += -lrte_pmd_zlib +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ZLIB) += -lz endif # CONFIG_RTE_LIBRTE_COMPRESSDEV ifeq ($(CONFIG_RTE_LIBRTE_EVENTDEV),y)