get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 31406,
    "url": "http://patches.dpdk.org/api/patches/31406/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1510819481-6809-21-git-send-email-arybchenko@solarflare.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": "<1510819481-6809-21-git-send-email-arybchenko@solarflare.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1510819481-6809-21-git-send-email-arybchenko@solarflare.com",
    "date": "2017-11-16T08:04:08",
    "name": "[dpdk-dev,20/53] net/sfc/base: clarify meaning of Rx desc lbits in PS mode",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "f98ae342b7053c68a416fd7fca2ddf0bcb71d9e3",
    "submitter": {
        "id": 607,
        "url": "http://patches.dpdk.org/api/people/607/?format=api",
        "name": "Andrew Rybchenko",
        "email": "arybchenko@solarflare.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1510819481-6809-21-git-send-email-arybchenko@solarflare.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/31406/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/31406/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 8798D1B2BA;\n\tThu, 16 Nov 2017 09:05:28 +0100 (CET)",
            "from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com\n\t[67.231.154.164]) by dpdk.org (Postfix) with ESMTP id 268941B27E\n\tfor <dev@dpdk.org>; Thu, 16 Nov 2017 09:05:00 +0100 (CET)",
            "from pure.maildistiller.com (unknown [10.110.50.29])\n\tby dispatch1-us1.ppe-hosted.com (Proofpoint Essentials ESMTP Server)\n\twith ESMTP id BB16B2005B; Thu, 16 Nov 2017 08:04:59 +0000 (UTC)",
            "from mx1-us4.ppe-hosted.com (unknown [10.110.49.251])\n\tby pure.maildistiller.com (Proofpoint Essentials ESMTP Server) with\n\tESMTPS id 63CF922004D; Thu, 16 Nov 2017 08:04:59 +0000 (UTC)",
            "from webmail.solarflare.com (webmail.solarflare.com\n\t[12.187.104.26])\n\t(using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1-us4.ppe-hosted.com (Proofpoint Essentials ESMTP Server) with\n\tESMTPS id 313E2B4005A; Thu, 16 Nov 2017 08:04:59 +0000 (UTC)",
            "from ocex03.SolarFlarecom.com (10.20.40.36) by\n\tocex03.SolarFlarecom.com (10.20.40.36) with Microsoft SMTP Server\n\t(TLS) id 15.0.1044.25; Thu, 16 Nov 2017 00:04:55 -0800",
            "from opal.uk.solarflarecom.com (10.17.10.1) by\n\tocex03.SolarFlarecom.com (10.20.40.36) with Microsoft SMTP Server\n\t(TLS) id\n\t15.0.1044.25 via Frontend Transport; Thu, 16 Nov 2017 00:04:54 -0800",
            "from uklogin.uk.solarflarecom.com (uklogin.uk.solarflarecom.com\n\t[10.17.10.10])\n\tby opal.uk.solarflarecom.com (8.13.8/8.13.8) with ESMTP id\n\tvAG84rrV016672; Thu, 16 Nov 2017 08:04:53 GMT",
            "from uklogin.uk.solarflarecom.com (localhost.localdomain\n\t[127.0.0.1])\n\tby uklogin.uk.solarflarecom.com (8.13.8/8.13.8) with ESMTP id\n\tvAG84qtr006905; Thu, 16 Nov 2017 08:04:53 GMT"
        ],
        "X-Virus-Scanned": "Proofpoint Essentials engine",
        "From": "Andrew Rybchenko <arybchenko@solarflare.com>",
        "To": "<dev@dpdk.org>",
        "CC": "Andrew Rybchenko <Andrew.Rybchenko@oktetlabs.ru>",
        "Date": "Thu, 16 Nov 2017 08:04:08 +0000",
        "Message-ID": "<1510819481-6809-21-git-send-email-arybchenko@solarflare.com>",
        "X-Mailer": "git-send-email 1.8.2.3",
        "In-Reply-To": "<1510819481-6809-1-git-send-email-arybchenko@solarflare.com>",
        "References": "<1510819481-6809-1-git-send-email-arybchenko@solarflare.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-MDID": "1510819499-FYccoYtx4rXy",
        "Subject": "[dpdk-dev] [PATCH 20/53] net/sfc/base: clarify meaning of Rx desc\n\tlbits in PS mode",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "From: Andrew Rybchenko <Andrew.Rybchenko@oktetlabs.ru>\n\nThere is no point to add mask plus one before mask applying since it\nstill does not help to avoid overflow on subtract. Modulo mask\narithmetic works perfectly for unsigned integers of the same type.\n\nSigned-off-by: Andrew Rybchenko <arybchenko@solarflare.com>\n---\n drivers/net/sfc/base/ef10_ev.c | 15 +++++++++++----\n 1 file changed, 11 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/drivers/net/sfc/base/ef10_ev.c b/drivers/net/sfc/base/ef10_ev.c\nindex eb9ec75..9ed22f8 100644\n--- a/drivers/net/sfc/base/ef10_ev.c\n+++ b/drivers/net/sfc/base/ef10_ev.c\n@@ -774,7 +774,7 @@ ef10_ev_rx_packed_stream(\n \t__in_opt\tvoid *arg)\n {\n \tuint32_t label;\n-\tuint32_t next_read_lbits;\n+\tuint32_t pkt_count_lbits;\n \tuint16_t flags;\n \tboolean_t should_abort;\n \tefx_evq_rxq_state_t *eersp;\n@@ -782,15 +782,22 @@ ef10_ev_rx_packed_stream(\n \tunsigned int current_id;\n \tboolean_t new_buffer;\n \n-\tnext_read_lbits = EFX_QWORD_FIELD(*eqp, ESF_DZ_RX_DSC_PTR_LBITS);\n+\tpkt_count_lbits = EFX_QWORD_FIELD(*eqp, ESF_DZ_RX_DSC_PTR_LBITS);\n \tlabel = EFX_QWORD_FIELD(*eqp, ESF_DZ_RX_QLABEL);\n \tnew_buffer = EFX_QWORD_FIELD(*eqp, ESF_DZ_RX_EV_ROTATE);\n \n \tflags = 0;\n \n \teersp = &eep->ee_rxq_state[label];\n-\tpkt_count = (EFX_MASK32(ESF_DZ_RX_DSC_PTR_LBITS) + 1 +\n-\t    next_read_lbits - eersp->eers_rx_stream_npackets) &\n+\n+\t/*\n+\t * RX_DSC_PTR_LBITS has least significant bits of the global\n+\t * (not per-buffer) packet counter. It is guaranteed that\n+\t * maximum number of completed packets fits in lbits-mask.\n+\t * So, modulo lbits-mask arithmetic should be used to calculate\n+\t * packet counter increment.\n+\t */\n+\tpkt_count = (pkt_count_lbits - eersp->eers_rx_stream_npackets) &\n \t    EFX_MASK32(ESF_DZ_RX_DSC_PTR_LBITS);\n \teersp->eers_rx_stream_npackets += pkt_count;\n \n",
    "prefixes": [
        "dpdk-dev",
        "20/53"
    ]
}