Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/119054/?format=api
https://patches.dpdk.org/api/patches/119054/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/20221025072302.1683505-1-abhishek.maheshwari@intel.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": "<20221025072302.1683505-1-abhishek.maheshwari@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20221025072302.1683505-1-abhishek.maheshwari@intel.com", "date": "2022-10-25T07:23:02", "name": "vdpa/ifc/base: wait for queue disable before saving q-state", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "1a6fdc20c0a54bb7236b0f7f7ab72520407ed717", "submitter": { "id": 2865, "url": "https://patches.dpdk.org/api/people/2865/?format=api", "name": "Abhishek Maheshwari", "email": "abhishek.maheshwari@intel.com" }, "delegate": { "id": 2642, "url": "https://patches.dpdk.org/api/users/2642/?format=api", "username": "mcoquelin", "first_name": "Maxime", "last_name": "Coquelin", "email": "maxime.coquelin@redhat.com" }, "mbox": "https://patches.dpdk.org/project/dpdk/patch/20221025072302.1683505-1-abhishek.maheshwari@intel.com/mbox/", "series": [ { "id": 25410, "url": "https://patches.dpdk.org/api/series/25410/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=25410", "date": "2022-10-25T07:23:02", "name": "vdpa/ifc/base: wait for queue disable before saving q-state", "version": 1, "mbox": "https://patches.dpdk.org/series/25410/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/119054/comments/", "check": "fail", "checks": "https://patches.dpdk.org/api/patches/119054/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 0C05DA0543;\n\tTue, 25 Oct 2022 09:51:32 +0200 (CEST)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id B86D541143;\n\tTue, 25 Oct 2022 09:51:31 +0200 (CEST)", "from mga07.intel.com (mga07.intel.com [134.134.136.100])\n by mails.dpdk.org (Postfix) with ESMTP id 63118400D6\n for <dev@dpdk.org>; Tue, 25 Oct 2022 09:51:30 +0200 (CEST)", "from orsmga002.jf.intel.com ([10.7.209.21])\n by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 25 Oct 2022 00:51:29 -0700", "from unknown (HELO localhost.localdomain) ([10.190.193.12])\n by orsmga002.jf.intel.com with ESMTP; 25 Oct 2022 00:51:27 -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=1666684290; x=1698220290;\n h=from:to:cc:subject:date:message-id:mime-version:\n content-transfer-encoding;\n bh=vJRcfjMg8ZKAjM3XzOJWo13xjo6G6kM6OxWnjQtr1UM=;\n b=PORoQ36aaWVf0h3TwE0DWOZToW8I1T9jgtNF2Pd3qECH/rRhYUQ+xZly\n jd6UQW38g+G5SMARLn68EcfNDCLGBQ7aWLPWtrxp161nNBfbgMmAPuyUZ\n YF8a0qqY8Vom/T0eL1ACg71d9ir/M+5jIb1HB7xwr7XZClak14LB4x8Z2\n rZxe8Xpqvv7gw8OnwNt89qNJkMS0COCY+4nYtp+d50UMT3TG7vmrnGIgB\n Re+AGajrti8xIw4XuUOR4WWaiSS1xbSx64ezRKVTQH9kQADHs4Io+K53H\n V97xn+JzER8ii+5lBdXIRXIa461Ka5hW1MoQGYTcX732KJ/WAmvIruWop A==;", "X-IronPort-AV": [ "E=McAfee;i=\"6500,9779,10510\"; a=\"371829496\"", "E=Sophos;i=\"5.95,211,1661842800\"; d=\"scan'208\";a=\"371829496\"", "E=McAfee;i=\"6500,9779,10510\"; a=\"631544789\"", "E=Sophos;i=\"5.95,211,1661842800\"; d=\"scan'208\";a=\"631544789\"" ], "X-ExtLoop1": "1", "From": "Abhishek Maheshwari <abhishek.maheshwari@intel.com>", "To": "abhishek.maheshwari@intel.com", "Cc": "dev@dpdk.org,\n\tchenbo.xia@intel.com,\n\tpurna.chandra.mandal@intel.com", "Subject": "[PATCH] vdpa/ifc/base: wait for queue disable before saving q-state", "Date": "Tue, 25 Oct 2022 12:53:02 +0530", "Message-Id": "<20221025072302.1683505-1-abhishek.maheshwari@intel.com>", "X-Mailer": "git-send-email 2.31.1", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "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": "Some ifc hardware require synchronization between disabling a queue and\nsaving queue-state from LM registers. When queue is disabled from vDPA\ndriver, ifc device stops executing new virtio-cmds and then updates LM\nregisters with used/avail index. Before saving the queue-state, vDPA\ndriver should wait until the queue is disabled from backend.\n\nSigned-off-by: Abhishek Maheshwari <abhishek.maheshwari@intel.com>\n---\n drivers/vdpa/ifc/base/ifcvf.c | 15 +++++++++++++++\n 1 file changed, 15 insertions(+)", "diff": "diff --git a/drivers/vdpa/ifc/base/ifcvf.c b/drivers/vdpa/ifc/base/ifcvf.c\nindex f1e1474447..fb51c793a2 100644\n--- a/drivers/vdpa/ifc/base/ifcvf.c\n+++ b/drivers/vdpa/ifc/base/ifcvf.c\n@@ -257,6 +257,7 @@ ifcvf_hw_disable(struct ifcvf_hw *hw)\n \tu32 i;\n \tstruct ifcvf_pci_common_cfg *cfg;\n \tu32 ring_state;\n+\tint q_disable_tries;\n \n \tcfg = hw->common_cfg;\n \tif (!cfg) {\n@@ -275,6 +276,20 @@ ifcvf_hw_disable(struct ifcvf_hw *hw)\n \t\t\tcontinue;\n \t\t}\n \n+ /* Some ifc hardware require synchronization between disabling a queue\n+ * and saving queue-state from LM registers.\n+ * When queue is disabled from vDPA driver, ifc device stops executing\n+ * new virtio-cmds and then updates LM registers with used/avail index.\n+ * Before saving the queue-state, vDPA driver waits until the queue is\n+ * disabled from backend.\n+\t\t */\n+\t\tq_disable_tries = 10;\n+\t\twhile (q_disable_tries-- && IFCVF_READ_REG16(&cfg->queue_enable))\n+\t\t\tmsec_delay(10);\n+\n+\t\tif (IFCVF_READ_REG16(&cfg->queue_enable))\n+\t\t\tWARNINGOUT(\"Failed Q disable: %d. saved state is invalid\\n\", i);\n+\n \t\tif (hw->device_type == IFCVF_BLK)\n \t\t\tring_state = *(u32 *)(hw->lm_cfg +\n \t\t\t\t\tIFCVF_LM_RING_STATE_OFFSET +\n", "prefixes": [] }{ "id": 119054, "url": "