get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 115346,
    "url": "http://patches.dpdk.org/api/patches/115346/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1661229305-240952-7-git-send-email-andy.pei@intel.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": "<1661229305-240952-7-git-send-email-andy.pei@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1661229305-240952-7-git-send-email-andy.pei@intel.com",
    "date": "2022-08-23T04:35:03",
    "name": "[6/8] vdpa/ifc: set vring state callback update data path",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "e66ecaad696503a703d1e4b622b5ab49588bb266",
    "submitter": {
        "id": 1185,
        "url": "http://patches.dpdk.org/api/people/1185/?format=api",
        "name": "Pei, Andy",
        "email": "andy.pei@intel.com"
    },
    "delegate": {
        "id": 2642,
        "url": "http://patches.dpdk.org/api/users/2642/?format=api",
        "username": "mcoquelin",
        "first_name": "Maxime",
        "last_name": "Coquelin",
        "email": "maxime.coquelin@redhat.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1661229305-240952-7-git-send-email-andy.pei@intel.com/mbox/",
    "series": [
        {
            "id": 24387,
            "url": "http://patches.dpdk.org/api/series/24387/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=24387",
            "date": "2022-08-23T04:34:57",
            "name": "add multi queue support to vDPA ifc driver",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/24387/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/115346/comments/",
    "check": "warning",
    "checks": "http://patches.dpdk.org/api/patches/115346/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 mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 9C6CCA0093;\n\tTue, 23 Aug 2022 07:25:18 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 04329427EC;\n\tTue, 23 Aug 2022 07:25:00 +0200 (CEST)",
            "from mga06.intel.com (mga06b.intel.com [134.134.136.31])\n by mails.dpdk.org (Postfix) with ESMTP id 7BE664282D\n for <dev@dpdk.org>; Tue, 23 Aug 2022 07:24:58 +0200 (CEST)",
            "from fmsmga008.fm.intel.com ([10.253.24.58])\n by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 22 Aug 2022 22:24:58 -0700",
            "from dpdk-dipei.sh.intel.com ([10.67.110.251])\n by fmsmga008.fm.intel.com with ESMTP; 22 Aug 2022 22:24:56 -0700"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1661232298; x=1692768298;\n h=from:to:cc:subject:date:message-id:in-reply-to: references;\n bh=5AXOpeePn1UowgYWzlVi6v5rkeYV+FgRpf/ICfZ+F4U=;\n b=JHuxwm6vznsDGceqjU6BJNZcfxaIfOry9Ez/Lvm+JaV54Cl2RgFgh9Up\n wB8+VJZtOuxDW1yoTjZ0it+ghhGbt3R1xn8DJrquOLtOj4Ut2ECDAoqnZ\n SWpIzJEKo4l1VuuTqcG3ecJw+mattWAt3rcq/MMhEpvgzrzSI8O4ZF1Jq\n rGVzBXZwudKLWMgmspSOLtlolsG38eRO3/DUugJFOee2m/WBB2wYeOYyy\n vetRmDufAwg5RszDx2F7FDl0+cSFeaekUzJj23fddtBNYJ27hnyK8AbgS\n maOLiWux74lYAEiFY6Zq2azr/Avj+H2RACCKBry5fGpNhbDFl7GzI6wjF g==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6500,9779,10447\"; a=\"355325322\"",
            "E=Sophos;i=\"5.93,256,1654585200\"; d=\"scan'208\";a=\"355325322\"",
            "E=Sophos;i=\"5.93,256,1654585200\"; d=\"scan'208\";a=\"669864781\""
        ],
        "X-ExtLoop1": "1",
        "From": "Andy Pei <andy.pei@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "chenbo.xia@intel.com, rosen.xu@intel.com, wei.huang@intel.com,\n gang.cao@intel.com, maxime.coquelin@redhat.com",
        "Subject": "[PATCH 6/8] vdpa/ifc: set vring state callback update data path",
        "Date": "Tue, 23 Aug 2022 12:35:03 +0800",
        "Message-Id": "<1661229305-240952-7-git-send-email-andy.pei@intel.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1661229305-240952-1-git-send-email-andy.pei@intel.com>",
        "References": "<1661229305-240952-1-git-send-email-andy.pei@intel.com>",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "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"
    },
    "content": "To support multi queue, in the case that first queue is ready\nand device is configured, when more queues need to be configured,\nwe just close and restart data path.\nThis also fix the situation that using set_vring_state callback\nto disable one queue will cause all vfio interrupts being disabled.\n\nSigned-off-by: Andy Pei <andy.pei@intel.com>\n---\n drivers/vdpa/ifc/ifcvf_vdpa.c | 27 +++++++++------------------\n 1 file changed, 9 insertions(+), 18 deletions(-)",
    "diff": "diff --git a/drivers/vdpa/ifc/ifcvf_vdpa.c b/drivers/vdpa/ifc/ifcvf_vdpa.c\nindex a62bcec..94c8ef1 100644\n--- a/drivers/vdpa/ifc/ifcvf_vdpa.c\n+++ b/drivers/vdpa/ifc/ifcvf_vdpa.c\n@@ -1286,8 +1286,6 @@ struct rte_vdpa_dev_info {\n \tstruct internal_list *list;\n \tstruct ifcvf_internal *internal;\n \tstruct ifcvf_hw *hw;\n-\tstruct ifcvf_pci_common_cfg *cfg;\n-\tint ret = 0;\n \n \tvdev = rte_vhost_get_vdpa_device(vid);\n \tlist = find_internal_resource_by_vdev(vdev);\n@@ -1303,27 +1301,20 @@ struct rte_vdpa_dev_info {\n \t}\n \n \thw = &internal->hw;\n-\tif (!internal->configured)\n-\t\tgoto exit;\n \n-\tcfg = hw->common_cfg;\n-\tIFCVF_WRITE_REG16(vring, &cfg->queue_select);\n-\tIFCVF_WRITE_REG16(!!state, &cfg->queue_enable);\n+\thw->vring[vring].enable = !!state;\n \n-\tif (!state && hw->vring[vring].enable) {\n-\t\tret = vdpa_disable_vfio_intr(internal);\n-\t\tif (ret)\n-\t\t\treturn ret;\n-\t}\n+\tif (!internal->configured)\n+\t\tgoto exit;\n \n-\tif (state && !hw->vring[vring].enable) {\n-\t\tret = vdpa_enable_vfio_intr(internal, false);\n-\t\tif (ret)\n-\t\t\treturn ret;\n-\t}\n+\t/* close data path */\n+\trte_atomic32_set(&internal->dev_attached, 0);\n+\tupdate_datapath(internal);\n \n+\t/* restart data path */\n+\trte_atomic32_set(&internal->dev_attached, 1);\n+\tupdate_datapath(internal);\n exit:\n-\thw->vring[vring].enable = !!state;\n \treturn 0;\n }\n \n",
    "prefixes": [
        "6/8"
    ]
}