Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/63588/?format=api
http://patchwork.dpdk.org/api/patches/63588/?format=api", "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20191205123847.39579-7-qi.z.zhang@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": "<20191205123847.39579-7-qi.z.zhang@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20191205123847.39579-7-qi.z.zhang@intel.com", "date": "2019-12-05T12:38:41", "name": "[06/12] net/ice/base: enable clearing of the HW tables", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "c5b796c986317739a7429475f753d60c4bb9e0a6", "submitter": { "id": 504, "url": "http://patchwork.dpdk.org/api/people/504/?format=api", "name": "Qi Zhang", "email": "qi.z.zhang@intel.com" }, "delegate": { "id": 31221, "url": "http://patchwork.dpdk.org/api/users/31221/?format=api", "username": "yexl", "first_name": "xiaolong", "last_name": "ye", "email": "xiaolong.ye@intel.com" }, "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20191205123847.39579-7-qi.z.zhang@intel.com/mbox/", "series": [ { "id": 7737, "url": "http://patchwork.dpdk.org/api/series/7737/?format=api", "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=7737", "date": "2019-12-05T12:38:35", "name": "base code update", "version": 1, "mbox": "http://patchwork.dpdk.org/series/7737/mbox/" } ], "comments": "http://patchwork.dpdk.org/api/patches/63588/comments/", "check": "success", "checks": "http://patchwork.dpdk.org/api/patches/63588/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 C38FDA04F2;\n\tThu, 5 Dec 2019 13:36:47 +0100 (CET)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 556681BFAF;\n\tThu, 5 Dec 2019 13:36:01 +0100 (CET)", "from mga11.intel.com (mga11.intel.com [192.55.52.93])\n by dpdk.org (Postfix) with ESMTP id 8ECF71BF94\n for <dev@dpdk.org>; Thu, 5 Dec 2019 13:35:50 +0100 (CET)", "from fmsmga008.fm.intel.com ([10.253.24.58])\n by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n 05 Dec 2019 04:35:50 -0800", "from dpdk51.sh.intel.com ([10.67.110.245])\n by fmsmga008.fm.intel.com with ESMTP; 05 Dec 2019 04:35:48 -0800" ], "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.69,281,1571727600\"; d=\"scan'208\";a=\"209122745\"", "From": "Qi Zhang <qi.z.zhang@intel.com>", "To": "qiming.yang@intel.com", "Cc": "xiaolong.ye@intel.com, dev@dpdk.org, Qi Zhang <qi.z.zhang@intel.com>,\n Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>", "Date": "Thu, 5 Dec 2019 20:38:41 +0800", "Message-Id": "<20191205123847.39579-7-qi.z.zhang@intel.com>", "X-Mailer": "git-send-email 2.13.6", "In-Reply-To": "<20191205123847.39579-1-qi.z.zhang@intel.com>", "References": "<20191205123847.39579-1-qi.z.zhang@intel.com>", "Subject": "[dpdk-dev] [PATCH 06/12] net/ice/base: enable clearing of the HW\n\ttables", "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": "Enable the code to clear the HW tables.\n\nSigned-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>\nSigned-off-by: Qi Zhang <qi.z.zhang@intel.com>\n---\n drivers/net/ice/base/ice_flex_pipe.c | 55 ++++++++++++++++++++++++++++++++++++\n drivers/net/ice/base/ice_flex_pipe.h | 1 +\n 2 files changed, 56 insertions(+)", "diff": "diff --git a/drivers/net/ice/base/ice_flex_pipe.c b/drivers/net/ice/base/ice_flex_pipe.c\nindex e8d4bbee4..28ac3aa75 100644\n--- a/drivers/net/ice/base/ice_flex_pipe.c\n+++ b/drivers/net/ice/base/ice_flex_pipe.c\n@@ -3618,6 +3618,61 @@ static void ice_init_flow_profs(struct ice_hw *hw, u8 blk_idx)\n }\n \n /**\n+ * ice_clear_hw_tbls - clear HW tables and flow profiles\n+ * @hw: pointer to the hardware structure\n+ */\n+void ice_clear_hw_tbls(struct ice_hw *hw)\n+{\n+\tu8 i;\n+\n+\tfor (i = 0; i < ICE_BLK_COUNT; i++) {\n+\t\tstruct ice_prof_redir *prof_redir = &hw->blk[i].prof_redir;\n+\t\tstruct ice_prof_tcam *prof = &hw->blk[i].prof;\n+\t\tstruct ice_xlt1 *xlt1 = &hw->blk[i].xlt1;\n+\t\tstruct ice_xlt2 *xlt2 = &hw->blk[i].xlt2;\n+\t\tstruct ice_es *es = &hw->blk[i].es;\n+\n+\t\tif (hw->blk[i].is_list_init) {\n+\t\t\tice_free_prof_map(hw, i);\n+\t\t\tice_free_flow_profs(hw, i);\n+\t\t}\n+\n+\t\tice_free_vsig_tbl(hw, (enum ice_block)i);\n+\n+\t\tice_memset(xlt1->ptypes, 0, xlt1->count * sizeof(*xlt1->ptypes),\n+\t\t\t ICE_NONDMA_MEM);\n+\t\tice_memset(xlt1->ptg_tbl, 0,\n+\t\t\t ICE_MAX_PTGS * sizeof(*xlt1->ptg_tbl),\n+\t\t\t ICE_NONDMA_MEM);\n+\t\tice_memset(xlt1->t, 0, xlt1->count * sizeof(*xlt1->t),\n+\t\t\t ICE_NONDMA_MEM);\n+\n+\t\tice_memset(xlt2->vsis, 0, xlt2->count * sizeof(*xlt2->vsis),\n+\t\t\t ICE_NONDMA_MEM);\n+\t\tice_memset(xlt2->vsig_tbl, 0,\n+\t\t\t xlt2->count * sizeof(*xlt2->vsig_tbl),\n+\t\t\t ICE_NONDMA_MEM);\n+\t\tice_memset(xlt2->t, 0, xlt2->count * sizeof(*xlt2->t),\n+\t\t\t ICE_NONDMA_MEM);\n+\n+\t\tice_memset(prof->t, 0, prof->count * sizeof(*prof->t),\n+\t\t\t ICE_NONDMA_MEM);\n+\t\tice_memset(prof_redir->t, 0,\n+\t\t\t prof_redir->count * sizeof(*prof_redir->t),\n+\t\t\t ICE_NONDMA_MEM);\n+\n+\t\tice_memset(es->t, 0, es->count * sizeof(*es->t),\n+\t\t\t ICE_NONDMA_MEM);\n+\t\tice_memset(es->ref_count, 0, es->count * sizeof(*es->ref_count),\n+\t\t\t ICE_NONDMA_MEM);\n+\t\tice_memset(es->written, 0, es->count * sizeof(*es->written),\n+\t\t\t ICE_NONDMA_MEM);\n+\t\tice_memset(es->mask_ena, 0, es->count * sizeof(*es->mask_ena),\n+\t\t\t ICE_NONDMA_MEM);\n+\t}\n+}\n+\n+/**\n * ice_init_hw_tbls - init hardware table memory\n * @hw: pointer to the hardware structure\n */\ndiff --git a/drivers/net/ice/base/ice_flex_pipe.h b/drivers/net/ice/base/ice_flex_pipe.h\nindex ee606af15..fa72e386d 100644\n--- a/drivers/net/ice/base/ice_flex_pipe.h\n+++ b/drivers/net/ice/base/ice_flex_pipe.h\n@@ -71,6 +71,7 @@ ice_copy_and_init_pkg(struct ice_hw *hw, const u8 *buf, u32 len);\n enum ice_status ice_init_hw_tbls(struct ice_hw *hw);\n void ice_free_seg(struct ice_hw *hw);\n void ice_fill_blk_tbls(struct ice_hw *hw);\n+void ice_clear_hw_tbls(struct ice_hw *hw);\n void ice_free_hw_tbls(struct ice_hw *hw);\n enum ice_status\n ice_rem_prof(struct ice_hw *hw, enum ice_block blk, u64 id);\n", "prefixes": [ "06/12" ] }{ "id": 63588, "url": "