get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/42667/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 42667,
    "url": "http://patchwork.dpdk.org/api/patches/42667/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/1531183311-32619-16-git-send-email-fiona.trahe@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<1531183311-32619-16-git-send-email-fiona.trahe@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1531183311-32619-16-git-send-email-fiona.trahe@intel.com",
    "date": "2018-07-10T00:41:50",
    "name": "[v4,15/16] compress/qat: prevent device usage if incorrect firmware",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "7facfea220ffe2360662223c14893314e8c8abfa",
    "submitter": {
        "id": 423,
        "url": "http://patchwork.dpdk.org/api/people/423/?format=api",
        "name": "Fiona Trahe",
        "email": "fiona.trahe@intel.com"
    },
    "delegate": {
        "id": 22,
        "url": "http://patchwork.dpdk.org/api/users/22/?format=api",
        "username": "pdelarag",
        "first_name": "Pablo",
        "last_name": "de Lara Guarch",
        "email": "pablo.de.lara.guarch@intel.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/1531183311-32619-16-git-send-email-fiona.trahe@intel.com/mbox/",
    "series": [
        {
            "id": 425,
            "url": "http://patchwork.dpdk.org/api/series/425/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=425",
            "date": "2018-07-05T17:32:44",
            "name": "compress/qat: add compression PMD",
            "version": 3,
            "mbox": "http://patchwork.dpdk.org/series/425/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/42667/comments/",
    "check": "fail",
    "checks": "http://patchwork.dpdk.org/api/patches/42667/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 B349D1B43D;\n\tTue, 10 Jul 2018 02:42:52 +0200 (CEST)",
            "from mga17.intel.com (mga17.intel.com [192.55.52.151])\n\tby dpdk.org (Postfix) with ESMTP id 111EB1B39C\n\tfor <dev@dpdk.org>; Tue, 10 Jul 2018 02:42:38 +0200 (CEST)",
            "from fmsmga006.fm.intel.com ([10.253.24.20])\n\tby fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t09 Jul 2018 17:42:36 -0700",
            "from sivswdev01.ir.intel.com (HELO localhost.localdomain)\n\t([10.237.217.45])\n\tby fmsmga006.fm.intel.com with ESMTP; 09 Jul 2018 17:42:35 -0700"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.51,332,1526367600\"; d=\"scan'208\";a=\"244345552\"",
        "From": "Fiona Trahe <fiona.trahe@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "pablo.de.lara.guarch@intel.com, fiona.trahe@intel.com,\n\ttomaszx.jozwiak@intel.com",
        "Date": "Tue, 10 Jul 2018 01:41:50 +0100",
        "Message-Id": "<1531183311-32619-16-git-send-email-fiona.trahe@intel.com>",
        "X-Mailer": "git-send-email 1.7.0.7",
        "In-Reply-To": "<1530811980-24334-1-git-send-email-fiona.trahe@intel.com>",
        "References": "<1530811980-24334-1-git-send-email-fiona.trahe@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v4 15/16] compress/qat: prevent device usage if\n\tincorrect firmware",
        "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": "Previous check only causes op to fail on dequeue.\nThis extends so once first fail is detected, application can\nno longer enqueue ops to the device and will also get an\nappropriate error if trying to reconfigure or setup the device.\n\nSigned-off-by: Tomasz Jozwiak <tomaszx.jozwiak@intel.com>\nSigned-off-by: Fiona Trahe <fiona.trahe@intel.com>\n---\n drivers/compress/qat/qat_comp_pmd.c | 57 ++++++++++++++++++++++++++++++++++++-\n 1 file changed, 56 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/drivers/compress/qat/qat_comp_pmd.c b/drivers/compress/qat/qat_comp_pmd.c\nindex 9bb9897..0a571b3 100644\n--- a/drivers/compress/qat/qat_comp_pmd.c\n+++ b/drivers/compress/qat/qat_comp_pmd.c\n@@ -252,6 +252,61 @@ qat_comp_pmd_dequeue_op_burst(void *qp, struct rte_comp_op **ops,\n }\n \n \n+static uint16_t\n+qat_comp_pmd_enq_deq_dummy_op_burst(void *qp __rte_unused,\n+\t\t\t\t    struct rte_comp_op **ops __rte_unused,\n+\t\t\t\t    uint16_t nb_ops __rte_unused)\n+{\n+\tQAT_DP_LOG(ERR, \"QAT PMD detected wrong FW version !\");\n+\treturn 0;\n+}\n+\n+static struct rte_compressdev_ops compress_qat_dummy_ops = {\n+\n+\t/* Device related operations */\n+\t.dev_configure\t\t= NULL,\n+\t.dev_start\t\t= NULL,\n+\t.dev_stop\t\t= qat_comp_dev_stop,\n+\t.dev_close\t\t= qat_comp_dev_close,\n+\t.dev_infos_get\t\t= NULL,\n+\n+\t.stats_get\t\t= NULL,\n+\t.stats_reset\t\t= qat_comp_stats_reset,\n+\t.queue_pair_setup\t= NULL,\n+\t.queue_pair_release\t= qat_comp_qp_release,\n+\n+\t/* Compression related operations */\n+\t.private_xform_create\t= NULL,\n+\t.private_xform_free\t= qat_comp_private_xform_free\n+};\n+\n+static uint16_t\n+qat_comp_pmd_dequeue_frst_op_burst(void *qp, struct rte_comp_op **ops,\n+\t\t\t\t   uint16_t nb_ops)\n+{\n+\tuint16_t ret = qat_dequeue_op_burst(qp, (void **)ops, nb_ops);\n+\tstruct qat_qp *tmp_qp = (struct qat_qp *)qp;\n+\n+\tif (ret) {\n+\t\tif ((*ops)->debug_status ==\n+\t\t\t\t(uint64_t)ERR_CODE_QAT_COMP_WRONG_FW) {\n+\t\t\ttmp_qp->qat_dev->comp_dev->compressdev->enqueue_burst =\n+\t\t\t\t\tqat_comp_pmd_enq_deq_dummy_op_burst;\n+\t\t\ttmp_qp->qat_dev->comp_dev->compressdev->dequeue_burst =\n+\t\t\t\t\tqat_comp_pmd_enq_deq_dummy_op_burst;\n+\n+\t\t\ttmp_qp->qat_dev->comp_dev->compressdev->dev_ops =\n+\t\t\t\t\t&compress_qat_dummy_ops;\n+\t\t\tQAT_LOG(ERR, \"QAT PMD detected wrong FW version !\");\n+\n+\t\t} else {\n+\t\t\ttmp_qp->qat_dev->comp_dev->compressdev->dequeue_burst =\n+\t\t\t\t\tqat_comp_pmd_dequeue_op_burst;\n+\t\t}\n+\t}\n+\treturn ret;\n+}\n+\n static struct rte_compressdev_ops compress_qat_ops = {\n \n \t/* Device related operations */\n@@ -302,7 +357,7 @@ qat_comp_dev_create(struct qat_pci_device *qat_pci_dev)\n \tcompressdev->dev_ops = &compress_qat_ops;\n \n \tcompressdev->enqueue_burst = qat_comp_pmd_enqueue_op_burst;\n-\tcompressdev->dequeue_burst = qat_comp_pmd_dequeue_op_burst;\n+\tcompressdev->dequeue_burst = qat_comp_pmd_dequeue_frst_op_burst;\n \n \tcompressdev->feature_flags = RTE_COMPDEV_FF_HW_ACCELERATED;\n \n",
    "prefixes": [
        "v4",
        "15/16"
    ]
}