Show a cover letter.

GET /api/covers/41033/
Content-Type: application/json
Vary: Accept

    "id": 41033,
    "url": "",
    "web_url": "",
    "project": {
        "id": 1,
        "url": "",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "",
        "list_email": "",
        "web_url": "",
        "scm_url": "git://",
        "webscm_url": ""
    "msgid": "<>",
    "date": "2018-06-13T12:13:44",
    "name": "[v3,00/38] crypto/qat: refactor to support multiple services",
    "submitter": {
        "id": 949,
        "url": "",
        "name": "Tomasz Jozwiak",
        "email": ""
    "mbox": "",
    "series": [
            "id": 111,
            "url": "",
            "web_url": "",
            "date": "2018-06-13T12:13:44",
            "name": "crypto/qat: refactor to support multiple services",
            "version": 3,
            "mbox": ""
    "comments": "",
    "headers": {
        "List-Help": "<>",
        "List-Post": "<>",
        "X-Mailman-Version": "2.1.15",
        "List-Unsubscribe": "<>,\n\t<>",
        "X-Amp-File-Uploaded": "False",
        "Delivered-To": "",
        "To": ",\n\,\n\",
        "Subject": "[dpdk-dev] [PATCH v3 00/38] crypto/qat: refactor to support\n\tmultiple services",
        "Received": [
            "from [] (localhost [])\n\tby (Postfix) with ESMTP id 4934C1D9E8;\n\tWed, 13 Jun 2018 14:14:28 +0200 (CEST)",
            "from ( [])\n\tby (Postfix) with ESMTP id EDB231D5F4\n\tfor <>; Wed, 13 Jun 2018 14:14:26 +0200 (CEST)",
            "from ([])\n\tby with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t13 Jun 2018 05:14:25 -0700",
            "from (HELO localhost.localdomain)\n\t([])\n\tby with ESMTP; 13 Jun 2018 05:14:23 -0700"
        "List-Subscribe": "<>,\n\t<>",
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "From": "Tomasz Jozwiak <>",
        "Message-Id": "<>",
        "Date": "Wed, 13 Jun 2018 14:13:44 +0200",
        "X-IronPort-AV": "E=Sophos;i=\"5.51,218,1526367600\"; d=\"scan'208\";a=\"63727630\"",
        "Precedence": "list",
        "References": "<>",
        "In-Reply-To": "<>",
        "X-BeenThere": "",
        "List-Id": "DPDK patches and discussions <>",
        "X-Mailer": "git-send-email 2.7.4",
        "List-Archive": "<>",
        "X-ExtLoop1": "1",
        "X-Original-To": "",
        "Errors-To": "",
        "Return-Path": "<>",
        "Sender": "\"dev\" <>"
    "content": "From: Pablo de Lara <>\n\nThe QAT crypto PMD was peppered with references to rte_cryptodev artefacts.\nAlso the pci device it presented to the API layer was entirely owned by the one\ncryptodev device instance created by the probe.\nThis patchset refactors the PMD so one pci device can present out multiple different\ndevice instances to implement different APIs, specifically cryptodev and compressdev instances.\nThe code is refactored into\n - common code which handles the pci device discovery, configuration,\n   queue-pair setup, stats gathering and data-path enqueue and dequeue.\n - service-specific code for symmetric crypto, which is a thin layer\n   implementing the cryptodev API and using the common code.\n - place-holder files for service-specific code to support asymmetric\n   crypto and compression services in future.\nThe code is all still in the crypto/qat directory as it is functionally unchanged,\nstill only supporting a symmetric crypto service. The code will move to drivers/common,\n/crypto and /compress in a future patch when this is needed for a compression PMD.\n\nChanges for v3:\n - fixed some commit messages\n - fixed compilation issue in one of the patches\n - split two commits into multiple commits\n\nChanges for v2:\n - fixed some bugs compiled in when debug enabled\n - added patch to remove MAX_NB_SESSIONS from config file\n - removed SPDX license patch as already applied\n - documented device name formats\n\nFiona Trahe (36):\n  crypto/qat: add qat common header\n  crypto/qat: add qat device files\n  crypto/qat: add symmetric session file\n  crypto/qat: change filename crypto to sym\n  crypto/qat: rename fns for consistency\n  crypto/qat: renamed sym-specific structs\n  crypto/qat: make enqueue function generic\n  crypto/qat: make dequeue function generic\n  crypto/qat: move generic qp fn to qp file\n  crypto/qat: separate sym-specific from generic qp setup\n  crypto/qat: move sym-specific qp code to sym file\n  crypto/qat: remove dependencies on cryptodev from common\n  crypto/qat: move defines from sym to qp header file\n  crypto/qat: create structures to support various generations\n  crypto/qat: rename sgl related objects\n  crypto/qat: move sgl related element to appropriate files\n  crypto/qat: add QAT PCI device struct\n  crypto/qat: use generic driver name for PCI registration\n  crypto/qat: move to using new device structure\n  crypto/qat: use common stats structures\n  crypto/qat: rename functions which depend on cryptodev\n  crypto/qat: move code into appropriate files\n  crypto/qat: add lock around csr access and change logic\n  crypto/qat: remove incorrect usage of bundle number\n  crypto/qat: rename variables\n  crypto/qat: modify debug message\n  crypto/qat: free cookie pool on queue creation error\n  crypto/qat: remove unused macro\n  crypto/qat: move macro to common file\n  crypto/qat: register appropriately named device\n  crypto/qat: add max PCI devices to config file\n  crypto/qat: optimize adf modulo function\n  crypto/qat: remove unused arguments\n  crypto/qat: make response process function inline\n  crypto/qat: check for service type\n  doc/qat: specify QAT driver and device name formats\n\nTomasz Jozwiak (2):\n  crypto/qat: remove unused includes\n  crypto/qat: remove configurable max number of sessions\n\n config/common_base                            |    6 +-\n config/rte_config.h                           |    7 +-\n doc/guides/cryptodevs/qat.rst                 |   12 +\n drivers/crypto/qat/Makefile                   |   10 +-\n drivers/crypto/qat/                |    9 +-\n .../qat/qat_adf/adf_transport_access_macros.h |    9 +-\n drivers/crypto/qat/qat_adf/qat_algs.h         |  126 --\n drivers/crypto/qat/qat_asym_pmd.c             |   17 +\n drivers/crypto/qat/qat_asym_pmd.h             |   15 +\n drivers/crypto/qat/qat_common.c               |  107 ++\n drivers/crypto/qat/qat_common.h               |   76 +\n drivers/crypto/qat/qat_comp_pmd.c             |   18 +\n drivers/crypto/qat/qat_comp_pmd.h             |   29 +\n drivers/crypto/qat/qat_crypto.c               | 1696 -----------------\n drivers/crypto/qat/qat_crypto.h               |  150 --\n drivers/crypto/qat/qat_device.c               |  242 +++\n drivers/crypto/qat/qat_device.h               |   78 +\n drivers/crypto/qat/qat_qp.c                   |  463 +++--\n drivers/crypto/qat/qat_qp.h                   |  106 ++\n drivers/crypto/qat/qat_sym.c                  |  568 ++++++\n drivers/crypto/qat/qat_sym.h                  |  154 ++\n ..._capabilities.h => qat_sym_capabilities.h} |    6 +-\n drivers/crypto/qat/qat_sym_pmd.c              |  335 ++++\n drivers/crypto/qat/qat_sym_pmd.h              |   40 +\n ...at_algs_build_desc.c => qat_sym_session.c} |  786 +++++++-\n drivers/crypto/qat/qat_sym_session.h          |  143 ++\n drivers/crypto/qat/rte_qat_cryptodev.c        |  180 --\n 27 files changed, 3042 insertions(+), 2346 deletions(-)\n delete mode 100644 drivers/crypto/qat/qat_adf/qat_algs.h\n create mode 100644 drivers/crypto/qat/qat_asym_pmd.c\n create mode 100644 drivers/crypto/qat/qat_asym_pmd.h\n create mode 100644 drivers/crypto/qat/qat_common.c\n create mode 100644 drivers/crypto/qat/qat_common.h\n create mode 100644 drivers/crypto/qat/qat_comp_pmd.c\n create mode 100644 drivers/crypto/qat/qat_comp_pmd.h\n delete mode 100644 drivers/crypto/qat/qat_crypto.c\n delete mode 100644 drivers/crypto/qat/qat_crypto.h\n create mode 100644 drivers/crypto/qat/qat_device.c\n create mode 100644 drivers/crypto/qat/qat_device.h\n create mode 100644 drivers/crypto/qat/qat_qp.h\n create mode 100644 drivers/crypto/qat/qat_sym.c\n create mode 100644 drivers/crypto/qat/qat_sym.h\n rename drivers/crypto/qat/{qat_crypto_capabilities.h => qat_sym_capabilities.h} (99%)\n create mode 100644 drivers/crypto/qat/qat_sym_pmd.c\n create mode 100644 drivers/crypto/qat/qat_sym_pmd.h\n rename drivers/crypto/qat/{qat_adf/qat_algs_build_desc.c => qat_sym_session.c} (59%)\n create mode 100644 drivers/crypto/qat/qat_sym_session.h\n delete mode 100644 drivers/crypto/qat/rte_qat_cryptodev.c"