get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 78691,
    "url": "https://patches.dpdk.org/api/patches/78691/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1600949555-28043-19-git-send-email-arybchenko@solarflare.com/",
    "project": {
        "id": 1,
        "url": "https://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": "<1600949555-28043-19-git-send-email-arybchenko@solarflare.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1600949555-28043-19-git-send-email-arybchenko@solarflare.com",
    "date": "2020-09-24T12:11:53",
    "name": "[v3,18/60] common/sfc_efx/base: add interrupts module for Riverhead",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "22322570c9763d4109b8c083377c24691020ad9c",
    "submitter": {
        "id": 607,
        "url": "https://patches.dpdk.org/api/people/607/?format=api",
        "name": "Andrew Rybchenko",
        "email": "arybchenko@solarflare.com"
    },
    "delegate": {
        "id": 319,
        "url": "https://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1600949555-28043-19-git-send-email-arybchenko@solarflare.com/mbox/",
    "series": [
        {
            "id": 12473,
            "url": "https://patches.dpdk.org/api/series/12473/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=12473",
            "date": "2020-09-24T12:11:40",
            "name": "common/sfc_efx: support Riverhead NIC family",
            "version": 3,
            "mbox": "https://patches.dpdk.org/series/12473/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/78691/comments/",
    "check": "warning",
    "checks": "https://patches.dpdk.org/api/patches/78691/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id F3C44A04B1;\n\tThu, 24 Sep 2020 14:15:15 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 0BCC31DE6A;\n\tThu, 24 Sep 2020 14:13:21 +0200 (CEST)",
            "from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com\n [148.163.129.52]) by dpdk.org (Postfix) with ESMTP id D4D101DE0C\n for <dev@dpdk.org>; Thu, 24 Sep 2020 14:12:55 +0200 (CEST)",
            "from mx1-us1.ppe-hosted.com (unknown [10.7.65.64])\n by dispatch1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTP id\n A1EF0600C3 for <dev@dpdk.org>; Thu, 24 Sep 2020 12:12:55 +0000 (UTC)",
            "from us4-mdac16-14.ut7.mdlocal (unknown [10.7.65.238])\n by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTP id A1204200A4\n for <dev@dpdk.org>; Thu, 24 Sep 2020 12:12:55 +0000 (UTC)",
            "from mx1-us1.ppe-hosted.com (unknown [10.7.65.175])\n by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id\n 2B64122004D\n for <dev@dpdk.org>; Thu, 24 Sep 2020 12:12:55 +0000 (UTC)",
            "from webmail.solarflare.com (uk.solarflare.com [193.34.186.16])\n (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))\n (No client certificate requested)\n by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id\n D6EF6700070\n for <dev@dpdk.org>; Thu, 24 Sep 2020 12:12:54 +0000 (UTC)",
            "from ukex01.SolarFlarecom.com (10.17.10.4) by\n ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id\n 15.0.1497.2; Thu, 24 Sep 2020 13:12:46 +0100",
            "from opal.uk.solarflarecom.com (10.17.10.1) by\n ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server id\n 15.0.1497.2 via Frontend Transport; Thu, 24 Sep 2020 13:12:46 +0100",
            "from ukv-loginhost.uk.solarflarecom.com\n (ukv-loginhost.uk.solarflarecom.com [10.17.10.39])\n by opal.uk.solarflarecom.com (8.13.8/8.13.8) with ESMTP id 08OCCkwm025930\n for <dev@dpdk.org>; Thu, 24 Sep 2020 13:12:46 +0100",
            "from ukv-loginhost.uk.solarflarecom.com (localhost [127.0.0.1])\n by ukv-loginhost.uk.solarflarecom.com (Postfix) with ESMTP id 9DA611613AB\n for <dev@dpdk.org>; Thu, 24 Sep 2020 13:12:46 +0100 (BST)"
        ],
        "X-Virus-Scanned": "Proofpoint Essentials engine",
        "From": "Andrew Rybchenko <arybchenko@solarflare.com>",
        "To": "<dev@dpdk.org>",
        "Date": "Thu, 24 Sep 2020 13:11:53 +0100",
        "Message-ID": "<1600949555-28043-19-git-send-email-arybchenko@solarflare.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1600949555-28043-1-git-send-email-arybchenko@solarflare.com>",
        "References": "<1600764594-14752-1-git-send-email-arybchenko@solarflare.com>\n <1600949555-28043-1-git-send-email-arybchenko@solarflare.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-TM-AS-Product-Ver": "SMEX-12.5.0.1300-8.6.1012-25674.003",
        "X-TM-AS-Result": "No-3.096400-8.000000-10",
        "X-TMASE-MatchedRID": "lQPLoPzCze+pgGo75YSM1vQAclqqmRB8B4Id7CiQcz+d+HCgvauVHmlz\n JgrTfsrk2XHJ0L4jOIQs/31GzKkTsQihmwiXCMoGT7O/YHJhINBLXPA26IG0hN9RlPzeVuQQ0/6\n Rc2rmS5nMKGeIfeUBXiqrPYi9XdxOwUGgKARXgvII5rLLSVe5tDH+T3YvtHy2Mhn6P25qDUYnOW\n hZYy8qHQ/lXHZipk3pdbTStsy7fOk9MbU686G+bSt4VwAzFx+tLPSJu5jov2aMUViaYYbK3Lv6v\n rbswMDMnYPv5A2HZ5wvLS7YPMTpw4gPQuqHpFiE8UIP9c6qlJtrYyH4xhW2/5soi2XrUn/Jxclq\n bZU3Xcd4N1jhRVQFLSdET58jp62Sfor9AcXU1xwApmNFfOh5DkVKfbWjOnm7fX06U5xETjtrXKB\n aPhNRsReDyT8g1pyxAOEiPxF4jRAI4T29I1FCAtlqviuwt+1+qha7fcVIKfrqvk9CHHb0NQbT7e\n VkE2ZC2rhEGiFuOiuny9fy0ieryw==",
        "X-TM-AS-User-Approved-Sender": "Yes",
        "X-TM-AS-User-Blocked-Sender": "No",
        "X-TMASE-Result": "10--3.096400-8.000000",
        "X-TMASE-Version": "SMEX-12.5.0.1300-8.6.1012-25674.003",
        "X-MDID": "1600949575-KZE2WDtunUW0",
        "Subject": "[dpdk-dev] [PATCH v3 18/60] common/sfc_efx/base: add interrupts\n\tmodule for Riverhead",
        "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 <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 <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Riverhead supports interrupt aggregation rings. Right now there\nare no plans to support it in libefx, but it is better to have\nown set of callbacks to easier handle EF10 and Riverhead\ndifferences in the future.\n\nSigned-off-by: Andrew Rybchenko <arybchenko@solarflare.com>\nReviewed-by: Andy Moreton <amoreton@xilinx.com>\n---\n drivers/common/sfc_efx/base/efx_intr.c   |  20 +++++\n drivers/common/sfc_efx/base/meson.build  |   1 +\n drivers/common/sfc_efx/base/rhead_impl.h |  55 ++++++++++++\n drivers/common/sfc_efx/base/rhead_intr.c | 104 +++++++++++++++++++++++\n 4 files changed, 180 insertions(+)\n create mode 100644 drivers/common/sfc_efx/base/rhead_intr.c",
    "diff": "diff --git a/drivers/common/sfc_efx/base/efx_intr.c b/drivers/common/sfc_efx/base/efx_intr.c\nindex 7e3cc3c6a0..1dfa19df2e 100644\n--- a/drivers/common/sfc_efx/base/efx_intr.c\n+++ b/drivers/common/sfc_efx/base/efx_intr.c\n@@ -89,6 +89,20 @@ static const efx_intr_ops_t\t__efx_intr_ef10_ops = {\n };\n #endif\t/* EFX_OPTS_EF10() */\n \n+#if EFSYS_OPT_RIVERHEAD\n+static const efx_intr_ops_t\t__efx_intr_rhead_ops = {\n+\trhead_intr_init,\t\t/* eio_init */\n+\trhead_intr_enable,\t\t/* eio_enable */\n+\trhead_intr_disable,\t\t/* eio_disable */\n+\trhead_intr_disable_unlocked,\t/* eio_disable_unlocked */\n+\trhead_intr_trigger,\t\t/* eio_trigger */\n+\trhead_intr_status_line,\t\t/* eio_status_line */\n+\trhead_intr_status_message,\t/* eio_status_message */\n+\trhead_intr_fatal,\t\t/* eio_fatal */\n+\trhead_intr_fini,\t\t/* eio_fini */\n+};\n+#endif\t/* EFSYS_OPT_RIVERHEAD */\n+\n \t__checkReturn\tefx_rc_t\n efx_intr_init(\n \t__in\t\tefx_nic_t *enp,\n@@ -138,6 +152,12 @@ efx_intr_init(\n \t\tbreak;\n #endif\t/* EFSYS_OPT_MEDFORD2 */\n \n+#if EFSYS_OPT_RIVERHEAD\n+\tcase EFX_FAMILY_RIVERHEAD:\n+\t\teiop = &__efx_intr_rhead_ops;\n+\t\tbreak;\n+#endif\t/* EFSYS_OPT_RIVERHEAD */\n+\n \tdefault:\n \t\tEFSYS_ASSERT(B_FALSE);\n \t\trc = ENOTSUP;\ndiff --git a/drivers/common/sfc_efx/base/meson.build b/drivers/common/sfc_efx/base/meson.build\nindex 6ca5b57023..ea2517ba26 100644\n--- a/drivers/common/sfc_efx/base/meson.build\n+++ b/drivers/common/sfc_efx/base/meson.build\n@@ -52,6 +52,7 @@ sources = [\n \t'hunt_nic.c',\n \t'medford_nic.c',\n \t'medford2_nic.c',\n+\t'rhead_intr.c',\n \t'rhead_nic.c',\n ]\n \ndiff --git a/drivers/common/sfc_efx/base/rhead_impl.h b/drivers/common/sfc_efx/base/rhead_impl.h\nindex e25a871cb3..b95302a13f 100644\n--- a/drivers/common/sfc_efx/base/rhead_impl.h\n+++ b/drivers/common/sfc_efx/base/rhead_impl.h\n@@ -98,6 +98,61 @@ rhead_nic_unprobe(\n \t__in\t\tefx_nic_t *enp);\n \n \n+/* INTR */\n+\n+LIBEFX_INTERNAL\n+extern\t__checkReturn\tefx_rc_t\n+rhead_intr_init(\n+\t__in\t\tefx_nic_t *enp,\n+\t__in\t\tefx_intr_type_t type,\n+\t__in\t\tefsys_mem_t *esmp);\n+\n+LIBEFX_INTERNAL\n+extern\t\t\tvoid\n+rhead_intr_enable(\n+\t__in\t\tefx_nic_t *enp);\n+\n+LIBEFX_INTERNAL\n+extern\t\t\tvoid\n+rhead_intr_disable(\n+\t__in\t\tefx_nic_t *enp);\n+\n+LIBEFX_INTERNAL\n+extern\t\t\tvoid\n+rhead_intr_disable_unlocked(\n+\t__in\t\tefx_nic_t *enp);\n+\n+LIBEFX_INTERNAL\n+extern\t__checkReturn\tefx_rc_t\n+rhead_intr_trigger(\n+\t__in\t\tefx_nic_t *enp,\n+\t__in\t\tunsigned int level);\n+\n+LIBEFX_INTERNAL\n+extern\t\t\tvoid\n+rhead_intr_status_line(\n+\t__in\t\tefx_nic_t *enp,\n+\t__out\t\tboolean_t *fatalp,\n+\t__out\t\tuint32_t *qmaskp);\n+\n+LIBEFX_INTERNAL\n+extern\t\t\tvoid\n+rhead_intr_status_message(\n+\t__in\t\tefx_nic_t *enp,\n+\t__in\t\tunsigned int message,\n+\t__out\t\tboolean_t *fatalp);\n+\n+LIBEFX_INTERNAL\n+extern\t\t\tvoid\n+rhead_intr_fatal(\n+\t__in\t\tefx_nic_t *enp);\n+\n+LIBEFX_INTERNAL\n+extern\t\t\tvoid\n+rhead_intr_fini(\n+\t__in\t\tefx_nic_t *enp);\n+\n+\n #ifdef\t__cplusplus\n }\n #endif\ndiff --git a/drivers/common/sfc_efx/base/rhead_intr.c b/drivers/common/sfc_efx/base/rhead_intr.c\nnew file mode 100644\nindex 0000000000..08c770529f\n--- /dev/null\n+++ b/drivers/common/sfc_efx/base/rhead_intr.c\n@@ -0,0 +1,104 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ *\n+ * Copyright(c) 2019-2020 Xilinx, Inc.\n+ * Copyright(c) 2018-2019 Solarflare Communications Inc.\n+ */\n+\n+#include \"efx.h\"\n+#include \"efx_impl.h\"\n+\n+\n+#if EFSYS_OPT_RIVERHEAD\n+\n+\t__checkReturn\tefx_rc_t\n+rhead_intr_init(\n+\t__in\t\tefx_nic_t *enp,\n+\t__in\t\tefx_intr_type_t type,\n+\t__in\t\tefsys_mem_t *esmp)\n+{\n+\t_NOTE(ARGUNUSED(enp, type, esmp))\n+\n+\treturn (0);\n+}\n+\n+\n+\t\t\tvoid\n+rhead_intr_enable(\n+\t__in\t\tefx_nic_t *enp)\n+{\n+\t_NOTE(ARGUNUSED(enp))\n+}\n+\n+\n+\t\t\tvoid\n+rhead_intr_disable(\n+\t__in\t\tefx_nic_t *enp)\n+{\n+\t_NOTE(ARGUNUSED(enp))\n+}\n+\n+\n+\t\t\tvoid\n+rhead_intr_disable_unlocked(\n+\t__in\t\tefx_nic_t *enp)\n+{\n+\t_NOTE(ARGUNUSED(enp))\n+}\n+\n+\t__checkReturn\tefx_rc_t\n+rhead_intr_trigger(\n+\t__in\t\tefx_nic_t *enp,\n+\t__in\t\tunsigned int level)\n+{\n+\t_NOTE(ARGUNUSED(enp, level))\n+\n+\treturn (ENOTSUP);\n+}\n+\n+\t\t\tvoid\n+rhead_intr_status_line(\n+\t__in\t\tefx_nic_t *enp,\n+\t__out\t\tboolean_t *fatalp,\n+\t__out\t\tuint32_t *qmaskp)\n+{\n+\t_NOTE(ARGUNUSED(enp, qmaskp))\n+\n+\t/*\n+\t * Riverhead does not support line interrupts,\n+\t * so this function should never be called.\n+\t */\n+\n+\t/* Fatal errors are reported via events */\n+\t*fatalp = B_FALSE;\n+}\n+\n+\t\t\tvoid\n+rhead_intr_status_message(\n+\t__in\t\tefx_nic_t *enp,\n+\t__in\t\tunsigned int message,\n+\t__out\t\tboolean_t *fatalp)\n+{\n+\tEFSYS_ASSERT(enp->en_family == EFX_FAMILY_RIVERHEAD);\n+\n+\t_NOTE(ARGUNUSED(enp, message))\n+\n+\t/* Fatal errors are reported via events */\n+\t*fatalp = B_FALSE;\n+}\n+\n+\t\t\tvoid\n+rhead_intr_fatal(\n+\t__in\t\tefx_nic_t *enp)\n+{\n+\t/* Fatal errors are reported via events */\n+\t_NOTE(ARGUNUSED(enp))\n+}\n+\n+\t\t\tvoid\n+rhead_intr_fini(\n+\t__in\t\tefx_nic_t *enp)\n+{\n+\t_NOTE(ARGUNUSED(enp))\n+}\n+\n+#endif\t/* EFSYS_OPT_RIVERHEAD */\n",
    "prefixes": [
        "v3",
        "18/60"
    ]
}